Dela via


Spåra beroenden med OpenCensus Python

Anteckning

OpenCensus Python SDK är inaktuellt, men Microsoft stöder det fram till tillbakadragande den 30 september 2024. Nu rekommenderar vi det OpenTelemetry-baserade Python-erbjudandet och ger migreringsvägledning.

Ett beroende är en extern komponent som anropas av ditt program. Beroendedata samlas in med 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 den senaste OpenCensus Python-SDK:en.

Processberoenden

Med OpenCensus Python SDK för Azure Monitor kan du skicka "processbaserad" 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 .

Anteckning

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 i MIDDLEWARE 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'])

Nästa steg