# @dynatrace/openkit-js 中文文档

规范地址：https://npmcn.com/package/%40dynatrace/openkit-js/

版本：4\.2\.0
npm 元数据更新时间：2026-04-15T21:55:39.529Z
中文译文更新时间：2026-11-13T02:44:47.501Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dynatrace/openkit-js
原文对照：https://npmcn.com/package/%40dynatrace/openkit-js/?lang=original
源码仓库：https://github.com/Dynatrace/openkit-js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，418 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.18\.9
- 运行依赖：0 个
- 首次发布：2019-07-01T13:53:46.055Z
- 最新版本发布：2025-09-29T15:05:05.899Z
- 近 30 天下载量：13738（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 0 个）

## 中文简介

OpenKit-Java 脚本引用执行

## 安装

```sh
npm install @dynatrace/openkit-js
```

也可以使用：`pnpm add @dynatrace/openkit-js`、`yarn add @dynatrace/openkit-js`、`bun add @dynatrace/openkit-js`

## README

# Dynatrace OpenKit - JavaScript 引用执行

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Build Status](https://github.com/Dynatrace/openkit-js/actions/workflows/build.yml/badge.svg?branch=main) [![Coverage Status](https://coveralls.io/repos/github/Dynatrace/openkit-js/badge.svg?branch=main)](https://coveralls.io/github/Dynatrace/openkit-js?branch=main)

: 資訊 來源: 我们把默认分支名称更改为 `main`。 您可以找到必要的步骤来更新本地克隆 [斯科特·汉塞尔曼博客](https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx)。 。 。 .  
我们鼓励您在叉子中重命名默认分支 .

## 开刀是什么?

OpenKit提供了一种简单而轻巧的方法,通过对Dynatrace应用程序的源代码进行仪器化,以获得对应用程序的洞察.

它最适合从后端分出运行的应用程序,并通过HTTP进行通信,如丰富的客户端应用程序,嵌入式设备,终端等.

OpenKit的一大优点是它的设计是为了

-   尽可能容易使用
-   尽可能无依赖性(不需要第三方库或Dynatrace Agent)
-   易于移植到其他语言和平台

此寄存器包含纯TypeScript中的引用执行. 其他执行情况如下:

-   . NET : (中文(简体) ) [https://github.com/Dynatrace/openkit-dotnet/ 互联网档案馆的存檔,存档日期2013-12-22](https://github.com/Dynatrace/openkit-dotnet/)
-   爪哇语 : [https://github.com/ Dynatrace/openkit-java/ 互联网档案馆的存檔,存档日期2013-12-21](https://github.com/Dynatrace/openkit-java/)
-   丙++: [https://github.com/Dynatrace/openkit-native/ 页面存档备份,存于互联网档案馆](https://github.com/Dynatrace/openkit-native/)

## 您可以对 OpenKit- Java 脚本做什么

-   创建会话和用户动作
-   在会话中识别用户
-   行动价值报告
-   与 Dynatrace 一起使用
-   追踪网络请求到服务器侧纯派

## 无法使用 OpenKit 的

-   创建服务器侧纯PurePaths( 此功能由 [一个代理 SDKs](https://github.com/Dynatrace/OneAgent-SDK)(中文(简体) )
-   创建参数( 使用 [自定义网络设备 API](https://www.dynatrace.com/support/help/dynatrace-api/timeseries/what-does-the-custom-network-devices-and-metrics-api-provide/) 指标)

## 设计原则

-   API应该尽可能简单易懂
-   如果可能, OpenKit 使用不当仍应导致有效结果
-   设计重新输入API并文档

## 运行时间要求

### 承诺

OpenKit 需要承诺才能工作。 如果你的环境不支持他们,他们可以 使用多填充库进行多填充.

### 通信图书馆

如果您使用平台而不获取或节点.js 低于 18, 您必须使用多填充 获取 API,或提供您可以使用协议的通信频道执行 您想要(例如MQTT).

## 从 npm 获取 OpenKit

OpenKit 可用在 [无](https://www.npmjs.com/package/@dynatrace/openkit-js) 并且应该通过 npm 或纱线使用.

对于浏览器来说, 镜像服务像 [日记](https://www.jsdelivr.com/package/npm/@dynatrace/openkit-js) 可以使用.

```html
<script
    type="text/javascript"
    src="https://cdn.jsdelivr.net/npm/@dynatrace/openkit-js@1.0.2/dist/browser/openkit.js"
></script>
```

## 捐款与发展

见 [捐款](https://npmcn.com/package/%40dynatrace/openkit-js/contribution.md) 财务报告和审定财务报表 [发展.md](https://npmcn.com/package/%40dynatrace/openkit-js/development.md)。 。 。 .

## 一般概念

这一部分解释了整个OpenKit使用的概念。 如何使用 OpenKit 的简短样本 还提供。 详细代码样本需要查看 [实例d](https://npmcn.com/package/%40dynatrace/openkit-js/example.md) 和代码文档.

### 打开 Kit 构建器

一个 `OpenKitBuilder` 实例负责获取和设定应用程序相关信息,例如:. 应用程序的版本和设备特定信息.

### 打开 Kit

这个 `OpenKit` 负责创建用户会话(参见 `Session`) (中文(简体) ).

虽然可以有多种 `OpenKit` 连接到同一端点的事件 在一个进程中,应当有一个独特的实例.

### 会议

A 类 `Session` 代表一种用户会话,类似于网页应用程序中的浏览器会话. 然而,应用程序开发者可以自由选择如何对待 `Session`。 。 。 .  
这个 `Session` 用于创建 `Action` 实例、报告应用程序崩溃、识别用户和 以跟踪没有网络请求 `Action` 可用.

当a `Session` 不再需要它,它被强烈建议结束它,使用 `Session.end()` 方法.

### 行动

这个 `Action` 标出分级的节点,用于计时,并附上进一步的细节. 一个 `Action` 从 `Session`. 动作提供了附加密钥值对的可能性, 标记事件和错误,并可用于追踪网络请求.

### Web 请求追踪器

当应用程序开发者想要追踪网络请求时, 由服务服务提供 dynatrace的仪器,a `WebRequestTracer` 应使用,这可以是 请求 `Action` 财务报告和审定财务报表 `Session`。 。 。 .

### 命名的事件

一个名字 `Event` 附于一个 `Action` 并包含一个名字.

### 键值对等

对于一个 `Action` 也可以报告密钥值对。 键总是弦 值可能为 a `number` 或一个 `string`。所有报告的数字作为浮动点处理 dynatrace的数值.

### 错误和崩溃( C)

错误是报告错误条件的一种方式 `Action`。 。 。 .  
崩溃用于报告(未处理的)例外情况 `Session`。 。 。 .

### 识别用户

OpenKit 允许您用独特的用户标记标记会话 。 用户标签为字符串 允许唯一识别单一用户.

## 示例

这个小例子提供了如何使用OpenKit的粗略概述. 详细解释见 [实例d](https://npmcn.com/package/%40dynatrace/openkit-js/example.md)。 。 。 .

```javascript
const applicationID = 'application-id';
const deviceID = 42;
const endpointURL = 'https://tenantid.beaconurl.com/mbeacon';

const openKit = new OpenKitBuilder(endpointURL, applicationID, deviceID)
    .withApplicationVersion('1.0.0.0')
    .withOperatingSystem('Windows 10')
    .withManufacturer('MyCompany')
    .withModelId('MyModelId')
    .build();

const timeoutInMilliseconds = 10 * 1000;

openKit.waitForInit((success) => {
    if (success) {
        const clientIP = '8.8.8.8';
        const session = openKit.createSession(clientIP);

        session.identifyUser('jane.doe@example.com');

        const actionName = 'rootActionName';
        const action = session.enterAction(actionName);

        action.leaveAction();
        session.end();
        openKit.shutdown();
    }
}, timeoutInMilliseconds);
```

## 常见问题

### @dynatrace/openkit-js 是什么？

OpenKit-Java 脚本引用执行

### 如何安装 @dynatrace/openkit-js？

在项目目录运行 npm install @dynatrace/openkit-js，或使用 pnpm add / yarn add / bun add。

### @dynatrace/openkit-js 支持 TypeScript 吗？

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

### @dynatrace/openkit-js 支持 ESM 还是 CommonJS？

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

### @dynatrace/openkit-js 需要什么版本的 Node\.js？

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

### @dynatrace/openkit-js 可以商用吗？

@dynatrace/openkit-js 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dynatrace/openkit-js 的下载量有多少？

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

### @dynatrace/openkit-js 还在维护吗？

最新版本 4\.2\.0 发布于 2025/09/29（1\.1 年前）；至今共发布 19 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/07/01。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

