Compartir a través de


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.