GitHunt
KY

kyessenov/opencensus-cpp

A stats collection and distributed tracing framework

OpenCensus - A stats collection and distributed tracing framework

Gitter chat
Travis Build Status
Appveyor Build Status

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 like opencensus/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:

Languages

C++81.8%CMake8.8%Python7.4%Shell1.2%Batchfile0.4%C0.3%Dockerfile0.0%
Apache License 2.0
Created June 25, 2019
Updated June 25, 2019