Delen via


Azure Core Tracing OpenTelemetry-clientbibliotheek voor Python - versie 1.0.0b9

Aan de slag

Het pakket installeren

Installeer de opentelemetry python voor Python met pip:

pip install azure-core-tracing-opentelemetry

U kunt nu opentelemetry voor Python gebruiken zoals gebruikelijk met SDK's die compatibel zijn met azure-core-tracering. Dit omvat (niet uitputtende lijst), azure-storage-blob, azure-keyvault-secrets, azure-eventhub, enzovoort.

Belangrijkste concepten

  • U hoeft geen context door te geven, de SDK krijgt deze voor u

  • Dit zijn de enige regels die u nodig hebt om tracering in te schakelen

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

Voorbeelden

Er is geen expliciete context om door te geven. U hoeft alleen uw gebruikelijke opentelemetrietracer te maken en SDK-code aan te roepen die compatibel is met azure-core-tracering. Dit is een voorbeeld met behulp van Azure Monitor-exporteur, maar u kunt elke exporteur gebruiken (Zipkin, enzovoort).


# 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 vindt u in het pakketopentelemetry-azure-monitor-exporter

Problemen oplossen

Deze client genereert uitzonderingen die zijn gedefinieerd in Azure Core.

Volgende stappen

Meer documentatie over de configuratie van OpenTelemetry vindt u op de OpenTelemetry-website

Bijdragen

Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar https://cla.microsoft.com voor meer informatie.

Wanneer u een pull-aanvraag indient, wordt met een CLA-bot automatisch bepaald of u een CLA moet verschaffen en wordt de pull-aanvraag dienovereenkomstig opgemaakt (bijvoorbeeld met een label of commentaar). Volg gewoon de instructies van de bot. U hoeft dit maar eenmaal te doen voor alle repo's waar gebruik wordt gemaakt van onze CLA.

Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.