Sdílet prostřednictvím


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

Upozornění

Sada OpenCensus Python SDK je vyřazena. Doporučujeme nabídku Pythonu založenou na OpenTelemetry a poskytnout pokyny k migraci.

Závislost je externí komponenta volaná vaší aplikací. Data závislostí se shromažďují pomocí OpenCensus Pythonu a jejich různých integrací. Data se pak odesílají do Application Insights v rámci služby Azure Monitor jako dependencies telemetrie.

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

Závislosti v procesu

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

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 integrací 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í požadavky s integrací OpenCensus httplib .

Stáhněte a nainstalujte opencensus-ext-httplib z PyPI a přidejte ho do integrací trasování. Požadavky 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é jsou sledovány, jsou volání do databáze. U žádostí provedených v aplikaci Django se podívejte na příchozí žádosti.

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

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

Můžete zadat další konfiguraci, 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 služby Azure Monitor OpenCensus.

Závislosti s integrací mysql

Sledujte 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 závislosti PyMySQL s integrací 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 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 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 závislosti pomocí SQLAlchemy pomocí integrace OpenCensus sqlalchemy . Tato integrace sleduje využití balíčku sqlalchemy bez ohledu na podkladovou databázi.

from opencensus.trace import config_integration

config_integration.trace_integrations(['sqlalchemy'])

Další kroky