# @adobe/rum-distiller 中文文档

规范地址：https://npmcn.com/package/%40adobe/rum-distiller/

版本：1\.24\.0
npm 元数据更新时间：2026-10-30T14:21:18.866Z
中文译文更新时间：2026-11-06T16:38:19.200Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40adobe/rum-distiller
原文对照：https://npmcn.com/package/%40adobe/rum-distiller/?lang=original
项目主页：https://github.com/adobe/rum-distiller#readme
源码仓库：https://github.com/adobe/rum-distiller

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

- 包体积（解压后）：3.1 MB，38 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2024-10-08T08:52:54.817Z
- 最新版本发布：2026-10-30T14:21:18.461Z
- 近 30 天下载量：2728（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：49（近 12 个月 10 个）

## 中文简介

RUM Distiller是一个用于Adobe RUM数据数据探索的JavaScript库. 它允许您先以"系列","组","花相"等形式定义数据的形状. 然后,您可以根据定义的方位过滤数据,并自定义

## 安装

```sh
npm install @adobe/rum-distiller
```

也可以使用：`pnpm add @adobe/rum-distiller`、`yarn add @adobe/rum-distiller`、`bun add @adobe/rum-distiller`

## README

# RUM 抖动器

RUM Distiller是一个用于Adobe RUM数据数据探索的JavaScript库. 它允许您先定义数据形状, 在 "系列","群","面"的形式. 您可以根据定义的方块过滤数据, 并自动获取数据 该系列的汇总.

### 估计“暗物质”URL(Chao1)

当采样隐藏了低流量页面时, 您可以使用古典的“ 未知物种” 估计器(Chao1) , 加上95% CI , 估计访问的 URL 总数 .

-   内置 API :
    
    -   `dc.estimators.plainURL.chao1` 返回时 `{ sObs, sHat, sUnseen, f1, f2, ci, darkCI }` 用于当前过滤/窗口.
    -   使用生包计数(独立观察),而不是加权总数.
-   直接函数( 对于原始行或自定义流量):
    
    -   `import { chao1, chao1CI, inferSamplesFromCI, estimateDarkMatterFromCI, estimateDarkMatterFromCIWithCI } from './src/estimators/chao1.js'`

