Skip to content
Our Sponsors
Open in Anthropic

title: OpenTelemetry 插件 - ElysiaJS head:

    • meta
    • property: 'og:title' content: OpenTelemetry 插件 - ElysiaJS
    • meta
    • name: 'description' content: 为 Elysia 添加 OpenTelemetry 支持的插件。使用 "bun add @elysiajs/opentelemetry" 开始安装插件。
    • meta
    • name: 'og:description' content: 为 Elysia 添加 OpenTelemetry 支持的插件。使用 "bun add @elysiajs/opentelemetry" 开始安装插件。

OpenTelemetry

TIP

此页面是 OpenTelemetry配置参考,如果您想要设置和集成 OpenTelemetry,我们建议您查看 与 OpenTelemetry 集成

要开始使用 OpenTelemetry,请安装 @elysiajs/opentelemetry 并将插件应用到任何实例。

typescript
import { 
Elysia
} from 'elysia'
import {
opentelemetry
} from '@elysiajs/opentelemetry'
import {
BatchSpanProcessor
} from '@opentelemetry/sdk-trace-node'
import {
OTLPTraceExporter
} from '@opentelemetry/exporter-trace-otlp-proto'
new
Elysia
()
.
use
(
opentelemetry
({
spanProcessors
: [
new
BatchSpanProcessor
(
new
OTLPTraceExporter
()
) ] }) )

jaeger showing collected trace automatically

Elysia OpenTelemetry 将收集任何兼容 OpenTelemetry 标准的库的 span,并自动应用父级和子级 span。

用法

有关用法和工具,请参阅 opentelemetry

配置

此插件扩展了 OpenTelemetry SDK 参数选项。

以下是插件接受的配置

autoDetectResources - boolean

使用默认资源检测器从环境中自动检测资源。

默认值:true

contextManager - ContextManager

使用自定义上下文管理器。

默认值:AsyncHooksContextManager

textMapPropagator - TextMapPropagator

使用自定义传播器。

默认值:使用 W3C Trace Context 和 Baggage 的 CompositePropagator

metricReader - MetricReader

添加将传递给 MeterProvider 的 MetricReader。

views - View[]

将传递给 MeterProvider 的视图列表。

接受 View 实例数组。此参数可用于配置直方图指标的显式存储桶大小。

instrumentations - (Instrumentation | Instrumentation[])[]

配置检测。

默认启用 getNodeAutoInstrumentations,如果您想启用它们,可以使用元包或单独配置每个检测。

默认值:getNodeAutoInstrumentations()

resource - IResource

配置资源。

也可以通过使用 SDK 的 autoDetectResources 方法检测资源。

resourceDetectors - Array<Detector | DetectorSync>

配置资源检测器。默认情况下,资源检测器为 [envDetector, processDetector, hostDetector]。注意:为了启用检测,参数 autoDetectResources 必须为 true。

如果未设置 resourceDetectors,您也可以使用环境变量 OTEL_NODE_RESOURCE_DETECTORS 来仅启用某些检测器或完全禁用它们:

  • env
  • host
  • os
  • process
  • serviceinstance(实验性)
  • all - 启用上述所有资源检测器
  • none - 禁用资源检测

例如,要仅启用 env、host 检测器:

bash
export OTEL_NODE_RESOURCE_DETECTORS="env,host"

sampler - Sampler

配置自定义采样器。默认情况下,将采样所有跟踪。

serviceName - string

用作标识的命名空间。

spanProcessors - SpanProcessor[]

要注册到跟踪提供程序的 span 处理器数组。

traceExporter - SpanExporter

配置跟踪导出器。如果配置了导出器,它将与 BatchSpanProcessor 一起使用。

如果未以编程方式配置导出器或 span 处理器,此包将自动设置带有 http/protobuf 协议的默认 otlp 导出器和 BatchSpanProcessor。

spanLimits - SpanLimits

配置跟踪参数。这些与配置跟踪器使用的相同跟踪参数。