OpenTelemetry Jinja2 Instrumentation

Usage

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

Usage

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


Jinja2Instrumentor().instrument()

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

API

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

Bases: BaseInstrumentor

An instrumentor for jinja2

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 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.