Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.

Commit 5aba7bc

Browse files
authored
Add functionality to track integrations being used (#1065)
1 parent 86255ce commit 5aba7bc

File tree

14 files changed

+95
-6
lines changed

14 files changed

+95
-6
lines changed

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Unreleased
44

5+
- Added integration tracking functionality
6+
([#1065](https://github.com/census-instrumentation/opencensus-python/pull/1065))
7+
58
# 0.7.13
69
Released 2021-05-13
710

@@ -31,7 +34,7 @@ Released 2020-06-29
3134
Released 2020-06-17
3235

3336
- Hotfix for breaking change
34-
([#915](https://github.com/census-instrumentation/opencensus-python/pull/915),
37+
([#915](https://github.com/census-instrumentation/opencensus-python/pull/915))
3538

3639
## 0.7.8
3740
Released 2020-06-17

contrib/opencensus-ext-django/opencensus/ext/django/middleware.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from opencensus.trace import (
3030
attributes_helper,
3131
execution_context,
32+
integrations,
3233
print_exporter,
3334
samplers,
3435
)
@@ -172,6 +173,9 @@ def __init__(self, get_response=None):
172173
if django.VERSION >= (2,): # pragma: NO COVER
173174
connection.execute_wrappers.append(_trace_db_call)
174175

176+
# pylint: disable=protected-access
177+
integrations.add_integration(integrations._Integrations.DJANGO)
178+
175179
def process_request(self, request):
176180
"""Called on each request, before Django decides which view to execute.
177181

contrib/opencensus-ext-flask/opencensus/ext/flask/flask_middleware.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from opencensus.trace import (
2525
attributes_helper,
2626
execution_context,
27+
integrations,
2728
print_exporter,
2829
samplers,
2930
)
@@ -119,6 +120,9 @@ def init_app(self, app):
119120

120121
self.setup_trace()
121122

123+
# pylint: disable=protected-access
124+
integrations.add_integration(integrations._Integrations.FLASK)
125+
122126
def setup_trace(self):
123127
self.app.before_request(self._before_request)
124128
self.app.after_request(self._after_request)

contrib/opencensus-ext-google-cloud-clientlibs/opencensus/ext/google_cloud_clientlibs/trace.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
from opencensus.ext.grpc.client_interceptor import OpenCensusClientInterceptor
2222
from opencensus.ext.requests.trace import trace_integration as trace_requests
23+
from opencensus.trace import integrations
2324

2425
log = logging.getLogger(__name__)
2526

@@ -42,6 +43,9 @@ def trace_integration(tracer=None):
4243
# Integrate with HTTP
4344
trace_http(tracer)
4445

46+
# pylint: disable=protected-access
47+
integrations.add_integration(integrations._Integrations.GOOGLE_CLOUD)
48+
4549

4650
def trace_grpc(tracer=None):
4751
"""Integrate with gRPC."""

contrib/opencensus-ext-httplib/opencensus/ext/httplib/trace.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import logging
1616
import sys
1717

18-
from opencensus.trace import attributes_helper, execution_context
18+
from opencensus.trace import attributes_helper, execution_context, integrations
1919
from opencensus.trace import span as span_module
2020
from opencensus.trace import utils
2121

@@ -53,6 +53,9 @@ def trace_integration(tracer=None):
5353
wrapped_response = wrap_httplib_response(response_func)
5454
setattr(httplib.HTTPConnection, response_func.__name__, wrapped_response)
5555

56+
# pylint: disable=protected-access
57+
integrations.add_integration(integrations._Integrations.HTTP_LIB)
58+
5659

5760
def wrap_httplib_request(request_func):
5861
"""Wrap the httplib request function to trace. Create a new span and update

contrib/opencensus-ext-logging/opencensus/ext/logging/trace.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import logging
1616

1717
from opencensus.log import TraceLogger
18+
from opencensus.trace import integrations
1819

1920

2021
def trace_integration(tracer=None):
@@ -25,3 +26,5 @@ def trace_integration(tracer=None):
2526
context.
2627
"""
2728
logging.setLoggerClass(TraceLogger)
29+
# pylint: disable=protected-access
30+
integrations.add_integration(integrations._Integrations.LOGGING)

contrib/opencensus-ext-mysql/opencensus/ext/mysql/trace.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import mysql.connector
1919

2020
from opencensus.ext.dbapi import trace
21+
from opencensus.trace import integrations
2122

2223
MODULE_NAME = 'mysql'
2324

@@ -31,3 +32,5 @@ def trace_integration(tracer=None):
3132
conn_module = inspect.getmodule(conn_func)
3233
wrapped = trace.wrap_conn(conn_func)
3334
setattr(conn_module, CONN_WRAP_METHOD, wrapped)
35+
# pylint: disable=protected-access
36+
integrations.add_integration(integrations._Integrations.MYSQL)

contrib/opencensus-ext-postgresql/opencensus/ext/postgresql/trace.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from psycopg2 import connect as pg_connect
2020
from psycopg2.extensions import cursor as pgcursor
2121

22-
from opencensus.trace import execution_context
22+
from opencensus.trace import execution_context, integrations
2323
from opencensus.trace import span as span_module
2424

2525
log = logging.getLogger(__name__)
@@ -37,6 +37,8 @@ def trace_integration(tracer=None):
3737
conn_func = getattr(psycopg2, CONN_WRAP_METHOD)
3838
conn_module = inspect.getmodule(conn_func)
3939
setattr(conn_module, conn_func.__name__, connect)
40+
# pylint: disable=protected-access
41+
integrations.add_integration(integrations._Integrations.POSTGRESQL)
4042

4143

4244
def connect(*args, **kwargs):

contrib/opencensus-ext-pymongo/opencensus/ext/pymongo/trace.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from google.rpc import code_pb2
1818
from pymongo import monitoring
1919

20-
from opencensus.trace import execution_context
20+
from opencensus.trace import execution_context, integrations
2121
from opencensus.trace import span as span_module
2222
from opencensus.trace import status as status_module
2323

@@ -32,6 +32,8 @@ def trace_integration(tracer=None):
3232
"""Integrate with pymongo to trace it using event listener."""
3333
log.info('Integrated module: {}'.format(MODULE_NAME))
3434
monitoring.register(MongoCommandListener(tracer=tracer))
35+
# pylint: disable=protected-access
36+
integrations.add_integration(integrations._Integrations.PYMONGO)
3537

3638

3739
class MongoCommandListener(monitoring.CommandListener):

contrib/opencensus-ext-pymysql/opencensus/ext/pymysql/trace.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import pymysql
1919

2020
from opencensus.ext.dbapi import trace
21+
from opencensus.trace import integrations
2122

2223
MODULE_NAME = 'pymysql'
2324

@@ -31,3 +32,5 @@ def trace_integration(tracer=None):
3132
conn_module = inspect.getmodule(conn_func)
3233
wrapped = trace.wrap_conn(conn_func)
3334
setattr(conn_module, CONN_WRAP_METHOD, wrapped)
35+
# pylint: disable=protected-access
36+
integrations.add_integration(integrations._Integrations.PYMYSQL)

0 commit comments

Comments
 (0)