Śledzenie zależności za pomocą biblioteki OpenCensus Python
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 aplikacji Szczegółowe informacje 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>"
)''',
}
}
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"
Śledź 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'])