Függőségek nyomon követése az OpenCensus Pythonnal

Megjegyzés

Az OpenCensus Python SDK elavult, de a Microsoft 2024. szeptember 30-i kivonásáig támogatja. Most az OpenTelemetry-alapú Python-ajánlatot ajánljuk, és migrálási útmutatást nyújtunk.

A függőségek az alkalmazás által hívott külső összetevők. A függőségi adatokat az OpenCensus Python és annak különböző integrációi segítségével gyűjtjük. Az adatokat ezután a rendszer telemetriaként dependencies küldi el az Application Insightsnak az Azure Monitor alatt.

Először is alakítsa ki Python-alkalmazását a legújabb OpenCensus Python SDK-val.

Folyamaton belüli függőségek

Az Azure Monitorhoz készült OpenCensus Python SDK lehetővé teszi a "folyamaton belüli" függőségi telemetria küldését (az alkalmazáson belüli információk és logika). A folyamaton belüli függőségek mezője az type elemzéshez hasonlóan INPROC lesz.

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

Függőségek a "kérések" integrációjával

Kövesse nyomon a kimenő kéréseket az OpenCensus-integrációval requests .

Töltse le és telepítse opencensus-ext-requests a PyPI-ból , és adja hozzá a nyomkövetési integrációkhoz. A Python-kérések kódtárával küldött kérelmek nyomon lesznek követve.

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

Függőségek "httplib" integrációval

Kövesse nyomon a kimenő kéréseket az OpenCensus-integrációval httplib .

Töltse le és telepítse opencensus-ext-httplib a PyPI-ból , és adja hozzá a nyomkövetési integrációkhoz. A Python3-hoz készült http.client vagy a Python2 httplib használatával küldött kérelmek nyomon lesznek követve.

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

Függőségek a "django" integrációval

Kövesse nyomon a kimenő Django-kéréseket az OpenCensus-integrációval django .

Megjegyzés

Az egyetlen nyomon követett kimenő Django-kérés az adatbázisba irányuló hívások. A Django-alkalmazásnak küldött kéréseket a bejövő kérések című témakörben tekintheti meg.

Töltse le és telepítse opencensus-ext-django a PyPI-ból , és adja hozzá a következő sort a MIDDLEWARE Django-fájl settings.py szakaszához.

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

További konfigurációk is megadhatóak, a testreszabásokat elolvasva teljes referenciaként olvashat.

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

Az itt található Azure Monitor OpenCensus Python-mintaadattárban található egy Django-mintaalkalmazás, amely függőségeket használ.

Függőségek a "mysql" integrációval

A MYSQL-függőségek nyomon követése az OpenCensus-integrációval mysql . Ez az integráció támogatja a mysql-connector kódtárat.

Töltse le és telepítse opencensus-ext-mysql a PyPI-ból , és adja hozzá a következő sorokat a kódhoz.

from opencensus.trace import config_integration

config_integration.trace_integrations(['mysql'])

Függőségek a "pymysql" integrációval

A PyMySQL-függőségek nyomon követése az OpenCensus-integrációval pymysql .

Töltse le és telepítse opencensus-ext-pymysql a PyPI-ból , és adja hozzá a következő sorokat a kódhoz.

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymysql'])

Függőségek a "postgresql" integrációval

A PostgreSQL-függőségek nyomon követése az OpenCensus-integrációval postgresql . Ez az integráció támogatja a psycopg2 kódtárat.

Töltse le és telepítse opencensus-ext-postgresql a PyPI-ból , és adja hozzá a következő sorokat a kódhoz.

from opencensus.trace import config_integration

config_integration.trace_integrations(['postgresql'])

Függőségek a "pymongo" integrációval

A MongoDB-függőségek nyomon követése az OpenCensus-integrációval pymongo . Ez az integráció támogatja a pymongo kódtárat.

Töltse le és telepítse opencensus-ext-pymongo a PyPI-ból , és adja hozzá a következő sorokat a kódhoz.

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymongo'])

Függőségek az "sqlalchemy" integrációval

Kövesse nyomon a függőségeket az SQLAlchemy használatával az OpenCensus-integrációval sqlalchemy . Ez az integráció nyomon követi az sqlalchemy-csomag használatát, függetlenül a mögöttes adatbázistól.

from opencensus.trace import config_integration

config_integration.trace_integrations(['sqlalchemy'])

Következő lépések