def __init__(self): super(MysqlInstrumentor, self).__init__() self.set_wrapped( { 'MySQLdb.cursors.Cursor.execute': default_context_wrapper_factory('data.mysql.execute.', mapping={'resource': 1}, state='data.mysql', disable_if='model'), 'MySQLdb.cursors.Cursor.callproc': default_context_wrapper_factory('data.mysql.callproc.', mapping={'resource': 1}, state='data.mysql', disable_if='model'), } )
def __init__(self): super(PykafkaInstrumentor, self).__init__() self.set_wrapped( { # Kafka (pykafka) 'pykafka.simpleconsumer.SimpleConsumer.consume': default_context_wrapper_factory('messaging.kafka.consume.', mapping={'resource': 'self._topic._name'}, state='messaging.kafka', disable_if='model'), 'pykafka.Producer.produce': default_context_wrapper_factory('messaging.kafka.produce.', mapping={'resource': 'self._topic._name'}, state='messaging.kafka', disable_if='model'), } )
def __init__(self): super(PykafkaInstrumentor, self).__init__() self.set_wrapped({ # Kafka (pykafka) 'pykafka.simpleconsumer.SimpleConsumer.consume': default_context_wrapper_factory( 'messaging.kafka.consume.', mapping={'resource': 'self._topic._name'}, state='messaging.kafka', disable_if='model'), 'pykafka.Producer.produce': default_context_wrapper_factory( 'messaging.kafka.produce.', mapping={'resource': 'self._topic._name'}, state='messaging.kafka', disable_if='model'), })
def __init__(self): super(ElasticsearchInstrumentor, self).__init__() self.set_wrapped( { 'elasticsearch.client.Elasticsearch.create': default_context_wrapper_factory('data.es.create.', mapping={'resource': '2|doc_type'}, state='data.elasticsearch', disable_if='model'), 'elasticsearch.client.Elasticsearch.get': default_context_wrapper_factory('data.es.get.', mapping={'resource': '2|doc_type'}, state='data.elasticsearch', disable_if='model'), 'elasticsearch.client.Elasticsearch.index': default_context_wrapper_factory('data.es.index.', mapping={'resource': '2|doc_type'}, state='data.elasticsearch', disable_if='model'), 'elasticsearch.client.Elasticsearch.search': default_context_wrapper_factory('data.es.search.', mapping={'resource': '2|doc_type'}, state='data.elasticsearch', disable_if='model'), 'elasticsearch.client.Elasticsearch.delete': default_context_wrapper_factory('data.es.delete.', mapping={'resource': '2|doc_type'}, state='data.elasticsearch', disable_if='model'), } )
def run(self): self.set_overridden( { 'psycopg2': { 'connect': { 'returns': 'psycopg2.extensions.connection' } }, 'psycopg2.extensions.connection': { 'cursor': { 'returns': 'psycopg2.extensions.cursor' } }, } ) cursor_path = 'psycopg2.extensions.cursor.%s' def func_name(e): return e.split('(')[0] def func_args(e): return re.findall('[^(,)]+', e)[1:] wrapped = { cursor_path % func_name(m): default_context_wrapper_factory('data.psycopg2.%s.' % func_name(m), mapping={a: 1 for a in func_args(m)}, state='data.postgres', disable_if='model') for m in 'callproc(resource),execute(resource),executemany(resource),fetchone,fetchmany,fetchall,' 'nextset'.split(',') } wrapped['psycopg2.extensions.connection.cursor'] = wrap_returned_instance_decorator( 'psycopg2.extensions.cursor', wrapped ) self.set_wrapped( wrapped ) super(Psycopg2Instrumentor, self).run()
def run(self): self.set_overridden( { 'sqlite3': { 'connect': { 'returns': 'sqlite3.Connection' } }, 'sqlite3.Connection': { 'cursor': { 'returns': 'sqlite3.Cursor' } } } ) cursor_path = 'sqlite3.Cursor.%s' def func_name(e): return e.split('(')[0] def func_args(e): return re.findall('[^(,)]+', e)[1:] wrapped = {cursor_path % func_name(m): default_context_wrapper_factory('data.sqlite.%s.' % func_name(m), mapping={a: 1 for a in func_args(m)}, state='data.sqlite', disable_if='model') for m in 'execute(resource),executemany(resource),fetchone,fetchmany,fetchall'.split(',')} wrapped['sqlite3.Connection.cursor'] = wrap_returned_instance_decorator( 'sqlite3.Cursor', wrapped ) self.set_wrapped( wrapped ) super(SqliteInstrumentor, self).run()
def __init__(self): super(DjangoDbInstrumentor, self).__init__() for method in [m.strip() for m in self._query_set_methods.split(',')]: self._wrapped['django.db.models.query.QuerySet.%s' % method] = default_context_wrapper_factory( 'model.%s.' % method, state='model')
def __init__(self): super(DjangoInstrumentor, self).__init__() for method in [m.strip() for m in self._query_set_methods.split(",")]: self._wrapped["django.db.models.query.QuerySet.%s" % method] = default_context_wrapper_factory( "model.%s." % method, state="model" )