Biblioteca de clientes OpenTelemetry do Rastreamento do Azure Core para Python – versão 1.0.0b9
Introdução
Instalar o pacote
Instale o opentelemetry python para Python com pip:
pip install azure-core-tracing-opentelemetry
Agora você pode usar opentelemetry para Python como de costume com todos os SDKs compatíveis com o rastreamento azure-core. Isso inclui (lista não exaustiva), azure-storage-blob, azure-keyvault-secrets, azure-eventhub etc.
Principais conceitos
Você não precisa passar nenhum contexto, o SDK vai obtê-lo para você
Essas linhas são as únicas que você precisa para habilitar o rastreamento
from azure.core.settings import settings from azure.core.tracing.ext.opentelemetry_span import OpenTelemetrySpan settings.tracing_implementation = OpenTelemetrySpan
Exemplos
Não há nenhum contexto explícito a ser passado, basta criar seu rastreamento opentelemetry usual e chamar qualquer código SDK compatível com o rastreamento do azure-core. Este é um exemplo usando o exportador do Azure Monitor, mas você pode usar qualquer exportador (Zipkin, etc.).
# Declare OpenTelemetry as enabled tracing plugin for Azure SDKs
from azure.core.settings import settings
from azure.core.tracing.ext.opentelemetry_span import OpenTelemetrySpan
settings.tracing_implementation = OpenTelemetrySpan
# In the below example, we use a simple console exporter, uncomment these lines to use
# the Azure Monitor Exporter.
# Example of Azure Monitor exporter, but you can use anything OpenTelemetry supports
# from azure_monitor import AzureMonitorSpanExporter
# exporter = AzureMonitorSpanExporter(
# instrumentation_key="uuid of the instrumentation key (see your Azure Monitor account)"
# )
# Regular open telemetry usage from here, see https://github.com/open-telemetry/opentelemetry-python
# for details
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import ConsoleSpanExporter
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
# Simple console exporter
exporter = ConsoleSpanExporter()
trace.set_tracer_provider(TracerProvider())
tracer = trace.get_tracer(__name__)
trace.get_tracer_provider().add_span_processor(
SimpleSpanProcessor(exporter)
)
# Example with Storage SDKs
from azure.storage.blob import BlobServiceClient
with tracer.start_as_current_span(name="MyApplication"):
client = BlobServiceClient.from_connection_string('connectionstring')
client.create_container('mycontainer') # Call will be traced
O Exportador do Azure pode ser encontrado no pacoteopentelemetry-azure-monitor-exporter
Solução de problemas
Esse cliente gera exceções definidas no Azure Core.
Próximas etapas
Mais documentação sobre a configuração do OpenTelemetry pode ser encontrada no site do OpenTelemetry
Contribuição
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.
Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.