OpenCensus Proto Definitions

0.1.0 · deprecated · verified Fri Apr 17

The `opencensus-proto` library provides the Python-generated Protobuf definitions for the OpenCensus project. These definitions cover tracing, metrics, and agent protocols. While the GitHub repository for the proto definitions is actively maintained, the Python package on PyPI (version 0.1.0) has not been updated since 2019. OpenCensus itself has been officially deprecated in favor of OpenTelemetry.

Common errors

Warnings

Install

Imports

Quickstart

This example demonstrates how to import a Protobuf message definition (e.g., `Span`) and instantiate it. Since `opencensus-proto` only provides definitions, usage primarily involves creating and manipulating these message objects.

import sys
from opencensus.proto.trace.v1 import trace_pb2

# Create a Span message
span = trace_pb2.Span(
    trace_id=b'0123456789abcdef0123456789abcdef',
    span_id=b'fedcba9876543210',
    name=trace_pb2.TruncatableString(value='my_span_name'),
    kind=trace_pb2.Span.SPAN_KIND_CLIENT,
    start_time={'seconds': 1678886400, 'nanos': 0},
    end_time={'seconds': 1678886400, 'nanos': 100000000}
)

print(f"Created Span name: {span.name.value}")
print(f"Span ID: {span.span_id.hex()}")

# To serialize to bytes
serialized_span = span.SerializeToString()
print(f"Serialized Span (first 20 bytes): {serialized_span[:20]}")

# To parse from bytes
parsed_span = trace_pb2.Span()
parsed_span.ParseFromString(serialized_span)
print(f"Parsed Span name: {parsed_span.name.value}")

view raw JSON →