Tenere traccia delle dipendenze con OpenCensus Python
Attenzione
OpenCensus Python SDK viene ritirato. È consigliabile usare l'offerta Python basata su OpenTelemetry e fornire indicazioni sulla migrazione.
Una dipendenza è un componente esterno chiamato dall'applicazione. I dati di dipendenza vengono raccolti usando OpenCensus Python e le varie integrazioni. I dati vengono quindi inviati ad Application Insights in Monitoraggio di Azure come dependencies
dati di telemetria.
Prima di tutto, instrumentare l'applicazione Python con la versione più recente di OpenCensus Python SDK.
Dipendenze in-process
OpenCensus Python SDK per Monitoraggio di Azure consente di inviare dati di telemetria delle dipendenze "in-process" (informazioni e logica che si verificano all'interno dell'applicazione). Le dipendenze in-process avranno il campo come INPROC
nell'analisitype
.
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!')
Dipendenze con l'integrazione delle "richieste"
Tenere traccia delle richieste in uscita con l'integrazione di OpenCensus requests
.
Scaricare e installare opencensus-ext-requests
da PyPI e aggiungerlo alle integrazioni di traccia. Le richieste inviate tramite la libreria delle richieste Python verranno rilevate.
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
Dipendenze con integrazione "httplib"
Tenere traccia delle richieste in uscita con l'integrazione di OpenCensus httplib
.
Scaricare e installare opencensus-ext-httplib
da PyPI e aggiungerlo alle integrazioni di traccia. Le richieste inviate tramite http.client per Python3 o httplib per Python2 verranno rilevate.
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()
Dipendenze con l'integrazione di "django"
Tenere traccia delle richieste Django in uscita con l'integrazione di OpenCensus django
.
Nota
Le uniche richieste Django in uscita rilevate sono chiamate effettuate a un database. Per le richieste effettuate all'applicazione Django, vedere Richieste in ingresso.
Scaricare e installare da PyPI e aggiungere la riga seguente alla MIDDLEWARE
sezione nel file Djangosettings.py
.opencensus-ext-django
MIDDLEWARE = [
...
'opencensus.ext.django.middleware.OpencensusMiddleware',
]
È possibile specificare altre configurazioni, leggere le personalizzazioni per un riferimento completo.
OPENCENSUS = {
'TRACE': {
'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
connection_string="InstrumentationKey=<your-ikey-here>"
)''',
}
}
È possibile trovare un'applicazione di esempio Django che usa le dipendenze nel repository di esempi OpenCensus Python di Monitoraggio di Azure disponibile qui.
Dipendenze con integrazione "mysql"
Tenere traccia delle dipendenze di MYSQL con l'integrazione di OpenCensus mysql
. Questa integrazione supporta la libreria mysql-connector .
Scaricare e installare opencensus-ext-mysql
da PyPI e aggiungere le righe seguenti al codice.
from opencensus.trace import config_integration
config_integration.trace_integrations(['mysql'])
Dipendenze con integrazione "pymysql"
Tenere traccia delle dipendenze pyMySQL con l'integrazione di OpenCensus pymysql
.
Scaricare e installare opencensus-ext-pymysql
da PyPI e aggiungere le righe seguenti al codice.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymysql'])
Dipendenze con integrazione "postgresql"
Tenere traccia delle dipendenze di PostgreSQL con l'integrazione di OpenCensus postgresql
. Questa integrazione supporta la libreria psycopg2 .
Scaricare e installare opencensus-ext-postgresql
da PyPI e aggiungere le righe seguenti al codice.
from opencensus.trace import config_integration
config_integration.trace_integrations(['postgresql'])
Dipendenze con l'integrazione di "pymongo"
Tenere traccia delle dipendenze di MongoDB con l'integrazione di OpenCensus pymongo
. Questa integrazione supporta la libreria pymongo .
Scaricare e installare opencensus-ext-pymongo
da PyPI e aggiungere le righe seguenti al codice.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymongo'])
Dipendenze con integrazione "sqlalchemy"
Tenere traccia delle dipendenze usando SQLAlchemy usando l'integrazione openCensus sqlalchemy
. Questa integrazione tiene traccia dell'utilizzo del pacchetto sqlalchemy , indipendentemente dal database sottostante.
from opencensus.trace import config_integration
config_integration.trace_integrations(['sqlalchemy'])