Partager via


Bibliothèque de client OpenTelemetry de traçage Azure Core pour Python - version 1.0.0b9

Prise en main

Installer le package

Installez opentelemetry python pour Python avec pip :

pip install azure-core-tracing-opentelemetry

Vous pouvez maintenant utiliser opentelemetry pour Python comme d’habitude avec tous les SDK compatibles avec le suivi azure-core. Cela inclut (liste non exhaustive), azure-storage-blob, azure-keyvault-secrets, azure-eventhub, etc.

Concepts clés

  • Vous n’avez pas besoin de passer un contexte, le SDK l’obtiendra pour vous

  • Ces lignes sont les seules dont vous avez besoin pour activer le suivi

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

Exemples

Il n’y a pas de contexte explicite à passer. Il vous suffit de créer votre traceur opentelemetry habituel et d’appeler n’importe quel code sdk compatible avec le suivi azure-core. Il s’agit d’un exemple d’utilisation d’un exportateur Azure Monitor, mais vous pouvez utiliser n’importe quel exportateur (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

Vous trouverez Azure Exporter dans le packageopentelemetry-azure-monitor-exporter

Résolution des problèmes

Ce client déclenche des exceptions définies dans Azure Core.

Étapes suivantes

Vous trouverez plus de documentation sur la configuration d’OpenTelemetry sur le site web OpenTelemetry

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.