@ agent-native/otel (英语)
OpenTeleometry SDK接线为代理-Native应用程序. 它与OTLP出口商一起建立了一个计量供应商和一个跟踪提供者,并向这些出口商进行登记 @agent-native/core 结束 registerObservabilityProvider()。 。 。 .
除非设置了OTLP的终点,否则它什么也做不了,因此应用可以无条件依赖. Apps从一党模板中脚手架已经包含; 要添加到另一个应用中:
pnpm add @agent-native/otel
然后从服务器插件开始 :
// server/plugins/otel.ts
import { defineNitroPlugin } from "@agent-native/core/server";
import { startAgentNativeOtel } from "@agent-native/otel";
export default defineNitroPlugin(() => {
startAgentNativeOtel();
});
配置使用标准的 OpenTeleometry 变量 :
| 变量 | 效果 |
|---|---|
OTEL_EXPORTER_OTLP_ENDPOINT | 打开两个信号; /v1/metrics 财务报告和审定财务报表 /v1/traces 现附上 |
OTEL_EXPORTER_OTLP_METRICS_ENDPOINT 编号 : _TRACES_ENDPOINT | 只打开这个信号, 在这个精确的 URL 上 |
OTEL_EXPORTER_OTLP_HEADERS | 随每个导出发送的信头, 例如 . Authorization=Bearer%20… |
OTEL_SERVICE_NAME | service.name |
OTEL_RESOURCE_ATTRIBUTES | 额外的资源属性,例如:. deployment.environment.name |
OTEL_TRACES_SAMPLER 编号 : _ARG | 追踪取样,例如:. parentbased_traceidratio 编号 : 0.01 |
OTEL_METRICS_EXPORTER 编号 : OTEL_TRACES_EXPORTER | otlp (违约)或 none; 任何其它值启动失败 |
OTEL_EXPORTER_OTLP_PROTOCOL (和每个符号覆盖) | http/protobuf 只有; 其它任何值启动失败 |
量度使用随机的累积时间 service.instance.id 每个过程,所以每个过程都是自己的系列. 在无服务器运行时间(Netlify, AWS Lambda, Vercel, Cloudflare)上,作为 @agent-native/core 探测到它们,核心力量-流出两个提供者在反应后,封顶为2秒,每个过程最多每10秒输出一次;其他的计量每60秒输出一次.