Sdílet prostřednictvím


Klientská knihovna OpenTelemetry pro trasování Azure Core pro Python – verze 1.0.0b9

Začínáme

Instalace balíčku

Nainstalujte opentelemetry Python pro Python pomocí pip:

pip install azure-core-tracing-opentelemetry

Teď můžete jako obvykle používat opentelemetry pro Python se všemi sadami SDK, které jsou kompatibilní s trasováním azure-core. To zahrnuje (seznam není úplný), azure-storage-blob, azure-keyvault-secrets, azure-eventhub atd.

Klíčové koncepty

  • Nemusíte předávat žádný kontext, sada SDK ho získá za vás.

  • Tyto řádky jsou jediné, které potřebujete k povolení trasování.

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

Příklady

Neexistuje žádný explicitní kontext, který by bylo potřeba předat, stačí vytvořit obvyklý trasovací nástroj opentelemetry a zavolat jakýkoli kód sady SDK, který je kompatibilní s trasováním azure-core. Toto je příklad použití nástroje pro export služby Azure Monitor, ale můžete použít libovolný exportér (Zipkin atd.).


# 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

Nástroj Azure Exporter najdete v balíčku.opentelemetry-azure-monitor-exporter

Poradce při potížích

Tento klient vyvolává výjimky definované v Azure Core.

Další kroky

Další dokumentaci ke konfiguraci OpenTelemetry najdete na webu OpenTelemetry.

Přispívání

Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete tady: https://cla.microsoft.com

Při odesílání žádosti o přijetí změn robot CLA automaticky určí, jestli je potřeba poskytnout smlouvu CLA, a příslušným způsobem žádost o přijetí změn upraví (např. přidáním jmenovky nebo komentáře). Stačí postupovat podle pokynů robota. Pro všechna úložiště používající naši smlouvu CLA to stačí udělat jenom jednou.

Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo kontaktujte s opencode@microsoft.com případnými dalšími dotazy nebo připomínkami.