This directory tree contains the C++ API and implementation of OpenCensus tracing.
The main entry point to tracing is the span.h
file.
It's a relatively short file and the comments are a reference guide
to the tracing API.
For a quick use guide, look at the examples/
directory.
Also see the tracing tutorial on the OpenCensus website.
-
./
- headers that are the public API for tracing. -
exporter/
- headers that are the public API for trace exporting and in-process storage. -
examples/
- usage examples for the public API. -
internal/
- internal implementation details and tests. Do not include or rely on headers from this directory! -
propagation/
- headers that are the public API for trace propagation, using different encodings.
Span
is the central unit of tracing: Traces are made of Spans.
TraceId
is an opaque token that uniquely identifies a trace.
SpanId
is an opaque token which uniquely identifies a span within a trace.
Sampler
decides whether or not a span will be sampled for export.
SpanContext
consists of TraceId
, SpanId
, and TraceOptions
.
TraceConfig
is a global that holds TraceParams
.
TraceParams
configures the maximum number of Annotations, Attributes,
MessageEvents, and Links, as well as the currently active Sampler
.
The OpenCensus data model follows the Stackdriver tracing data model.
Annotations
contain a text annotation along with a set of attributes.
Attributes
are a map of key/value pairs where the key is a string and
value is either a string, an integer, or a bool.
Links
represent connections between spans in different traces.
MessageEvents
represent messages (e.g. RPCs) that were sent/received between
spans.