README

OpenCensus Binary Propagation Format

The Problem

The ocgrpc GRPC plugin for OpenCensus is hard-coded to use a Binary propagation format.

A GRPC client and server that use OpenCensus cannot easily migrate to OpenTelemetry because there will be a period of time during which one will use OpenCensus and the other will use OpenTelemetry. If both client and server export spans to the same trace backend, the server spans will not be a child of the client spans, because they are using different propagation formats. To be able to easily migrate from OpenCensus to OpenTelemetry, it is necessary to use the OpenCensus binary propagation format with OpenTelemetry.

Usage

To add the binary propagation format with otelgrpc, use the WithPropagators option to the otelgrpc Interceptors:

import "go.opentelemetry.io/contrib/propagators/opencensus"

opt := otelgrpc.WithPropagators(opencensus.Binary{})

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Binary

type Binary struct{}

Binary is an OpenTelemetry implementation of the OpenCensus grpc binary format. Binary propagation was temporarily removed from opentelemetry. See https://github.com/open-telemetry/opentelemetry-specification/issues/437

func (Binary) Extract

Extract extracts the SpanContext from the TextMapCarrier

func (Binary) Fields

func (b Binary) Fields() []string

Fields returns the fields that this propagator modifies.

func (Binary) Inject

func (b Binary) Inject(ctx context.Context, carrier propagation.TextMapCarrier)

Inject injects context into the TextMapCarrier

Source Files

Directories

Path Synopsis
examples module