Azure Core Tracing OpenTelemetry-klientbibliotek för Python – version 1.0.0b9
Komma igång
Installera paketet
Installera opentelemetry python för Python med pip:
pip install azure-core-tracing-opentelemetry
Nu kan du använda opentelemetry för Python som vanligt med alla SDK:er som är kompatibla med azure-core-spårning. Detta inkluderar (inte fullständig lista), azure-storage-blob, azure-keyvault-secrets, azure-eventhub osv.
Viktiga begrepp
Du behöver inte skicka någon kontext. SDK hämtar den åt dig
Dessa rader är de enda som du behöver för att aktivera spårning
from azure.core.settings import settings from azure.core.tracing.ext.opentelemetry_span import OpenTelemetrySpan settings.tracing_implementation = OpenTelemetrySpan
Exempel
Det finns ingen explicit kontext att skicka. Du skapar bara din vanliga opentelemetry-spårning och anropar all SDK-kod som är kompatibel med azure-core-spårning. Det här är ett exempel med Hjälp av Azure Monitor-exporteraren, men du kan använda valfri exportör (Zipkin osv.).
# 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 finns i paketetopentelemetry-azure-monitor-exporter
Felsökning
Den här klienten genererar undantag som definierats i Azure Core.
Nästa steg
Mer dokumentation om Konfiguration av OpenTelemetry finns på Webbplatsen för OpenTelemetry
Bidra
Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns på https://cla.microsoft.com.
När du skickar en pull-förfrågan avgör en CLA-robot automatiskt om du måste tillhandahålla ett licensavtal för bidrag med lämplig PR (t.ex. etikett eller kommentar). Följ bara robotens anvisningar. Du behöver bara göra detta en gång för alla repor som använder vårt licensavtal för bidrag.
Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekoden eller kontakta opencode@microsoft.com med ytterligare frågor eller kommentarer.