OpenTelemetry Jinja2 Instrumentation


The OpenTelemetry jinja2 integration traces templates loading, compilation and rendering.


from jinja2 import Environment, FileSystemLoader
from opentelemetry.instrumentation.jinja2 import Jinja2Instrumentor


env = Environment(loader=FileSystemLoader("templates"))
template = env.get_template("mytemplate.html")


class opentelemetry.instrumentation.jinja2.Jinja2Instrumentor(*args, **kwargs)[source]

Bases: BaseInstrumentor

An instrumentor for jinja2

See BaseInstrumentor


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.