OpenTelemetry click Instrumentation
This library allows tracing requests made by the click library.
Installation
pip install opentelemetry-instrumentation-click
Instrument click CLI applications. The instrumentor will avoid instrumenting well-known servers (e.g. flask run and uvicorn) to avoid unexpected effects like every request having the same Trace ID.
Usage
import click
from opentelemetry.instrumentation.click import ClickInstrumentor
ClickInstrumentor().instrument()
@click.command()
def hello():
click.echo(f'Hello world!')
if __name__ == "__main__":
hello()
API
- class opentelemetry.instrumentation.click.ClickInstrumentor(*args, **kwargs)[source]
Bases:
BaseInstrumentor
An instrumentor for click
- 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 pyproject.toml.
For example, if an instrumentation instruments requests 1.x, this method should look like: :rtype:
Collection
[str
]- 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.