@dotcom-reliability-kit/app-info

中文文档
5.0.1发布于 2026/07/14MITTypeScriptES Module零依赖近 30 天下载 1.3万

用于以一致的方式获取应用程序信息 .

中文使用文档
文档目录16 节
  1. 使用量
  2. appInfo.commitHash
  3. appInfo.environment
  4. appInfo.region
  5. appInfo.releaseDate
  6. appInfo.releaseVersion
  7. appInfo.systemCode
  8. appInfo.processType
  9. appInfo.cloudProvider
  10. appInfo.herokuAppId
  11. appInfo.herokuDynoId
  12. appInfo.instanceId
  13. appInfo.semanticConventions
  14. 移动
  15. 捐款
  16. 许可证

@ dotcom- relisity- kit/ app- info

一个以一致的方式获取应用信息(如系统代码)的效用. 此模块是 FT.com 可靠性工具包。 。 。 .

使用量

安装 @dotcom-reliability-kit/app-info 作为依附关系:

npm install --save @dotcom-reliability-kit/app-info

在代码中包含 :

import appInfo from '@dotcom-reliability-kit/app-info';

[TIP] 如果您使用此软件包并带有 TypeScript , 我们建议您使用以下设置: tsconfig.json 避免类型错误的文件 :

{
    "esModuleInterop": true,
    "module": "nodenext",
    "moduleResolution": "nodenext"
}

这个 appInfo 对象具有若干属性,可用于访问应用程序信息.

appInfo.commitHash

得到承诺散列 应用程序上一个部署。 这将是一个字符串( 如果 process.env.HEROKU_SLUG_COMMIT, (中文(简体) ), process.env.GIT_COMMIT_LONG,或 process.env.GIT_COMMIT 定义)或 null 否则.

对赫鲁库来说 这取决于 Dyno 元数据实验室特性 并且不会参与地方发展.

对于AWS Lambda,您可以使用一个插件,例如 无服务器插件- git 变量 或设置 GIT_COMMIT 部署时的环境变量.

appInfo.environment

获取应用程序环境, 通常是 development 或者说 production。这将是一个字符串,按顺序尝试并默认为 development数字 :

  • DEPLOYMENT_ENVIRONMENT
  • RELEASE_ENV
  • ENVIRONMENT
  • NODE_ENV

appInfo.region

获取应用程序正在运行的区域 。 这将是一个字符串( 如果 process.env.REGION 或者说 process.env.AWS_REGION 定义)或 null 否则.

appInfo.releaseDate

获取应用程序Heroku发布日期 。 这将是一个字符串( 如果 process.env.HEROKU_RELEASE_CREATED_AT 定义)或 null 否则.

对赫鲁库来说 这取决于 Dyno 元数据实验室特性 并且不会参与地方发展.

appInfo.releaseVersion

获取应用程序 Heroku 发布版本 。 这将是一个字符串( 如果 process.env.HEROKU_RELEASE_VERSION 或者说 process.env.AWS_LAMBDA_FUNCTION_VERSION 定义)或 null 否则.

对赫鲁库来说 这取决于 Dyno 元数据实验室特性 并且不会参与地方发展.

appInfo.systemCode

拿到申请表 Biz 行动 系统代码。 这将是一个字符串( 如果 process.env.SYSTEM_CODE 如果不是定义,则将从 name 财产 $CWD/package.json如果两者都不存在,则将注定 null。 。 。 .

如果系统代码是从应用程序读取的 package.json 然后它将被剥去任何 "ft-" 前缀 – 这是一个遗留名称, 我们的应用系统代码不是从它开始的 .

appInfo.processType

获取运行进程的类型, 即应用程序内当前进程的名称 .

将 AWS Lambda 改为: process.env.AWS_LAMBDA_FUNCTION_NAME。 。 。 .

对于Heroku来说,这是从以下第一部分衍生出来的: process.env.DYNO,由Heroku设定,例如,一个叫作 web.1 将会有 processType 设置为 web。应用程序中的流程类型由应用程序的 Procfile。 。 。 .

如果没有 process.env.AWS_LAMBDA_FUNCTION_NAME 或者说 process.env.DYNO 设置中,此属性将会是 null

appInfo.cloudProvider

获取云提供器的类型, 它被设定为 Heroku 或 AWS 取决于我们认为系统的主机位置 .

这来自一些我们高度信任的环境变量,只有Heroku或AWS/Lambda定义

appInfo.herokuAppId

拿着 process.env.HEROKU_APP_ID 这是应用程序的独有标识符。例如“9daa2797-e49b-4624-932f-ec3f9688e3da”

这是由 Dyno 元数据衍生出来的

appInfo.herokuDynoId

拿着 process.env.HEROKU_DYNO_ID 是阴道标识符

这是由 Dyno 元数据衍生出来的

appInfo.instanceId

获取应用程序运行实例的独有标识符 。 这将是一个不同的UUID,每个运行的过程,包括集群工人.

appInfo.semanticConventions

此对象包含主对象的别名 appInfo 对应 OpenTeleometry 属性 语义公约。我们使用下列绘图:

  • appInfo.semanticConventions.cloud.provider 别名 appInfo.cloudProvider
  • appInfo.semanticConventions.cloud.region 别名 appInfo.region
  • appInfo.semanticConventions.deployment.environment 别名 appInfo.environment
  • appInfo.semanticConventions.service.name 别名 appInfo.systemCode
  • appInfo.semanticConventions.service.version 别名 appInfo.releaseVersion
  • appInfo.semanticConventions.service.instance.id 别名 appInfo.instanceId

[尖叫声] 其它所有属性默认为 null 如果无法计算,则语义公约属性默认为 undefined。这是为了确保与 OpenTeleometry SDKs 更好的兼容性.

移动

咨询 移徙指南 如果你想要迁移到这个软件包的后期主要版本.

捐款

见 可靠性工具包中心贡献指南。 。 。 .

许可证

凭 麻省理工学院 执照.
版权:"2022","金融时报"有限公司.

版本与发布记录

@dotcom-reliability-kit/app-info 共发布 26 个版本,首次发布于 2022/08/23;过去 12 个月发布了 3 个版本。

版本发布日期距今
5.0.1latest2026/07/144 个月前
5.0.02026/06/234 个月前
5.0.0-beta.1prerelease2026/06/035 个月前
4.2.12025/10/141.1 年前
4.2.02025/05/081.5 年前
4.1.02025/03/261.6 年前

关于 @dotcom-reliability-kit/app-info 的常见问题

@dotcom-reliability-kit/app-info 是什么?

用于以一致的方式获取应用程序信息 .

如何安装 @dotcom-reliability-kit/app-info?

在项目目录运行 npm install @dotcom-reliability-kit/app-info,或使用 pnpm add / yarn add / bun add。

@dotcom-reliability-kit/app-info 支持 TypeScript 吗?

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

@dotcom-reliability-kit/app-info 支持 ESM 还是 CommonJS?

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

@dotcom-reliability-kit/app-info 需要什么版本的 Node.js?

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

@dotcom-reliability-kit/app-info 可以商用吗?

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

@dotcom-reliability-kit/app-info 的下载量有多少?

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

@dotcom-reliability-kit/app-info 还在维护吗?

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