Клиентская библиотека OpenTelemetry для Трассировки Azure Core для Python — версия 1.0.0b9
Начало работы
Установка пакета
Установите python opentelemetry для Python с помощью pip:
pip install azure-core-tracing-opentelemetry
Теперь opentelemetry для Python можно использовать обычным образом с любыми пакетами SDK, совместимыми с трассировкой Azure-Core. К ним относятся (не исчерпывающий список), azure-storage-blob, azure-keyvault-secrets, azure-eventhub и т. д.
Основные понятия
Вам не нужно передавать какой-либо контекст, пакет SDK получит его за вас
Эти строки являются единственными, которые необходимы для включения трассировки
from azure.core.settings import settings from azure.core.tracing.ext.opentelemetry_span import OpenTelemetrySpan settings.tracing_implementation = OpenTelemetrySpan
Примеры
Нет явного контекста для передачи. Просто создайте обычный трассировщик opentelemetry и вызовите любой код пакета SDK, совместимый с трассировкой Azure-Core. Это пример использования средства экспорта Azure Monitor, но вы можете использовать любой экспорт (Zipkin и т. д.).
# 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 можно найти в пакетеopentelemetry-azure-monitor-exporter
Устранение неполадок
Этот клиент вызывает исключения, определенные в Azure Core.
Дальнейшие действия
Дополнительную документацию по конфигурации OpenTelemetry можно найти на веб-сайте OpenTelemetry.
Участие
На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Для получения подробных сведений посетите веб-страницу https://cla.microsoft.com.
При отправке запроса на включение внесенных изменений CLA-бот автоматически определит необходимость предоставления соглашения CLA и соответствующего оформления запроса на включение внесенных изменений (например, добавление метки, комментария). Просто следуйте инструкциям бота. Будет достаточно выполнить их один раз для всех репозиториев, поддерживающих соглашение CLA.
В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.