见算法细节 [弧度/估计器/README.md](https://npmcn.com/package/%40adobe/rum-distiller/src/estimators/README.md)。 。 。 .

参考资料

-   Chao, A. (1984) (英语). 人口类别数量非参数估计。 斯堪的纳维亚统计学报, 11, 265–270. [https://doi.org/10.2307/4615964 (英语)](https://doi.org/10.2307/4615964)
-   Chao, A. (1987) (英语). 估计可捕性不平等的捕捉-捕捉数据的人口规模。 生物仪 43(4),783–791. [https://doi.org/10..2307/2531532 (英语)](https://doi.org/10.2307/2531532)

## 概念

### 套装

RUM Distiller的基本构件是: [`Bundle`](https://npmcn.com/package/%40adobe/rum-distiller/API.md#Bundle)。捆绑是属于同一页面视图的事件集。 每个捆绑有一个 `weight`,这是以捆绑为代表的页面浏览数.

由于采样和分样,捆绑的重量一般为100或100多.

后三个概念是描述数据形状的构件:系列,组和Facets.

### 系列

一个系列是从捆绑中提取出一个度量衡的方法. 一个系列的价值是: 总是数,并允许简单的计算, 像计数,平均, umming,百分数等.

在其核心,一个系列是一个需要捆绑并返回数字的函数. 单位 一个图,你会绘制一个序列的值 在y轴上.

还有很多 [内置系列](https://npmcn.com/package/%40adobe/rum-distiller/API.md#module_series) 包含在 RUM Distiller 中,但也可以执行自己的自定义系列.

一旦定义了序列,就可以添加到 [`DataChunks`](https://npmcn.com/package/%40adobe/rum-distiller/API.md#DataChunks) 对象使用 [`addSeries`](https://npmcn.com/package/%40adobe/rum-distiller/API.md#DataChunks+addSeries) 方法.

### 组

一个组是将数据分组到一组桶的一种方式. 最常见的类型 分组是按时间分组的,但如果需要,也可以按其他维度分组.

在图表中,您会在y轴上绘制一组的值。 实际上, 许多图表,如派图,或大多数条图不需要组合.

在程序上, [组合是一个函数](https://npmcn.com/package/%40adobe/rum-distiller/API.md#groupByFn) 这需要捆绑并返回一个字符串.

### 面额

一个面是过滤数据的方法. 对于每个面值类型,可以有多个面值,每个捆绑可以满足给定的多个面值 外观类型 。 大多数应用程序定义最多可达一打左右的面部类型.

在过滤时,不同的方面会使用逻辑和,意思是 必须满足所有方面的要求,才能将捆绑物纳入结果集.

当给一个面型提供了多个过滤值时, 面型是 组合器决定组合匹配是否足够 `some` 或者说 `every` 数值.

面额使用 [`addFacet`](https://npmcn.com/package/%40adobe/rum-distiller/API.md#DataChunks+addFacet) 方法和 一个面值函数需要捆绑,然后返回一个字符串或一系列字符串.

通常,所有平面值都被视为离散值,但有可能 通过创建直方图将离散值转换成范围.

#### 直方图

直方图是将数据分组为桶的一面,基于基面的值.

您可以使用 [`addHistogramFacet`](https://npmcn.com/package/%40adobe/rum-distiller/API.md#DataChunks+addHistogramFacet) 方法.

直方图基于一个返回数值的现有面. 这个 然后将数据分组成桶,每个桶都有下限和上限。 每个桶的数值大致相同,所以 直方图分布均匀,在直方图上调取过滤器 将取好数据的一部分.

### 过滤

一旦定义了数据的形状,我们可以使用 `filter`, (中文(简体) ), `totals`,以及 `facets` 视图。 最基本的方法是 `filter`。 。 。 .

过滤定义是完全声明的, 这样您不需要写入 任何必须的代码, 因为它已经处理 通过创建你之前的方面.

过滤器声明是一个从平面名称映射到单个值或数组值的对象. 过滤器将返回所有捆绑 满足每个面值过滤器,使用组合器处理多值.

您可以将过滤器应用到一个 `DataChunks` 对象使用 [`filter`](https://npmcn.com/package/%40adobe/rum-distiller/API.md#DataChunks+filter) 设置.

```javascript
// set up the dataChunks
const data = new DataChunks();

// add some data
data.addData(bundles);

// filter the data
data.filter = {
  "device.type": ["desktop", "mobile"],
  "page.path": ["/home", "/about"],
};
// all subsequent calls to data will use this filter
```

### 业绩

Facet功能是纯的:它们的结果只取决于捆绑. 卢姆 抖动器对每个都进行评估 facet 函数精确于每捆( 之后) `load`编号 :`addData`编号 :`addFacet`)并存储结果 在已编码的词典中,列形布局(类型数组)。 更改过滤器不重运行任何 平面函数;过滤和计数平面值是这些列上的整数内核.

如果装入后将捆绑装好,请拨 `resetData()` 因此,面值为 复为相.

### 共计

还记得我们以前定义的衡量标准吗? 这个 `totals` 视图将计算 当前过滤器的参数。 这些总数的类型是 [`Aggregate`](https://npmcn.com/package/%40adobe/rum-distiller/API.md#Aggregate) 对象.

```javascript
// calculate the totals
const totalPageViews = data.totals.pageViews.sum;
```

如果我们建立了 `pageViews` 序列,这是页面浏览总数。 除了拿到钱,我们还可以得到 `mean` (平均数), `min`, (中文(简体) ), `max`, (中文(简体) ), `median`, (中文(简体) ), `stddev` (标准偏差),和 `percentiles` (任意百分数,如第50、90、99分数).

## 常见问题

### @adobe/rum-distiller 是什么？

RUM Distiller是一个用于Adobe RUM数据数据探索的JavaScript库\. 它允许您先以"系列","组","花相"等形式定义数据的形状\. 然后,您可以根据定义的方位过滤数据,并自定义

### 如何安装 @adobe/rum-distiller？

在项目目录运行 npm install @adobe/rum-distiller，或使用 pnpm add / yarn add / bun add。

### @adobe/rum-distiller 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/adobe\_\_rum-distiller 是否存在。

### @adobe/rum-distiller 支持 ESM 还是 CommonJS？

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

### @adobe/rum-distiller 可以商用吗？

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

### @adobe/rum-distiller 的下载量有多少？

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

### @adobe/rum-distiller 还在维护吗？

最新版本 1\.24\.0 发布于 2026/10/30（8 天前）；至今共发布 49 个版本，其中过去 12 个月发布了 10 个；首次发布于 2024/10/08。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

