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.