mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-29 21:23:55 +08:00
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import asyncpg
|
|
from asyncpg import Connection
|
|
|
|
from opentelemetry.instrumentation.asyncpg import AsyncPGInstrumentor
|
|
from opentelemetry.test.test_base import TestBase
|
|
|
|
|
|
class TestAsyncPGInstrumentation(TestBase):
|
|
def test_instrumentation_flags(self):
|
|
AsyncPGInstrumentor().instrument()
|
|
self.assertTrue(hasattr(asyncpg, "_opentelemetry_tracer"))
|
|
AsyncPGInstrumentor().uninstrument()
|
|
self.assertFalse(hasattr(asyncpg, "_opentelemetry_tracer"))
|
|
|
|
def test_duplicated_instrumentation(self):
|
|
AsyncPGInstrumentor().instrument()
|
|
AsyncPGInstrumentor().instrument()
|
|
AsyncPGInstrumentor().instrument()
|
|
AsyncPGInstrumentor().uninstrument()
|
|
for method_name in ["execute", "fetch"]:
|
|
method = getattr(Connection, method_name, None)
|
|
self.assertFalse(
|
|
hasattr(method, "_opentelemetry_ext_asyncpg_applied")
|
|
)
|
|
|
|
def test_duplicated_uninstrumentation(self):
|
|
AsyncPGInstrumentor().instrument()
|
|
AsyncPGInstrumentor().uninstrument()
|
|
AsyncPGInstrumentor().uninstrument()
|
|
AsyncPGInstrumentor().uninstrument()
|
|
for method_name in ["execute", "fetch"]:
|
|
method = getattr(Connection, method_name, None)
|
|
self.assertFalse(
|
|
hasattr(method, "_opentelemetry_ext_asyncpg_applied")
|
|
)
|