@alwaysmeticulous/backend-recorder-launcher

中文文档
3.6.0发布于 2026/11/06ISCTypeScriptCommonJS构建来源已验证近 30 天下载 19.4万

下载后端记录器捆绑并执行脚本

中文使用文档
文档目录6 节
  1. 设置
  2. 备选案文1:使用 instrumentation.js (建议)
  3. 备选案文2:自动点名(零码)
  4. 配置
  5. 编辑已记录的后端数据
  6. 伟大的关闭

后端录音器启动器

下载后端记录器捆绑脚本并执行. 后端记录器在Node.js应用中拦截到HTTP请求/响应,使用OpenTeleometry,输出范围为Meticulous.

设置

npm install @alwaysmeticulous/backend-recorder-launcher

创建或更新您的 instrumentation.js (或 instrumentation.ts) 位于项目根上的文件 :

const {
  initBackendRecorder,
} = require("@alwaysmeticulous/backend-recorder-launcher");

initBackendRecorder({
  recordingToken: process.env.METICULOUS_RECORDING_TOKEN,
});

然后开始你的应用 --require 标记, 因此记录器是在应用程序代码前加载的 :

node --require ./instrumentation.js app.js

如果您正在使用 Next.js, 请加入仪器钩 instrumentation.ts数字 :

export async function register() {
  if (process.env.NEXT_RUNTIME === "nodejs") {
    const { initBackendRecorder } =
      await import("@alwaysmeticulous/backend-recorder-launcher");
    await initBackendRecorder({
      recordingToken: process.env.METICULOUS_RECORDING_TOKEN,
    });
  }
}

备选案文2:自动点名(零码)

使用 auto-init 初始化记录器作为副作用的入口。 不需要更改代码——只需添加 --require 旗帜 :

node --require @alwaysmeticulous/backend-recorder-launcher/auto-init app.js

自动点读自环境变量的配置.

配置

initBackendRecorder 接受可选选项 BackendRecorderConfig 对象 :

选项类型说明
enabledboolean启用/ 禁用记录器( 默认 ): true(中文(简体) )
meticulousProjectNamestring冰毒项目的名称
recordingTokenstring用于认证上传的托肯
exportMode"local" | "s3"导出跨度( 默认值 : "local"(中文(简体) )
localOutputDirstring本地出口目录
flushIntervalMsnumber冲出( 毫秒) 频率
spanRedactionHooks((value: string) => string)[]上传前转换可编辑跨字符串的记录时间钩

编辑已记录的后端数据

使用 spanRedactionHooks 在保存或上传完成的跨度之前替换敏感值. 每个钩子接收每个可编辑的字符串,必须返回一个字符串. 钩子按顺序跑 提供.

await initBackendRecorder({
  recordingToken: process.env.METICULOUS_RECORDING_TOKEN,
  spanRedactionHooks: [
    (value) =>
      value.replace(/api_key=[A-Za-z0-9_-]+/g, "api_key=[REDACTED_API_KEY]"),
  ],
});

钩子覆盖横跨名称,错误/状态消息,以及所有横跨属性值,包括字符串 内部数组或对象和 JSON 在字符串中捕获。 他们不改变属性名称, 痕量/宽度/父母身份、时间戳、跨度类型、客户端技术路径或前端会话身份.

虎克只在录音时运行. 如果钩子扔出或还回了非弦, 金属会放弃 而不是在没有编辑的情况下保存间隔。 替换后端生成的请求数据 也可以修改重放匹配键; 使用稳定的替换并验证相应的输入 将在重播时具有相同的值。 此程序选项适用于节点.js记录器和 cloudflare工人侧车不可用.

伟大的关闭

initBackendRecorder 返回 a BackendRecorderHandle 带有 stopRecording() 方法。 在您的进程退出前拨打它以冲出任何待定的跨度 :

const handle = await initBackendRecorder({
  /* ... */
});

process.on("SIGTERM", async () => {
  await handle?.stopRecording();
  process.exit(0);
});

版本与发布记录

@alwaysmeticulous/backend-recorder-launcher 共发布 90 个版本,首次发布于 2026/05/05;过去 12 个月发布了 90 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.6.0latest2026/11/06今天
3.5.02026/11/051 天前
3.4.12026/10/297 天前
3.2.02026/10/2214 天前
3.1.02026/10/2215 天前
3.0.02026/10/1620 天前

关于 @alwaysmeticulous/backend-recorder-launcher 的常见问题

@alwaysmeticulous/backend-recorder-launcher 是什么?

下载后端记录器捆绑并执行脚本

如何安装 @alwaysmeticulous/backend-recorder-launcher?

在项目目录运行 npm install @alwaysmeticulous/backend-recorder-launcher,或使用 pnpm add / yarn add / bun add。

@alwaysmeticulous/backend-recorder-launcher 支持 TypeScript 吗?

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

@alwaysmeticulous/backend-recorder-launcher 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@alwaysmeticulous/backend-recorder-launcher 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >= 18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@alwaysmeticulous/backend-recorder-launcher 可以商用吗?

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

@alwaysmeticulous/backend-recorder-launcher 的下载量有多少?

根据 npm 官方下载统计,@alwaysmeticulous/backend-recorder-launcher 在 2026/10/06 – 2026/11/04 这 30 天内被下载 194,370 次,日均约 6,479 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@alwaysmeticulous/backend-recorder-launcher 还在维护吗?

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