Udostępnij za pośrednictwem


Biblioteka klienta openTelemetry śledzenia platformy Azure dla języka Python — wersja 1.0.0b9

Wprowadzenie

Instalowanie pakietu

Zainstaluj język Python opentelemetry dla języka Python za pomocą narzędzia pip:

pip install azure-core-tracing-opentelemetry

Teraz możesz używać funkcji opentelemetry dla języka Python w zwykły sposób z dowolnymi zestawami SDK, które są zgodne z śledzeniem azure-core. Obejmuje to (nie wyczerpującą listę), azure-storage-blob, azure-keyvault-secrets, azure-eventhub itp.

Kluczowe pojęcia

  • Nie musisz przekazywać żadnego kontekstu. Zestaw SDK otrzyma go za Ciebie

  • Te wiersze są jedynymi wierszami, które należy włączyć do śledzenia

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

Przykłady

Nie ma jawnego kontekstu do przekazania. Wystarczy utworzyć zwykły element śledzenia opentelemetry i wywołać dowolny kod zestawu SDK zgodny z funkcją śledzenia azure-core. Jest to przykład użycia eksportera usługi Azure Monitor, ale możesz użyć dowolnego eksportera (Zipkin itp.).


# 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

Eksporter platformy Azure można znaleźć w pakiecieopentelemetry-azure-monitor-exporter

Rozwiązywanie problemów

Ten klient zgłasza wyjątki zdefiniowane w usłudze Azure Core.

Następne kroki

Więcej dokumentacji dotyczącej konfiguracji usługi OpenTelemetry można znaleźć w witrynie internetowej OpenTelemetry

Współtworzenie

W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę https://cla.microsoft.com.

Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.

W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.