Bagikan melalui


Pustaka klien OpenTelemetry Azure Core Tracing untuk Python - versi 1.0.0b9

Memulai

Menginstal paket

Instal python opentelemetry untuk Python dengan pip:

pip install azure-core-tracing-opentelemetry

Sekarang Anda dapat menggunakan opentelemetry untuk Python seperti biasa dengan SDK apa pun yang kompatibel dengan pelacakan azure-core. Ini termasuk (bukan daftar lengkap), azure-storage-blob, azure-keyvault-secrets, azure-eventhub, dll.

Konsep utama

  • Anda tidak perlu meneruskan konteks apa pun, SDK akan mendapatkannya untuk Anda

  • Baris tersebut adalah satu-satunya yang Anda butuhkan untuk mengaktifkan pelacakan

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

Contoh

Tidak ada konteks eksplisit untuk diteruskan, Anda cukup membuat pelacak opentelemetry biasa dan memanggil kode SDK apa pun yang kompatibel dengan pelacakan azure-core. Ini adalah contoh menggunakan pengekspor Azure Monitor, tetapi Anda dapat menggunakan pengekspor apa pun (Zipkin, dll.).


# 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 dapat ditemukan dalam paketopentelemetry-azure-monitor-exporter

Pemecahan Masalah

Klien ini memunculkan pengecualian yang ditentukan dalam Azure Core.

Langkah berikutnya

Dokumentasi lebih lanjut tentang konfigurasi OpenTelemetry dapat ditemukan di situs web OpenTelemetry

Berkontribusi

Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.microsoft.com.

Ketika Anda mengirimkan permintaan tarik, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repos menggunakan CLA kami.

Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Tata Tertib atau hubungi opencode@microsoft.com untuk pertanyaan atau komentar lainnya.