def test_patch_unpatch(self): unpatch() # assert we start unpatched conn = pymysql.connect(**MYSQL_CONFIG) assert not Pin.get_from(conn) conn.close() patch() try: tracer = get_dummy_tracer() writer = tracer.writer conn = pymysql.connect(**MYSQL_CONFIG) pin = Pin.get_from(conn) assert pin pin.clone(service=self.TEST_SERVICE, tracer=tracer).onto(conn) assert not conn._closed cursor = conn.cursor() cursor.execute("SELECT 1") rows = cursor.fetchall() eq_(len(rows), 1) spans = writer.pop() eq_(len(spans), 2) span = spans[0] eq_(span.service, self.TEST_SERVICE) eq_(span.name, 'pymysql.query') eq_(span.span_type, 'sql') eq_(span.error, 0) meta = {} meta.update(self.DB_INFO) assert_dict_issuperset(span.meta, meta) fetch_span = spans[1] eq_(fetch_span.name, 'pymysql.query.fetchall') finally: unpatch() # assert we finish unpatched conn = pymysql.connect(**MYSQL_CONFIG) assert not Pin.get_from(conn) conn.close() patch()
def test_patch_unpatch(self): unpatch() # assert we start unpatched conn = pymysql.connect(**MYSQL_CONFIG) assert not Pin.get_from(conn) conn.close() patch() try: tracer = get_dummy_tracer() writer = tracer.writer conn = pymysql.connect(**MYSQL_CONFIG) pin = Pin.get_from(conn) assert pin pin.clone(service=self.TEST_SERVICE, tracer=tracer).onto(conn) assert not conn._closed cursor = conn.cursor() cursor.execute("SELECT 1") rows = cursor.fetchall() eq_(len(rows), 1) spans = writer.pop() eq_(len(spans), 1) span = spans[0] eq_(span.service, self.TEST_SERVICE) eq_(span.name, 'pymysql.query') eq_(span.span_type, 'sql') eq_(span.error, 0) meta = {} meta.update(self.DB_INFO) assert_dict_issuperset(span.meta, meta) finally: unpatch() # assert we finish unpatched conn = pymysql.connect(**MYSQL_CONFIG) assert not Pin.get_from(conn) conn.close() patch()
def test_patch_unpatch(self): unpatch() # assert we start unpatched conn = pymysql.connect(**MYSQL_CONFIG) assert not Pin.get_from(conn) conn.close() patch() try: writer = self.tracer.writer conn = pymysql.connect(**MYSQL_CONFIG) pin = Pin.get_from(conn) assert pin pin.clone(tracer=self.tracer).onto(conn) assert not conn._closed cursor = conn.cursor() cursor.execute("SELECT 1") rows = cursor.fetchall() assert len(rows) == 1 spans = writer.pop() assert len(spans) == 1 span = spans[0] assert span.service == "pymysql" assert span.name == "pymysql.query" assert span.span_type == "sql" assert span.error == 0 assert span.get_metric("out.port") == MYSQL_CONFIG.get("port") meta = {} meta.update(self.DB_INFO) assert_dict_issuperset(span.meta, meta) finally: unpatch() # assert we finish unpatched conn = pymysql.connect(**MYSQL_CONFIG) assert not Pin.get_from(conn) conn.close() patch()
def setUp(self): patch()
def setUp(self): super(PyMySQLCore, self).setUp() patch()
def setUp(self): patch()