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.