Share via


Azure Core Tracing OpenTelemetry-Clientbibliothek für Python – Version 1.0.0b9

Erste Schritte

Installieren des Pakets

Installieren Sie das opentelemetry-Python für Python mit pip:

pip install azure-core-tracing-opentelemetry

Jetzt können Sie opentelemetry für Python wie gewohnt mit allen SDKs verwenden, die mit der Azure-Core-Ablaufverfolgung kompatibel sind. Dies umfasst (nicht vollständige Liste), azure-storage-blob, azure-keyvault-secrets, azure-eventhub usw.

Wichtige Begriffe

  • Sie müssen keinen Kontext übergeben. Das SDK erhält ihn für Sie

  • Diese Zeilen sind die einzigen, die Sie zum Aktivieren der Ablaufverfolgung benötigen.

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

Beispiele

Es gibt keinen expliziten Kontext, der übergeben werden muss. Sie erstellen einfach Ihren üblichen opentelemetry-Ablaufverfolgungsmodus und rufen jeden SDK-Code auf, der mit der Azure-Core-Ablaufverfolgung kompatibel ist. Dies ist ein Beispiel für den Azure Monitor-Exporter, aber Sie können einen beliebigen Exporter (Zipkin usw.) verwenden.


# 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 finden Sie im Paket.opentelemetry-azure-monitor-exporter

Problembehandlung

Dieser Client löst in Azure Core definierte Ausnahmen aus.

Nächste Schritte

Weitere Dokumentationen zur OpenTelemetry-Konfiguration finden Sie auf der OpenTelemetry-Website.

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.