opentelemetry.instrumentation.instrumentor package

OpenTelemetry Base Instrumentor

class opentelemetry.instrumentation.instrumentor.BaseInstrumentor[source]

Bases: abc.ABC

An ABC for instrumentors

Child classes of this ABC should instrument specific third party libraries or frameworks either by using the opentelemetry-instrument command or by calling their methods directly.

Since every third party library or framework is different and has different instrumentation needs, more methods can be added to the child classes as needed to provide practical instrumentation to the end user.

instrument(**kwargs)[source]

Instrument the library

This method will be called without any optional arguments by the opentelemetry-instrument command. The configuration of the instrumentation when done in this way should be done by previously setting the configuration (using environment variables or any other mechanism) that will be used later by the code in the instrument implementation via the global Configuration object.

The instrument methods kwargs should default to values from the Configuration object.

This means that calling this method directly without passing any optional values should do the very same thing that the opentelemetry-instrument command does. This approach is followed because the Configuration object is immutable.

uninstrument(**kwargs)[source]

Uninstrument the library

See BaseInstrumentor.instrument for more information regarding the usage of kwargs.