Nachverfolgen von Abhängigkeiten mit OpenCensus Python
Achtung
Das OpenCensus Python SDK wird eingestellt. Wir empfehlen das OpenTelemetry-basierte Python-Angebot und bieten Migrationsanleitungen.
Eine Abhängigkeit ist eine externe Komponente, die von Ihrer Anwendung aufgerufen wird. Abhängigkeitsdaten werden mithilfe von OpenCensus Python und den verschiedenen Integrationen erfasst. Die Daten werden dann als dependencies
-Telemetriedaten an Application Insights unter Azure Monitor gesendet.
Instrumentieren Sie zunächst Ihre Python-Anwendung mit dem aktuellen OpenCensus Python SDK.
In-Process-Abhängigkeiten
Mit dem OpenCensus Python SDK für Azure Monitor können Sie In-Process-Abhängigkeitstelemetrie (Informationen und Logiken, die in Ihrer Anwendung auftreten) senden. Bei In-Process-Abhängigkeiten ist das Feld type
in Analysen INPROC
.
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!')
Abhängigkeiten mit requests-Integration
Verfolgen Sie Ihre ausgehenden Anforderungen mit der OpenCensus-requests
-Integration nach.
Laden Sie opencensus-ext-requests
von PyPI herunter, installieren Sie es, und fügen Sie es zu den Nachverfolgungsintegrationen hinzu. Anforderungen, die mit der Python-requests-Bibliothek versendet werden, werden nachverfolgt.
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
Abhängigkeiten mit httplib-Integration
Verfolgen Sie Ihre ausgehenden Anforderungen mit OpenCensus-httplib
-Integration nach.
Laden Sie opencensus-ext-httplib
von PyPI herunter, installieren Sie es, und fügen Sie es zu den Nachverfolgungsintegrationen hinzu. Anforderungen, die mit http.client für Python3 oder httplib für Python2 gesendet werden, werden nachverfolgt.
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()
Abhängigkeiten mit django-Integration
Verfolgen Sie Ihre ausgehenden Django-Anforderungen mit der OpenCensus-django
-Integration nach.
Hinweis
Die einzigen ausgehenden Django-Anforderungen, die nachverfolgt werden, sind Aufrufe an eine Datenbank. Informationen zu Anforderungen an die Django-Anwendung finden Sie unter Eingehende Anforderungen.
Laden Sie opencensus-ext-django
von PyPI herunter, installieren Sie es, und fügen Sie die folgende Zeile zum Abschnitt MIDDLEWARE
in der Django-settings.py
-Datei hinzu.
MIDDLEWARE = [
...
'opencensus.ext.django.middleware.OpencensusMiddleware',
]
Weitere Konfigurationsmöglichkeiten können bereitgestellt werden; umfassende Informationen dazu finden Sie im Abschnitt zu Anpassungen.
OPENCENSUS = {
'TRACE': {
'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
connection_string="InstrumentationKey=<your-ikey-here>"
)''',
}
}
Sie finden eine Django-Beispielanwendung, die Abhängigkeiten verwendet, im Beispielerepository „Azure Monitor OpenCensus Python“.
Abhängigkeiten mit mysql-Integration
Verfolgen Sie Ihre MYSQL-Anforderungen mit der OpenCensus-mysql
-Integration nach. Diese Integration unterstützt die mysql-connector-Bibliothek.
Laden Sie opencensus-ext-mysql
von PyPI herunter, installieren Sie es, und fügen Sie Ihrem Code die folgenden Zeilen hinzu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['mysql'])
Abhängigkeiten mit pymysql-Integration
Verfolgen Sie Ihre PyMySQL-Anforderungen mit der OpenCensus-pymysql
-Integration nach.
Laden Sie opencensus-ext-pymysql
von PyPI herunter, installieren Sie es, und fügen Sie Ihrem Code die folgenden Zeilen hinzu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymysql'])
Abhängigkeiten mit postgresql-Integration
Verfolgen Sie Ihre PostgreSQL-Anforderungen mit der OpenCensus-postgresql
-Integration nach. Diese Integration unterstützt die psycopg2-Bibliothek.
Laden Sie opencensus-ext-postgresql
von PyPI herunter, installieren Sie es, und fügen Sie Ihrem Code die folgenden Zeilen hinzu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['postgresql'])
Abhängigkeiten mit pymongo-Integration
Verfolgen Sie Ihre MongoDB-Anforderungen mit der OpenCensus-pymongo
-Integration nach. Diese Integration unterstützt die pymongo-Bibliothek.
Laden Sie opencensus-ext-pymongo
von PyPI herunter, installieren Sie es, und fügen Sie Ihrem Code die folgenden Zeilen hinzu.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymongo'])
Abhängigkeiten mit sqlalchemy-Integration
Verfolgen Sie Ihre Abhängigkeiten mithilfe von SQLAlchemy mit der OpenCensus-sqlalchemy
-Integration nach. Mit dieser Integration wird die Verwendung des sqlalchemy-Pakets unabhängig von der zugrunde liegenden Datenbank nachverfolgt.
from opencensus.trace import config_integration
config_integration.trace_integrations(['sqlalchemy'])