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