@fastly/compute-js-opentelemetry

中文文档
0.4.4发布于 2026/02/12MITTypeScriptES Module构建来源已验证近 30 天下载 7163

快速计算打开遥测 SDK

中文使用文档
文档目录10 节
  1. 新来的!
  2. 模块
  3. 实例
  4. 使用类型脚本
  5. 页:1
  6. 环境变量
  7. 兼容性
  8. 问题
  9. 安全问题
  10. 许可证

快速计算 JavaScript 的打开远程

执行 打开远程 JavaScript API 页:1 快速计算。 。 。 .

生成像这样的痕迹, 以跟踪您计算应用程序中的活动和时间 :

Sample Trace

指数.js数字 :

/// <reference types="@fastly/js-compute" />

import './telemetry.js'
import { context, trace } from "@opentelemetry/api";

addEventListener("fetch", (event) => event.respondWith(handleRequest(event)));
async function handleRequest(event) {
  const tracer = trace.getTracerProvider()
    .getTracer('my-tracer');

  const mySpan = tracer.startSpan('my-task');
  context.with(trace.setSpan(context.active(), mySpan), () => {
    doTask();
  });
  mySpan.end();

  return new Response('OK', {
    status: 200,
    headers: new Headers({"Content-Type": "text/plain"}),
  });
}

遥测.js数字 :

import { context, trace } from "@opentelemetry/api";
import { Resource } from "@opentelemetry/resources";
import { SEMRESATTRS_SERVICE_NAME } from "@opentelemetry/semantic-conventions";

import { FastlySDK } from "@fastly/compute-js-opentelemetry/sdk-fastly";
import { OTLPTraceExporter } from "@fastly/compute-js-opentelemetry/exporter-trace-otlp-fastly-backend";
import { getComputeJsAutoInstrumentations } from "@fastly/compute-js-opentelemetry/auto-instrumentations-compute-js";

const sdk = new FastlySDK({
  traceExporter: new OTLPTraceExporter({ backend: 'otlp-collector' }),
  instrumentations: [ getComputeJsAutoInstrumentations(), ],
  resource: new Resource({ [SEMRESATTRS_SERVICE_NAME]: 'readme-demo', }),
});
await sdk.start();

此执行扩展了该程序提供的标准接口和对象 打开几何 Java 脚本 API 财务报告和审定财务报表 SDK 软件,将其改造后用于快速计算平台.

新来的!

截止 v0.3.0, (中文(简体) ), @fastly/compute-js-opentelemetry 不再需要Webpack了.

此外,如果你使用 FastlySDK 模块,您需要 @fastly/js-compute v3.11.0 或更新并启用顶级等待 。 找到您称之为二进制的位置 js-compute-runtime 财务报告和审定财务报表 添加这样的旗帜 js-compute-runtime --experimental-enable-top-level-await (通常在其中之一) package.json 或者说 fastly.toml) (中文(简体) ).

查看本套件中包含的工作示例的演示.

模块

不过 opentelemetry-js 将每个关注事项分开 npm 软件包, 我们提供我们的组件作为单一的一揽子,有多种出口.

