Biblioteca cliente de OpenTelemetry de Seguimiento básico de Azure para Python: versión 1.0.0b9
Introducción
Instalar el paquete
Instale el python opentelemetry para Python con pip:
pip install azure-core-tracing-opentelemetry
Ahora puede usar opentelemetry para Python como de costumbre con los SDK que sean compatibles con el seguimiento de azure-core. Esto incluye (no lista exhaustiva), azure-storage-blob, azure-keyvault-secrets, azure-eventhub, etc.
Conceptos clave
No es necesario pasar ningún contexto, el SDK lo obtendrá por usted.
Esas líneas son las únicas que necesita para habilitar el seguimiento
from azure.core.settings import settings from azure.core.tracing.ext.opentelemetry_span import OpenTelemetrySpan settings.tracing_implementation = OpenTelemetrySpan
Ejemplos
No hay ningún contexto explícito para pasar, solo tiene que crear el seguimiento de opentelemetry habitual y llamar a cualquier código del SDK compatible con el seguimiento de azure-core. Este es un ejemplo con el exportador de Azure Monitor, pero puede usar cualquier 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 se puede encontrar en el paquete.opentelemetry-azure-monitor-exporter
Solución de problemas
Este cliente genera excepciones definidas en Azure Core.
Pasos siguientes
Puede encontrar más documentación sobre la configuración de OpenTelemetry en el sitio web de OpenTelemetry.
Contribuciones
Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.
Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.