def test_custom_tracer_provider_instrument_connection(self): resource = resources.Resource.create( {"service.name": "db-test-service"} ) result = self.create_tracer_provider(resource=resource) tracer_provider, exporter = result cnx = async_call(aiopg.connect(database="test")) cnx = AiopgInstrumentor().instrument_connection( cnx, tracer_provider=tracer_provider ) cursor = async_call(cnx.cursor()) query = "SELECT * FROM test" async_call(cursor.execute(query)) spans_list = exporter.get_finished_spans() self.assertEqual(len(spans_list), 1) span = spans_list[0] self.assertEqual( span.resource.attributes["service.name"], "db-test-service" ) self.assertIs(span.resource, resource)
def test_instrument_connection(self): cnx = async_call(aiopg.connect(database="test")) query = "SELECT * FROM test" cursor = async_call(cnx.cursor()) async_call(cursor.execute(query)) spans_list = self.memory_exporter.get_finished_spans() self.assertEqual(len(spans_list), 0) cnx = AiopgInstrumentor().instrument_connection(cnx) cursor = async_call(cnx.cursor()) async_call(cursor.execute(query)) spans_list = self.memory_exporter.get_finished_spans() self.assertEqual(len(spans_list), 1)