模块 (链接到文档)导出名称说明
快速打开遥测 SDK@fastly/compute-js-opentelemetry/opentelemetry-sdk-fastly一个功能库,简化了正在使用的与计算 JavaScript 应用程序的 OpenTelection 组件的初始化和协调.
快速计算 JavaScript 寿命周期仪器@fastly/compute-js-opentelemetry/opentelemetry-instrumentation-fastly-compute-js一个 仪器库 生成计算应用程序生命周期的痕迹.
快速后端获取仪器@fastly/compute-js-opentelemetry/opentelemetry-instrumentation-fastly-backend-fetch生成跟踪的仪器库 fetch() 呼叫快速后端.
快速计算 JavaScript 自动仪器@fastly/compute-js-opentelemetry/auto-instrumentations-compute-js一个自动为计算JavaScript装入仪器的元包.
快速追踪 SDK@fastly/compute-js-opentelemetry/opentelemetry-sdk-trace-fastly提供 宽处理器, (中文(简体) ), 追踪提供者,以及 背景管理器 用于计算 JavaScript 应用程序的执行.
快速后端追踪导出者@fastly/compute-js-opentelemetry/exporter-trace-otlp-fastly-backendA 类 Span 导出器 使用 OTLP/HTTP JSON(英语: 格式 一个快速后端。 。 。 .
快速命名日志提供者的追踪导出者@fastly/compute-js-opentelemetry/exporter-trace-otlp-fastly-logger使用 OTLP/HTTP JSON 格式输出痕迹的 Span Exporters 执行 在快速命名的日志提供者之上。 。 。 .
快速计量 SDK@fastly/compute-js-opentelemetry/opentelemetry-sdk-metrics-fastly规定 a 量子阅读器 用于计算 JavaScript 应用程序.
快速后端的计量导出器@fastly/compute-js-opentelemetry/exporter-metrics-otlp-fastly-backendA 类 计量导出器 使用 OTLP/HTTP JSON 格式通过快速后端输出度量衡的执行.
快速命名日志提供者的计量导出器@fastly/compute-js-opentelemetry/exporter-metrics-otlp-fastly-logger使用OTLP/HTTP JSON格式在快速命名的日志提供商上输出度量衡的计量输出器执行.
出口基地类别@fastly/compute-js-opentelemetry/otlp-exporter-fastly-base出口商基本类别,包含上述出口商类别使用的通用代码.
快速命名日志提供者的诊断记录器@fastly/compute-js-opentelemetry/diag-fastly-loggerA 类 对话框 将日志记录到一个快速命名的日志提供者.
核心公用事业 (内部使用)(未出口)供图书馆内部使用的公用事业,而不是用户代码.

实例

参见 /examples 目录.

示例目录说明
读取从此 README 开始的示例演示
读取从此 README 开头的示例演示, 移植到 TypeScript
基本追踪-实例基本追踪示例
基本追踪-实例类型脚本中的基本追踪示例
基本计量实例基本计量示例
发音实例可以显示 OpenTeleometry 的痕迹,这些痕迹从边缘开始,从后端进入一个操作.
otel- http- 代用一个样本应用程序旨在作为快速服务的HTTPS日志端点来收集痕迹,将其发送到一个OpenTeleometry收集器.

使用类型脚本

此库旨在与 JavaScript 和 类型脚本 编写申请 快速计算.

检查出来 读取 财务报告和审定财务报表 基本追踪-实例 输入 examples 使用 TypeScript 的工作样本程序目录.

页:1

环境变量

OpenTeleometry 定义了一套有详细记录的 环境变量 用于配置其库的默认值。 然而, JavaScript 应用程序可以运行于 快速的计算平台在 构建时间 ("构建时间初始化") 相当 而不是每次引用时(他们如此快速的开始). 这意味着平台不能提供阅读方式 在构建-时间初始化期间从环境开始的,当大多数OpenTelemotry库正在初始化时.

因此,当使用此库时 getEnv() 函数总是返回由 OpenTeleometry 定义的默认值. 对这些缺省需要的任何修改,都必须按程序进行.

兼容性

有点 opentelemetry-js 模块目前不兼容快速计算. 下表列出了这些组成部分的非全面清单.

构成部分软件包原因/工作
OTLPTraceExporter@opentelemetry/exporter-trace-otlp-http继续使用 XmlHttpRequest 财务报告和审定财务报表 navigator.beacon,在计算中不可用。 使用 OTLPTraceExporter 从 @fastly/compute-js-opentelemetry/exporter-trace-otlp-fastly-backend 或者说 @fastly/compute-js-opentelemetry/exporter-trace-otlp-fastly-logger 换句话说.
OTLPMetricExporter@opentelemetry/exporter-metrics-otlp-http继续使用 XmlHttpRequest 财务报告和审定财务报表 navigator.beacon,在计算中不可用。 使用 OTLPTraceExporter 从 @fastly/compute-js-opentelemetry/exporter-metrics-otlp-fastly-backend 或者说 @fastly/compute-js-opentelemetry/exporter-metrics-otlp-fastly-logger 换句话说.
ZoneContextManager@opentelemetry/context-zone
@opentelemetry/context-zone-peer-dep
继续使用 zone.js,这与计算不一致。 使用 FastlyStackContextManager。 。 。 .
AsyncHooksContextManager
AsyncLocalStorageContextManager
@opentelemetry/context-async-hooks继续使用 async_hooks,在计算中不可用。 使用 FastlyStackContextManager。 。 。 .
NodeSDK@opentelemetry/sdk-node这个SDK是用于节点,与计算不相容. 使用 FastlySDK。 。 。 .
列入的仪器 opentelemetry-js@opentelemetry/instrumentation-*
@opentelemetry/auto-instrumentations-node
@opentelemetry/auto-instrumentations-web
这些都依赖于其他与计算不相容的框架和模块. 使用 FastlyComputeJsInstrumentation 财务报告和审定财务报表 FastlyBackendFetchInstrumentation。 。 。 .

问题

如果你遇到任何与安全无关的错误或意外行为,请 提交问题 使用错误报告模板.

安全问题

请看我们的 警卫 指导如何报告与安全有关的问题.

许可证

麻省理工学院。 。 。 .

版本与发布记录

@fastly/compute-js-opentelemetry 共发布 18 个版本,首次发布于 2022/06/07;过去 12 个月发布了 1 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.4latest2026/02/129 个月前
0.4.32025/09/261.1 年前
0.4.22025/01/061.9 年前
0.4.12024/05/152 年前
0.4.02024/03/152 年前
0.3.12024/03/152 年前

其他发布通道:alpha → 0.2.0-alpha.3。

关于 @fastly/compute-js-opentelemetry 的常见问题

@fastly/compute-js-opentelemetry 是什么?

快速计算打开遥测 SDK

如何安装 @fastly/compute-js-opentelemetry?

在项目目录运行 npm install @fastly/compute-js-opentelemetry,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@fastly/js-compute(^2.0.0 || ^3.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@fastly/compute-js-opentelemetry 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@fastly/compute-js-opentelemetry 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fastly/compute-js-opentelemetry 可以商用吗?

@fastly/compute-js-opentelemetry 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fastly/compute-js-opentelemetry 的下载量有多少?

根据 npm 官方下载统计,@fastly/compute-js-opentelemetry 在 2026/10/15 – 2026/11/13 这 30 天内被下载 7,163 次,日均约 239 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fastly/compute-js-opentelemetry 还在维护吗?

最新版本 0.4.4 发布于 2026/02/12(9 个月前);至今共发布 18 个版本,其中过去 12 个月发布了 1 个;首次发布于 2022/06/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。