Afhankelijkheden bijhouden met OpenCensus Python

Notitie

OpenCensus Python SDK is afgeschaft, maar Microsoft ondersteunt dit totdat de openstelling op 30 september 2024 wordt beƫindigd. We raden nu de op OpenTelemetry gebaseerde Python-aanbieding aan en bieden migratierichtlijnen.

Een afhankelijkheid is een extern onderdeel dat wordt aangeroepen via uw toepassing. Afhankelijkheidsgegevens worden verzameld met Behulp van OpenCensus Python en de verschillende integraties. De gegevens worden vervolgens als dependencies telemetrie naar Application Insights onder Azure Monitor verzonden.

Instrumenteer eerst uw Python-toepassing met de nieuwste OpenCensus Python SDK.

Afhankelijkheden in het proces

Met OpenCensus Python SDK voor Azure Monitor kunt u 'in-process' afhankelijkheidstelemetrie verzenden (informatie en logica die binnen uw toepassing plaatsvinden). Afhankelijkheden in het proces hebben het type veld zoals INPROC in analyses.

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

Afhankelijkheden met integratie van 'aanvragen'

Houd uw uitgaande aanvragen bij met de OpenCensus-integratie requests .

Download en installeer opencensus-ext-requests van PyPI en voeg deze toe aan de traceringsintegraties. Aanvragen die worden verzonden met behulp van de bibliotheek met Python-aanvragen , worden bijgehouden.

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

Afhankelijkheden met httplib-integratie

Houd uw uitgaande aanvragen bij met OpenCensus-integratie httplib .

Download en installeer opencensus-ext-httplib van PyPI en voeg deze toe aan de traceringsintegraties. Aanvragen die worden verzonden met behulp van http.client voor Python3 of httplib voor Python2 worden bijgehouden.

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

Afhankelijkheden met django-integratie

Houd uw uitgaande Django-aanvragen bij met de OpenCensus-integratie django .

Notitie

De enige uitgaande Django-aanvragen die worden bijgehouden, zijn aanroepen naar een database. Zie Binnenkomende aanvragen voor aanvragen die zijn gedaan bij de Django-toepassing.

Download en installeer opencensus-ext-django vanuit PyPI en voeg de volgende regel toe aan de MIDDLEWARE sectie in het Django-bestand settings.py .

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

Aanvullende configuratie kan worden verstrekt, leesaanpassingen voor een volledige referentie.

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

U vindt een Django-voorbeeldtoepassing die gebruikmaakt van afhankelijkheden in de opslagplaats met Python-voorbeelden van Azure Monitor OpenCensus hier.

Afhankelijkheden met 'mysql'-integratie

Houd uw MYSQL-afhankelijkheden bij met de OpenCensus-integratie mysql . Deze integratie ondersteunt de bibliotheek mysql-connector .

Download en installeer opencensus-ext-mysql vanuit PyPI en voeg de volgende regels toe aan uw code.

from opencensus.trace import config_integration

config_integration.trace_integrations(['mysql'])

Afhankelijkheden met pymysql-integratie

Houd uw PyMySQL-afhankelijkheden bij met de OpenCensus-integratie pymysql .

Download en installeer opencensus-ext-pymysql vanuit PyPI en voeg de volgende regels toe aan uw code.

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymysql'])

Afhankelijkheden met postgresql-integratie

Houd uw PostgreSQL-afhankelijkheden bij met de OpenCensus-integratie postgresql . Deze integratie ondersteunt de psycopg2-bibliotheek .

Download en installeer opencensus-ext-postgresql vanuit PyPI en voeg de volgende regels toe aan uw code.

from opencensus.trace import config_integration

config_integration.trace_integrations(['postgresql'])

Afhankelijkheden met pymongo-integratie

Houd uw MongoDB-afhankelijkheden bij met de OpenCensus-integratie pymongo . Deze integratie ondersteunt de pymongo-bibliotheek .

Download en installeer opencensus-ext-pymongo vanuit PyPI en voeg de volgende regels toe aan uw code.

from opencensus.trace import config_integration

config_integration.trace_integrations(['pymongo'])

Afhankelijkheden met sqlalchemy-integratie

Houd uw afhankelijkheden bij met behulp van SQLAlchemy met behulp van OpenCensus-integratie sqlalchemy . Deze integratie houdt het gebruik van het sqlalchemy-pakket bij, ongeacht de onderliggende database.

from opencensus.trace import config_integration

config_integration.trace_integrations(['sqlalchemy'])

Volgende stappen