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