___ _____ ____ ____ ____
/ _ \ _ __ ___ _ _|_ _/ ___|| _ \| __ )
| | | | '_ \ / _ \ '_ \| | \___ \| | | | _ \
| |_| | |_) | __/ | | | | ___) | |_| | |_) |
\___/| .__/ \___|_| |_|_| |____/|____/|____/
|_| The modern time series database.
Version 3 of OpenTSDB is currently in a development state. APIs and data structures are expected to change before moving to the "put" branch where development should stabilize. But please take a look, contribute and let us know what you think.
OpenTSDB is a distributed, scalable Time Series Database (TSDB) capable of handling millions of data points per second. OpenTSDB was originally written to address a common need: store, index and serve metrics collected from computer systems (network gear, operating systems, applications) at a large scale, and make this data easily accessible and graphable.
OpenTSDB is free software and is available under both LGPLv2.1+ and GPLv3+.
Documentation for OpenTSDB can be found at http://opentsdb.net
As of OpenTSDB 3.0, the code repository has undergone a major renovation and re-write. This is done with the goal of making OpenTSDB much more extensible for future growth in the time series domain. The new layout is based on a multi-module Maven build with the following modules:
- [common] (https://github.com/OpenTSDB/opentsdb/tree/3.0/common) - Common utilities and classes shared by all of OpenTSDB's code base (as well, possibly, as external tools).
- [core] (https://github.com/OpenTSDB/opentsdb/tree/3.0/core) - Classes such as interfaces, plugins and utilities required by various OpenTSDB components. These include the query pipeline, plugin definitions, storage definitions and the main TSDB.java class that behaves as the central client or server object.
- [executors] (https://github.com/OpenTSDB/opentsdb/tree/3.0/executors) - Various implementations of query executors that may interact with various data stores.
- [implementation] (https://github.com/OpenTSDB/opentsdb/tree/3.0/implementation) - Miscellaneous implementations of OpenTSDB plugins and or servers.
- [distribution] (https://github.com/OpenTSDB/opentsdb/tree/3.0/distribution) - The build module that compiles various distributions such as package manager packages or Docker images.
- [storage] (https://github.com/OpenTSDB/opentsdb/tree/3.0/storage) - Storage implementations such as the original HBase schema.
Each module and sub-module should have readmes with more details when appropriate. Also see the main OpenTSDB documentation.
For a quick start with OpenTSDB 3.0, see the [Undertow Server] (https://github.com/OpenTSDB/opentsdb/tree/3.0/implementation/server-undertow) implementation. We'll have more info and better docs as we flesh out 3.0.
And of course, OpenTSDB 3.0 is backwards compatible with previous versions.