Python OpenTracing
Datadog's Research Report: The State of Serverless Report: The State of Serverless

Python OpenTracing

Setup

OpenTracing support is included in the ddtrace package. Use pip to install the required opentracing package :

pip install ddtrace[opentracing]

Usage

The OpenTracing convention for initializing a tracer is to define an initialization method that configures and instantiates a new tracer and overwrites the global opentracing.tracer reference:

import time
import opentracing
from ddtrace.opentracer import Tracer, set_global_tracer

def init_tracer(service_name):
    config = {
      'agent_hostname': 'localhost',
      'agent_port': 8126,
    }
    tracer = Tracer(service_name, config=config)
    set_global_tracer(tracer)
    return tracer

def my_operation():
  span = opentracing.tracer.start_span('<OPERATION_NAME>')
  span.set_tag('<TAG_KEY>', '<TAG_VALUE>')
  time.sleep(0.05)
  span.finish()

init_tracer('<SERVICE_NAME>')
my_operation()

For more advanced usage and configuration information see Datadog Python Opentracing API docs and the Python OpenTracing repo.

Further Reading