prop

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2020 License: MIT Imports: 6 Imported by: 0

README

otel-jaeger-propagator

Jaeger propagator for OpenTelemetry

License Godoc

Usage

package main

import (
        "net/http"

        prop "github.com/seankhliao/otel-jaeger-propagator"
        "go.opentelemetry.io/otel/api/global"
        "go.opentelemetry.io/otel/api/propagation"
)

func main() {
        // global propagation
        global.SetPropagators(
                propagation.WithExtractors(prop.DefaultJaeger),
                propagation.WithInjectors(prop.DefaultJaeger),
        )
}

Propagation format

{trace-id}:{span-id}:{parent-span-id}:{flags}

Propagation is mapped to the core.SpanContext fields:

  • trace-id: SpanContext.TraceID
  • span-oid: SpanContext.SpanID
  • parent-span-id: ignored, injected as 0
  • flags: SpanContext.TraceFlags
    • 0x01 is mapped to core.TraceFlagsSampled
    • all other flags are ignored

notes

Documentation

Index

Constants

View Source
const (
	DefaultTraceContextHeader = "uber-trace-id"
)

Variables

View Source
var (
	DefaultJaeger = Jaeger{
		TraceContextHeader: DefaultTraceContextHeader,
	}
)

Functions

This section is empty.

Types

type Jaeger

type Jaeger struct {
	TraceContextHeader string
}

func (Jaeger) Extract

func (j Jaeger) Extract(ctx context.Context, supplier propagation.HTTPSupplier) context.Context

func (Jaeger) GetAllKeys

func (j Jaeger) GetAllKeys() []string

func (*Jaeger) Inject

func (j *Jaeger) Inject(ctx context.Context, supplier propagation.HTTPSupplier)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL