快速计算 JavaScript 的打开远程
执行 打开远程 JavaScript API 页:1 快速计算。 。 。 .
生成像这样的痕迹, 以跟踪您计算应用程序中的活动和时间 :

指数.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-backend | A 类 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-backend | A 类 计量导出器 使用 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-logger | A 类 对话框 将日志记录到一个快速命名的日志提供者. |
| 核心公用事业 (内部使用) | (未出口) | 供图书馆内部使用的公用事业,而不是用户代码. |
实例
参见 /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。 。 。 . |
AsyncHooksContextManagerAsyncLocalStorageContextManager | @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。 。 。 . |
问题
如果你遇到任何与安全无关的错误或意外行为,请 提交问题 使用错误报告模板.
安全问题
请看我们的 警卫 指导如何报告与安全有关的问题.
许可证
麻省理工学院。 。 。 .