Śledzenie zależności za pomocą języka Python OpenCensus
Uwaga
Zestaw SDK języka Python openCensus został wycofany. Zalecamy 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 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 telemetrii zależności "w procesie" (informacje i logika, która występuje w aplikacji). Zależności procesów 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"
Śledzenie żądań wychodzących za pomocą integracji z usługą OpenCensus requests
.
Pobierz i zainstaluj opencensus-ext-requests
z 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 opencensus-ext-httplib
z interfejsu PyPI i dodaj go do integracji śledzenia. Żądania wysyłane przy użyciu klienta 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 opencensus-ext-django
z 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ę, przeczytać 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 opencensus-ext-mysql
z interfejsu 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 rozwiązania OpenCensus pymysql
.
Pobierz i zainstaluj opencensus-ext-pymysql
z interfejsu 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 usługą OpenCensus postgresql
. Ta integracja obsługuje bibliotekę psycopg2 .
Pobierz i zainstaluj opencensus-ext-postgresql
z interfejsu 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 z usługą OpenCensus pymongo
. Ta integracja obsługuje bibliotekę pymongo .
Pobierz i zainstaluj opencensus-ext-pymongo
z interfejsu 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 usługą 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'])