Сервіс електронної пошти

Цей сервіс надсилатиме підтвердження електронною поштою користувачу, коли замовлення буде розміщено.

Сирці сервісу електронної пошти

Ініціалізація трасування

Вам потрібно буде приєднати основні Ruby gems OpenTelemetry SDK та експортер, а також будь-які gems, які будуть потрібні для бібліотек автоінструментування (наприклад: Sinatra)

require "opentelemetry/sdk" require "opentelemetry/exporter/otlp" require "opentelemetry/instrumentation/sinatra"

Ruby SDK використовує стандартні змінні середовища OpenTelemetry для автоматичної конфігурації експорту OTLP, атрибутів ресурсу та імені сервісу. Під час ініціалізації OpenTelemetry SDK ви також вкажете, які бібліотеки автоінструментування використовувати (наприклад: Sinatra)

OpenTelemetry::SDK.configure do |c| c.use "OpenTelemetry::Instrumentation::Sinatra" end

Трейси

Додавання атрибутів до автоінструментованих відрізків

Під час виконання автоінструментованого коду ви можете отримати поточний відрізок з контексту.

current_span = OpenTelemetry::Trace.current_span

Додавання кількох атрибутів до відрізка здійснюється за допомогою add_attributes на обʼєкті відрізка.

current_span.add_attributes({ "app.order.id" => data.order.order_id, })

Додавання лише одного атрибуту можна здійснити за допомогою set_attribute на обʼєкті відрізка.

span.set_attribute("app.email.recipient", data.email)

Створення нових відрізків

Нові відрізки можна створити та помістити в активний контекст за допомогою in_span з обʼєкта OpenTelemetry Tracer. Коли використовується разом з блоком do..end, відрізок автоматично завершиться, коли блок завершить виконання.

tracer = OpenTelemetry.tracer_provider.tracer('email') tracer.in_span("send_email") do |span| # логіка в контексті спану тут end

Метрики

TBD

Логи

TBD


Востаннє змінено December 26, 2024: [uk] Ukrainian documentation for OpenTelemetry (bd70b52d)