A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/aiopg/aiopg.html below:

Website Navigation


OpenTelemetry aiopg Instrumentation — OpenTelemetry Python Contrib documentation

OpenTelemetry aiopg Instrumentation

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

Usage
import asyncio
import aiopg
from opentelemetry.instrumentation.aiopg import AiopgInstrumentor
# Call instrument() to wrap all database connections
AiopgInstrumentor().instrument()

dsn = 'user=user password=password host=127.0.0.1'

async def connect():
    cnx = await aiopg.connect(dsn)
    cursor = await cnx.cursor()
    await cursor.execute("CREATE TABLE IF NOT EXISTS test (testField INTEGER)")
    await cursor.execute("INSERT INTO test (testField) VALUES (123)")
    cursor.close()
    cnx.close()

async def create_pool():
    pool = await aiopg.create_pool(dsn)
    cnx = await pool.acquire()
    cursor = await cnx.cursor()
    await cursor.execute("CREATE TABLE IF NOT EXISTS test (testField INTEGER)")
    await cursor.execute("INSERT INTO test (testField) VALUES (123)")
    cursor.close()
    cnx.close()

asyncio.run(connect())
asyncio.run(create_pool())
import asyncio
import aiopg
from opentelemetry.instrumentation.aiopg import AiopgInstrumentor

dsn = 'user=user password=password host=127.0.0.1'

# Alternatively, use instrument_connection for an individual connection
async def go():
    cnx = await aiopg.connect(dsn)
    instrumented_cnx = AiopgInstrumentor().instrument_connection(cnx)
    cursor = await instrumented_cnx.cursor()
    await cursor.execute("CREATE TABLE IF NOT EXISTS test (testField INTEGER)")
    await cursor.execute("INSERT INTO test (testField) VALUES (123)")
    cursor.close()
    instrumented_cnx.close()

asyncio.run(go())
API
class opentelemetry.instrumentation.aiopg.AiopgInstrumentor(*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.

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.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4