opencensus-cpp
opencensus-cpp copied to clipboard
A stats collection and distributed tracing framework
OpenCensus - A stats collection and distributed tracing framework
OpenCensus is a toolkit for collecting application performance and behavior data. It currently includes an API for tracing and stats.
This library is currently in alpha: the API is in the process of being finalized; much of the implementation will be replaced with a more optimized one in the near future.
Please join gitter for help or feedback on this project.
This is not an officially supported Google product.
Quickstart
Please refer to examples/helloworld/
for an example of
instrumentation with OpenCensus.
Please refer to examples/grpc/
for an example RPC
server that integrates gRPC, Stackdriver, and Prometheus.
Please refer to
trace/examples/span_example.cc
for tracing and
stats/examples/view_and_recording_example.cc
for stats.
Directory structure
-
opencensus/
prefix to get#include
paths likeopencensus/trace/span.h
-
common/
- Provides common libraries and components for OpenCensus. -
doc/
- Documentation for our APIs, coding style, etc. -
exporters/
- Exporters send stats and traces to monitoring services. -
plugins/
- Plugins add OpenCensus instrumentation to frameworks. -
stats/
- OpenCensus stats API. -
trace/
- OpenCensus tracing API.
-
Language support
- STL is required. (e.g.
libstdc++
,libc++
, etc) - C++11 is required.
-
absl
is used for its building blocks. -
googletest
is used for tests. -
benchmark
is used for benchmarking. - We do not depend on:
- Boost
- Exception handling
- RTTI
Compiler support
We are targeting the following compilers:
- gcc 4.8.1
- clang 3.4
- Microsoft Visual Studio 2017 15.9 (see the appveyor documentation for the exact version)