Giter Site home page Giter Site logo

deciduosity / ftdc Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 469 KB

tools for collecting, compressing, and using a space-efficient columnar data format based on a document model (bson) and designed for timeseries data.

License: Apache License 2.0

Go 97.87% Makefile 2.13%
bson timeseries timeseries-data columnar-format compression

ftdc's Introduction

ftdc -- Golang FTDC Parsing and Generating Library

Overview

FTDC, originally short for full time diagnostic data capture, is MongoDB's internal diagnostic data collection facility. It encodes data in a space-efficient format, which allows MongoDB to record diagnostic information every second, and store weeks of data with only a few hundred megabytes of storage.

The FTDC data format is based on BSON, and provides ways to store series of documents with the same schema/structure in a compressed columnar format.

This library provides a fully-featured and easy to use toolkit for interacting data stored in this format in Go programs. The library itself originated as a project by 2016 Summer interns at MongoDB but has diverged substantially since then, and adds features for generating data in this format.

Use

All documentation is in the godoc.

This library is available for use under the terms of Apache License.

Features

This library supports parsing of the FTDC data format and several ways of iterating these results. Additionally, it provides the ability to create FTDC payloads, and is the only extant (?) tool for generating FTDC data outside of the MongoDB code base.

The library includes tools for generating FTDC payloads and document streams as well as iterators and tools for accessing data from FTDC files. All functionality is part of the ftdc package, and the API is fully documented.

The events and metrics sub-packages provide higher level functionality for collecting data from performance tests (events), and more generalized system metrics collection (metrics).

Development

This project emerged from work at MongoDB to support this fork drops support older versions of Golang, thereby adding support for modules.

Pull requests are welcome. Feel free to create issues with enhancements or bugs.

ftdc's People

Contributors

julianedwards avatar kimchelly avatar lorepozo avatar tychoish avatar vaelen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.