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)