ToolsDevler / monstar

A C++ library for MONitoring an application and sending data to grafana to generate STAtistics and Reporting.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

monstar

A C++ library for MONitoring an application and sending data to grafana to generate STAtistics and Reporting.

Building

You can see the .travis.yml file for details.

Dependencies

I have included spdlog and Catch2 as submodules. I assume libfmt is installed as a dependency.

Build steps

The usual cmake build structure

git submodule init
git submodule update
mkdir build
cd build
cmake ..
make

Purpose

MONSTAR is a library I created to simplify monitoring C++ applications using Grafana together with Elasticsearch and Graphite.

Use Cases

Monstar currently supports three use cases:

  • In instant simple numeric information in Graphite.
  • In instant scope benchmarking.
  • Event based message transation to time-series data. This currently only supports Elasticsearch data.

The easiest way to get started with MONSTAR is probably to work through the examples in the examples directory. At the moment those only cover the last use-case, but there are examples of the other two use cases within the implementation of MONSTAR.

More examples to come.

Warning:

While I hope this is already useful for people, the project is not partiularly mature. I am actively developing and testing the library, so the interface is subject to change, and there’s probably a lot of errors and suboptimal stuff. Feedbacck and pull requests are welcome!

TODO’S

Make a fwd decl header.

Accept streams for logging.

About

A C++ library for MONitoring an application and sending data to grafana to generate STAtistics and Reporting.

License:GNU Lesser General Public License v3.0


Languages

Language:C++ 93.0%Language:CMake 7.0%