OpenTelemetry pymssql Instrumentation
The integration with pymssql supports the pymssql library and can be enabled
by using PyMSSQLInstrumentor
.
Usage
import pymssql
from opentelemetry.instrumentation.pymssql import PyMSSQLInstrumentor
PyMSSQLInstrumentor().instrument()
cnx = pymssql.connect(database="MSSQL_Database")
cursor = cnx.cursor()
cursor.execute("INSERT INTO test (testField) VALUES (123)"
cnx.commit()
cursor.close()
cnx.close()
import pymssql
from opentelemetry.instrumentation.pymssql import PyMSSQLInstrumentor
# Alternatively, use instrument_connection for an individual connection
cnx = pymssql.connect(database="MSSQL_Database")
instrumented_cnx = PyMSSQLInstrumentor().instrument_connection(cnx)
cursor = instrumented_cnx.cursor()
cursor.execute("INSERT INTO test (testField) VALUES (123)"
instrumented_cnx.commit()
cursor.close()
instrumented_cnx.close()
API
The instrument method accepts the following keyword args:
tracer_provider (TracerProvider) - an optional tracer provider
For example:
- class opentelemetry.instrumentation.pymssql.PyMSSQLInstrumentor(*args, **kwargs)[source]
Bases:
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.
- static instrument_connection(connection, tracer_provider=None)[source]
Enable instrumentation in a pymssql connection.
- Parameters:
connection – The connection to instrument.
tracer_provider – The optional tracer provider to use. If omitted the current globally configured one is used.
- Returns:
An instrumented connection.