Сервіс електронної пошти
Цей сервіс надсилатиме підтвердження електронною поштою користувачу, коли замовлення буде розміщено.
Сирці сервісу електронної пошти
Ініціалізація трасування
Вам потрібно буде приєднати основні 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
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!