Śledzenie zależności za pomocą biblioteki OpenCensus Python
Uwaga
Zestaw OpenCensus Python SDK jest przestarzały, ale firma Microsoft obsługuje go do wycofania 30 września 2024 r. Zalecamy teraz ofertę języka Python opartą na protokole OpenTelemetry i udostępniamy wskazówki dotyczące migracji.
Zależność to składnik zewnętrzny wywoływany przez aplikację. Dane zależności są zbierane przy użyciu języka Python OpenCensus i jego różnych integracji. Dane są następnie wysyłane do usługi Application Insights w usłudze Azure Monitor jako dependencies
dane telemetryczne.
Najpierw instrumentacja aplikacji języka Python przy użyciu najnowszego zestawu OpenCensus Python SDK.
Zależności w procesie
Zestaw OpenCensus Python SDK dla usługi Azure Monitor umożliwia wysyłanie danych telemetrycznych zależności "w procesie" (informacji i logiki, które występują w aplikacji). Zależności w procesie będą miały type
pole tak jak INPROC
w analizie.
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer
tracer = Tracer(exporter=AzureExporter(connection_string="InstrumentationKey=<your-ikey-here>"), sampler=ProbabilitySampler(1.0))
with tracer.span(name='foo'): # <-- A dependency telemetry item will be sent for this span "foo"
print('Hello, World!')
Zależności z integracją "requests"
Śledź żądania wychodzące za pomocą integracji z usługą OpenCensus requests
.
Pobierz i zainstaluj z opencensus-ext-requests
interfejsu PyPI i dodaj go do integracji śledzenia. Żądania wysyłane przy użyciu biblioteki żądań języka Python będą śledzone.
import requests
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace import config_integration
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer
config_integration.trace_integrations(['requests']) # <-- this line enables the requests integration
tracer = Tracer(exporter=AzureExporter(connection_string="InstrumentationKey=<your-ikey-here>"), sampler=ProbabilitySampler(1.0))
with tracer.span(name='parent'):
response = requests.get(url='https://www.wikipedia.org/wiki/Rabbit') # <-- this request will be tracked
Zależności z integracją "httplib"
Śledzenie żądań wychodzących za pomocą integracji z usługą OpenCensus httplib
.
Pobierz i zainstaluj z opencensus-ext-httplib
interfejsu PyPI i dodaj go do integracji śledzenia. Żądania wysyłane przy użyciu protokołu http.client dla języka Python3 lub httplib dla języka Python2 będą śledzone.
import http.client as httplib
from opencensus.ext.azure.trace_exporter import AzureExporter
from opencensus.trace import config_integration
from opencensus.trace.samplers import ProbabilitySampler
from opencensus.trace.tracer import Tracer
config_integration.trace_integrations(['httplib'])
conn = httplib.HTTPConnection("www.python.org")
tracer = Tracer(
exporter=AzureExporter(),
sampler=ProbabilitySampler(1.0)
)
conn.request("GET", "http://www.python.org", "", {})
response = conn.getresponse()
conn.close()
Zależności z integracją "django"
Śledź wychodzące żądania Django przy użyciu integracji openCensus django
.
Uwaga
Jedynymi wychodzącymi żądaniami Django, które są śledzone, są wywołania wysyłane do bazy danych. W przypadku żądań wysyłanych do aplikacji Django zobacz żądania przychodzące.
Pobierz i zainstaluj plik opencensus-ext-django
PyPI i dodaj następujący wiersz do MIDDLEWARE
sekcji w pliku Django settings.py
.
MIDDLEWARE = [
...
'opencensus.ext.django.middleware.OpencensusMiddleware',
]
Można podać dodatkową konfigurację, odczytywać dostosowania , aby uzyskać pełną dokumentację.
OPENCENSUS = {
'TRACE': {
'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
connection_string="InstrumentationKey=<your-ikey-here>"
)''',
}
}
Przykładową aplikację Django korzystającą z zależności można znaleźć w repozytorium przykładów języka Python usługi Azure Monitor OpenCensus znajdującym się tutaj.
Zależności z integracją "mysql"
Śledź zależności MYSQL za pomocą integracji openCensus mysql
. Ta integracja obsługuje bibliotekę mysql-connector .
Pobierz i zainstaluj z opencensus-ext-mysql
narzędzia PyPI i dodaj następujące wiersze do kodu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['mysql'])
Zależności z integracją "pymysql"
Śledź zależności PyMySQL za pomocą integracji openCensus pymysql
.
Pobierz i zainstaluj z opencensus-ext-pymysql
narzędzia PyPI i dodaj następujące wiersze do kodu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymysql'])
Zależności z integracją "postgresql"
Śledź zależności bazy danych PostgreSQL za pomocą integracji z biblioteką OpenCensus postgresql
. Ta integracja obsługuje bibliotekę psycopg2 .
Pobierz i zainstaluj z opencensus-ext-postgresql
narzędzia PyPI i dodaj następujące wiersze do kodu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['postgresql'])
Zależności z integracją "pymongo"
Śledź zależności bazy danych MongoDB za pomocą integracji biblioteki OpenCensus pymongo
. Ta integracja obsługuje bibliotekę pymongo .
Pobierz i zainstaluj z opencensus-ext-pymongo
narzędzia PyPI i dodaj następujące wiersze do kodu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymongo'])
Zależności z integracją "sqlalchemy"
Śledzenie zależności przy użyciu biblioteki SQLAlchemy przy użyciu integracji z biblioteką OpenCensus sqlalchemy
. Ta integracja śledzi użycie pakietu sqlalchemy , niezależnie od bazowej bazy danych.
from opencensus.trace import config_integration
config_integration.trace_integrations(['sqlalchemy'])