OpenTelemetry aiopg Instrumentation

The integration with PostgreSQL supports the aiopg library, it can be enabled by using AiopgInstrumentor.

Usage

import aiopg
from opentelemetry.instrumentation.aiopg import AiopgInstrumentor

AiopgInstrumentor().instrument()

cnx = await aiopg.connect(database='Database')
cursor = await cnx.cursor()
await cursor.execute("INSERT INTO test (testField) VALUES (123)")
cursor.close()
cnx.close()

pool = await aiopg.create_pool(database='Database')
cnx = await pool.acquire()
cursor = await cnx.cursor()
await cursor.execute("INSERT INTO test (testField) VALUES (123)")
cursor.close()
cnx.close()

API

class opentelemetry.instrumentation.aiopg.AiopgInstrumentor(*args, **kwargs)[source]

Bases: opentelemetry.instrumentation.instrumentor.BaseInstrumentor

instrument_connection(connection, tracer_provider=None)[source]

Enable instrumentation in a aiopg 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.

uninstrument_connection(connection)[source]

Disable instrumentation in a aiopg connection.

Parameters

connection – The connection to uninstrument.

Returns

An uninstrumented connection.