IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

В Go для передачи контекста трассировки между архитектурными слоями обычно используется стандартный механизм контекста (context.Context) совместно с инструментами OpenTelemetry (Otel). Вот пошаговое руководство, как это сделать:...

продолжить чтение


TraceQL — это язык запросов, используемый в Grafana Tempo для фильтрации и анализа трассировок. Он позволяет выбирать трейсы и их части (спаны) на основе заданных условий. Ниже приводится описание синтаксиса TraceQL, ключевых элементов языка и примеры использования....

продолжить чтение


OpenTelemetry трассировщик в Go спроектирован так, чтобы минимизировать влияние на основной процесс выполнения программы. Он это достигает за счёт асинхронной обработки данных, эффективного управления буферизацией и отправкой, а также оптимизированного дизайна API. Вот основные принципы, которые помогают ему не тормозить основной процесс:...

продолжить чтение


В OpenTelemetry Go, когда вы создаете новый спан, его родительский идентификатор указывается автоматически через контекст (context.Context). Таким образом, если вы хотите задать родительский идентификатор для нового спана, вам нужно передать контекст, содержащий уже существующий спан, в качестве родителя....

продолжить чтение


В OpenTelemetry Go не нужно создавать новый экземпляр трассировщика для каждого трейса. Обычно, один и тот же трассировщик (tracer) используется для создания нескольких спанов (spans) в рамках одной трассировки (trace)....

продолжить чтение


otel.SetTracerProvider() устанавливает глобальный провайдер трассировки, который становится доступным во всей программе. Это означает, что после вызова этой функции любой пакет или часть кода, использующая OpenTelemetry SDK, сможет получить доступ к этому провайдеру и создавать трейсы и спаны, не создавая отдельный провайдер в каждом пакете....

продолжить чтение