Sledování závislostí pomocí OpenCensus Pythonu

Poznámka

Sada OpenCensus Python SDK je zastaralá, ale Microsoft ji podporuje až do vyřazení 30. září 2024. Teď doporučujeme nabídku Pythonu založenou na OpenTelemetry a poskytujeme pokyny k migraci.

Závislost je externí komponenta volaná vaší aplikací. Data závislostí se shromažďují pomocí OpenCensus Pythonu a jeho různých integrací. Data se pak odešlou do Application Insights v rámci Azure Monitoru jako dependencies telemetrie.

Nejprve instrumentujte aplikaci Pythonu pomocí nejnovější sady OpenCensus Python SDK.

Závislosti v procesu

Sada OpenCensus Python SDK pro Azure Monitor umožňuje odesílat telemetrii závislostí v rámci procesu (informace a logiku, které se vyskytují v rámci vaší aplikace). Závislosti v procesu budou mít type pole jako INPROC v analýzách.

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!')

Závislosti s integrací požadavků

Sledujte odchozí požadavky pomocí integrace OpenCensus requests .

Stáhněte a nainstalujte opencensus-ext-requests z PyPI a přidejte ho do integrace trasování. Žádosti odeslané pomocí knihovny žádostí Pythonu se budou sledovat.

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

Závislosti s integrací httplib

Sledujte odchozí žádosti s využitím integrace OpenCensus httplib .

Stáhněte a nainstalujte opencensus-ext-httplib z PyPI a přidejte ho do integrace trasování. Žádosti odeslané pomocí http.client pro Python3 nebo httplib pro Python2 se budou sledovat.

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()

Závislosti s integrací django

Sledujte odchozí požadavky Django pomocí integrace OpenCensus django .

Poznámka

Jedinými odchozími požadavky Django, které se sledují, jsou volání databáze. Informace o požadavcích na aplikaci Django najdete v tématu příchozí požadavky.

Stáhněte a nainstalujte opencensus-ext-django z PyPI a přidejte následující řádek do oddílu MIDDLEWARE v souboru Django settings.py .

MIDDLEWARE = [
    ...
    'opencensus.ext.django.middleware.OpencensusMiddleware',
]

Je možné poskytnout další konfiguraci a přečíst si vlastní nastavení pro kompletní referenci.

OPENCENSUS = {
    'TRACE': {
        'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
        'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
            connection_string="InstrumentationKey=<your-ikey-here>"
        )''',
    }
}

Ukázkovou aplikaci Django, která používá závislosti, najdete v úložišti ukázek Pythonu OpenCensus ve službě Azure Monitor.

Závislosti s integrací mysql

Sledujte své závislosti MYSQL pomocí integrace OpenCensus mysql . Tato integrace podporuje knihovnu mysql-connector .

Stáhněte a nainstalujte opencensus-ext-mysql z PyPI a přidejte do kódu následující řádky.

from opencensus.trace import config_integration

config_integration.trace_integrations(['mysql'])

Závislosti s integrací pymysql

Sledujte své závislosti PyMySQL pomocí integrace OpenCensus pymysql .

Stáhněte a nainstalujte opencensus-ext-pymysql z PyPI a přidejte do kódu následující řádky.

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymysql'])

Závislosti s integrací postgresql

Sledujte své závislosti PostgreSQL pomocí integrace OpenCensus postgresql . Tato integrace podporuje knihovnu psycopg2 .

Stáhněte a nainstalujte opencensus-ext-postgresql z PyPI a přidejte do kódu následující řádky.

from opencensus.trace import config_integration

config_integration.trace_integrations(['postgresql'])

Závislosti s integrací pymongo

Sledujte své závislosti MongoDB pomocí integrace OpenCensus pymongo . Tato integrace podporuje knihovnu pymongo .

Stáhněte a nainstalujte opencensus-ext-pymongo z PyPI a přidejte do kódu následující řádky.

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymongo'])

Závislosti s integrací sqlalchemy

Sledujte své závislosti pomocí SQLAlchemy s využitím integrace OpenCensus sqlalchemy . Tato integrace sleduje použití balíčku sqlalchemy bez ohledu na podkladovou databázi.

from opencensus.trace import config_integration

config_integration.trace_integrations(['sqlalchemy'])

Další kroky