Acompanhar dependências com o OpenCensus Python
Cuidado
O SDK do OpenCensus Python foi desativado. Recomendamos a oferta do Python baseada em OpenTelemetry e fornecemos diretrizes de migração.
Uma dependência é um componente externo que é chamado por seu aplicativo. Os dados de dependência são coletados usando o OpenCensus Python e suas várias integrações. Os dados são enviados para o Application Insights no Azure Monitor como telemetria de dependencies
.
Primeiro, instrumente o aplicativo Python com o SDK do OpenCensus Python mais recente.
Dependências em processo
O SDK do OpenCensus Python para o Azure Monitor permite que você envie telemetria de dependência "em processo" (informações e lógica que ocorrem em seu aplicativo). As dependências em processo terão o campo type
como INPROC
na análise.
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!')
Dependências com integração de "solicitações"
Acompanhe suas solicitações de saída com a integração requests
do OpenCensus.
Baixe e instale opencensus-ext-requests
do PyPI e adicione-o às integrações de rastreamento. As solicitações enviadas usando a biblioteca de solicitações do Python serão acompanhadas.
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
Dependências com integração "httplib"
Acompanhe suas solicitações de saída com a integração httplib
do OpenCensus.
Baixe e instale opencensus-ext-httplib
do PyPI e adicione-o às integrações de rastreamento. As solicitações enviadas usando http.client para o Python3 ou httplib para o Python2 serão acompanhadas.
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()
Dependências com integração "django"
Acompanhe suas solicitações de saída do Django com a integração django
do OpenCensus.
Observação
As únicas solicitações de saída do Django que são acompanhadas são chamadas feitas a um banco de dados. Para solicitações feitas ao aplicativo Django, consulte solicitações de entrada.
Baixe e instale opencensus-ext-django
do PyPI e adicione a seguinte linha à seção MIDDLEWARE
no arquivo settings.py
do Django.
MIDDLEWARE = [
...
'opencensus.ext.django.middleware.OpencensusMiddleware',
]
Configurações adicionais podem ser fornecidas, leia personalizações para uma referência completa.
OPENCENSUS = {
'TRACE': {
'SAMPLER': 'opencensus.trace.samplers.ProbabilitySampler(rate=1)',
'EXPORTER': '''opencensus.ext.azure.trace_exporter.AzureExporter(
connection_string="InstrumentationKey=<your-ikey-here>"
)''',
}
}
Você pode encontrar um aplicativo de exemplo do Django que usa dependências no repositório de exemplos do Python OpenCensus do Azure Monitor localizado aqui.
Dependências com a integração "mysql"
Acompanhe suas dependências do MYSQL com a integração mysql
do OpenCensus. Essa integração dá suporte à biblioteca mysql-connector.
Baixe e instale opencensus-ext-mysql
do PyPI e adicione as linhas a seguir ao seu código.
from opencensus.trace import config_integration
config_integration.trace_integrations(['mysql'])
Dependências com a integração "pymysql"
Acompanhe suas dependências do PyMySQL com a integração pymysql
do OpenCensus.
Baixe e instale opencensus-ext-pymysql
do PyPI e adicione as linhas a seguir ao seu código.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymysql'])
Dependências com a integração "postgresql"
Acompanhe suas dependências do PostgreSQL com a integração postgresql
do OpenCensus. Essa integração dá suporte à biblioteca psycopg2.
Baixe e instale opencensus-ext-postgresql
do PyPI e adicione as linhas a seguir ao seu código.
from opencensus.trace import config_integration
config_integration.trace_integrations(['postgresql'])
Dependências com a integração "pymongo"
Acompanhe suas dependências do MongoDB com a integração pymongo
do OpenCensus. Essa integração dá suporte à biblioteca pymongo.
Baixe e instale opencensus-ext-pymongo
do PyPI e adicione as linhas a seguir ao seu código.
from opencensus.trace import config_integration
config_integration.trace_integrations(['pymongo'])
Dependências com a integração "sqlalchemy"
Acompanhe suas dependências usando o SQLAlchemy usando a integração sqlalchemy
do OpenCensus. Essa integração acompanha o uso do pacote sqlalchemy, independentemente do banco de dados subjacente.
from opencensus.trace import config_integration
config_integration.trace_integrations(['sqlalchemy'])