OpenTelemetry requests Instrumentation

This library allows tracing HTTP requests made by the requests library.

Usage

import requests
from opentelemetry.instrumentation.requests import RequestsInstrumentor

# You can optionally pass a custom TracerProvider to
RequestsInstrumentor.instrument()
response = requests.get(url="https://www.example.org/")

API

opentelemetry.instrumentation.requests.get_default_span_name(method)[source]

Default implementation for name_callback, returns HTTP {method_name}.

class opentelemetry.instrumentation.requests.RequestsInstrumentor(*args, **kwargs)[source]

Bases: opentelemetry.instrumentation.instrumentor.BaseInstrumentor

An instrumentor for requests See BaseInstrumentor

instrumentation_dependencies()[source]

Return a list of python packages with versions that the will be instrumented.

The format should be the same as used in requirements.txt or setup.py.

For example, if an instrumentation instruments requests 1.x, this method should look like:

def instrumentation_dependencies(self) -> Collection[str]:

return [‘requests ~= 1.0’]

This will ensure that the instrumentation will only be used when the specified library is present in the environment.

Return type

Collection[str]

static uninstrument_session(session)[source]

Disables instrumentation on the session object.