Telemetry
Инструменты интеграции наблюдаемости OpenTelemetry.
Полезны для получения более подробной информации о ваших программах.
пространство имен Deno.telemetry
API для работы с платформой наблюдаемости OpenTelemetry. Deno может экспортировать трассировки, метрики и журналы в совместимые с OpenTelemetry серверные системы через протокол OTLP.
Deno автоматически инструментирует среду выполнения, собирая трассировки и метрики OpenTelemetry. Эти данные экспортируются через OTLP в совместимые с OpenTelemetry серверные системы. Пользовательские журналы из API console экспортируются как журналы OpenTelemetry через OTLP.
Пользовательский код также может создавать собственные трассировки, метрики и журналы с помощью API OpenTelemetry. Для этого используется официальный пакет OpenTelemetry для JavaScript: npm:@opentelemetry/api. Deno интегрируется с этим пакетом, обеспечивая трассировку, сбор метрик и передачу контекста трассировки между встроенными API Deno (например, Deno.serve или fetch) и пользовательским кодом. Deno автоматически регистрирует провайдеры в API OpenTelemetry, поэтому пользователи могут сразу создавать собственные трассировки, метрики и журналы без дополнительной настройки.
Примеры
import { trace } from "npm:@opentelemetry/api@1";
const tracer = trace.getTracer("example-tracer");
async function doWork() {
return tracer.startActiveSpan("doWork", async (span) => {
span.setAttribute("key", "value");
await new Promise((resolve) => setTimeout(resolve, 1000));
span.end();
});
}
Deno.serve(async (req) => {
await doWork();
const resp = await fetch("https://example.com");
return resp;
});
Переменные
ContextManager, совместимый с OpenTelemetry.js https://open-telemetry.github.io/opentelemetry-js/interfaces/_opentelemetry_api.ContextManager.html
MeterProvider, совместимый с OpenTelemetry.js https://open-telemetry.github.io/opentelemetry-js/interfaces/_opentelemetry_api.MeterProvider.html
TracerProvider, совместимый с OpenTelemetry.js https://open-telemetry.github.io/opentelemetry-js/interfaces/_opentelemetry_api.TracerProvider.html
переменная Deno.telemetry.contextManager
ContextManager, совместимый с OpenTelemetry.js https://open-telemetry.github.io/opentelemetry-js/interfaces/_opentelemetry_api.ContextManager.html
Это синглтон-объект, реализующий интерфейс ContextManager OpenTelemetry.
Тип
any переменная Deno.telemetry.meterProvider
MeterProvider, совместимый с OpenTelemetry.js https://open-telemetry.github.io/opentelemetry-js/interfaces/_opentelemetry_api.MeterProvider.html
Это синглтон-объект, реализующий интерфейс MeterProvider OpenTelemetry.
Тип
any переменная Deno.telemetry.tracerProvider
TracerProvider, совместимый с OpenTelemetry.js https://open-telemetry.github.io/opentelemetry-js/interfaces/_opentelemetry_api.TracerProvider.html
Это синглтон-объект, реализующий интерфейс TracerProvider OpenTelemetry.
Тип
any
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/telemetry