Share via


Biblioteca de clientes Azure Core Tracing OpenTelemetry para Python - versão 1.0.0b9

Introdução

Instale o pacote

Instale a pitão de opentelemetry para Python com pip:

pip install azure-core-tracing-opentelemetry

Agora você pode usar a teleemético aberto para Python como de costume com quaisquer SDKs que sejam compatíveis com o rastreio do núcleo azul. Isto inclui (não lista exaustiva), azure-storage-blob, azure-keyvault-secrets, azure-eventhub, etc.

Conceitos-chave

  • Não precisas de passar nenhum contexto, a SDK vai ter para ti.

  • Essas linhas são as únicas que precisa para permitir o rastreio

      from azure.core.settings import settings
      from azure.core.tracing.ext.opentelemetry_span import OpenTelemetrySpan
      settings.tracing_implementation = OpenTelemetrySpan
    

Exemplos

Não há um contexto explícito para passar, basta criar o seu habitual localizador de opentelemetry e chamar qualquer código SDK que seja compatível com o rastreio do núcleo azul. Este é um exemplo utilizando o exportador Azure Monitor, mas pode utilizar 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

Azure Exporter pode ser encontrado na embalagemopentelemetry-azure-monitor-exporter

Resolução de problemas

Este cliente levanta exceções definidas no Azure Core.

Passos seguintes

Mais documentação sobre a configuração da OpenTelemetry podem ser encontradas no site da OpenTelemetry

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para mais detalhes, visite https://cla.microsoft.com.

Quando submete um pedido Pull, um bot do CLA determina automaticamente se tem de fornecer um CLA e decorar o PR de forma adequada (por exemplo, etiqueta, comentário). Só tem de seguir as instruções fornecidas pelo bot. Apenas terá de fazer isto uma vez em todos os repositórios com o nosso CLA.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para mais informações consulte o Código de Conduta FAQ ou contacte opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.