Share via


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.