Spåra beroenden med OpenCensus Python
Varning
OpenCensus Python SDK har dragits tillbaka. Vi rekommenderar det OpenTelemetry-baserade Python-erbjudandet och ger migreringsvägledning.
Ett beroende är en extern komponent som anropas av ditt program. Beroendedata samlas in med Hjälp av OpenCensus Python och dess olika integreringar. Data skickas sedan till Application Insights under Azure Monitor som dependencies
telemetri.
Instrumentera först ditt Python-program med senaste OpenCensus Python SDK.
Processberoenden
Med OpenCensus Python SDK för Azure Monitor kan du skicka "in-process"-beroendetelemetri (information och logik som inträffar i ditt program). Processberoenden har fältet type
som INPROC
i analys.
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!')
Beroenden med integrering av "begäranden"
Spåra dina utgående begäranden med OpenCensus-integreringen requests
.
Ladda ned och installera opencensus-ext-requests
från PyPI och lägg till det i spårningsintegreringarna. Begäranden som skickas med python-begärandebiblioteket spåras.
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
Beroenden med "httplib"-integrering
Spåra dina utgående begäranden med OpenCensus-integrering httplib
.
Ladda ned och installera opencensus-ext-httplib
från PyPI och lägg till det i spårningsintegreringarna. Begäranden som skickas med http.client för Python3 eller httplib för Python2 spåras.
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()
Beroenden med "django"-integrering
Spåra dina utgående Django-begäranden med OpenCensus-integreringen django
.
Kommentar
De enda utgående Django-begäranden som spåras är anrop till en databas. Information om begäranden som görs till Django-programmet finns i inkommande begäranden.
Ladda ned och installera opencensus-ext-django
från PyPI och lägg till följande rad MIDDLEWARE
i avsnittet i Django-filen settings.py
.
MIDDLEWARE = [
...
'opencensus.ext.django.middleware.OpencensusMiddleware',
]
Ytterligare konfiguration kan tillhandahållas, läs anpassningar för en fullständig referens.
OPENCENSUS = {
'TRACE': {
'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
connection_string="InstrumentationKey=<your-ikey-here>"
)''',
}
}
Du hittar ett Django-exempelprogram som använder beroenden i Azure Monitor OpenCensus Python-exempellagringsplatsen som finns här.
Beroenden med "mysql"-integrering
Spåra dina MYSQL-beroenden med OpenCensus-integreringen mysql
. Den här integreringen stöder biblioteket mysql-connector .
Ladda ned och installera opencensus-ext-mysql
från PyPI och lägg till följande rader i koden.
from opencensus.trace import config_integration
config_integration.trace_integrations(['mysql'])
Beroenden med "pymysql"-integrering
Spåra dina PyMySQL-beroenden med OpenCensus-integreringen pymysql
.
Ladda ned och installera opencensus-ext-pymysql
från PyPI och lägg till följande rader i koden.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymysql'])
Beroenden med "postgresql"-integrering
Spåra dina PostgreSQL-beroenden med OpenCensus-integreringen postgresql
. Den här integreringen stöder psycopg2-biblioteket .
Ladda ned och installera opencensus-ext-postgresql
från PyPI och lägg till följande rader i koden.
from opencensus.trace import config_integration
config_integration.trace_integrations(['postgresql'])
Beroenden med "pymongo"-integrering
Spåra dina MongoDB-beroenden med OpenCensus-integreringen pymongo
. Den här integreringen stöder pymongo-biblioteket .
Ladda ned och installera opencensus-ext-pymongo
från PyPI och lägg till följande rader i koden.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymongo'])
Beroenden med "sqlalchemy"-integrering
Spåra dina beroenden med SQLAlchemy med hjälp av OpenCensus-integrering sqlalchemy
. Den här integreringen spårar användningen av sqlalchemy-paketet , oavsett den underliggande databasen.
from opencensus.trace import config_integration
config_integration.trace_integrations(['sqlalchemy'])