

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Time-series 函数
<a name="CWL_QuerySyntax-timeseries-functions"></a>

使用带有`stats`命令的时间序列函数来分析时间窗口内的指标并计算变化率。


|  函数 |  结果类型 |  说明 | 
| --- | --- | --- | 
| `rate(fieldName: NumericLogField, interval: Period)` | 数字 | 计算数值字段的每个间隔变化率。 | 
| `count_over_time(fieldName: LogField)` | 数字 | 计算每个时间 bin 的日志事件。与一起使用`by bin(interval)`来设置窗口。 | 
| `sum_over_time(fieldName: NumericLogField)` | 数字 | 对每个时间段的字段值求和。与一起使用`by bin(interval)`来设置窗口。 | 
| `histogram(fieldName: NumericLogField, buckets: number)` | 映射 | 将数值字段值存储到指定数量的等宽范围内，并返回分布。 | 

## offset
<a name="CWL_QuerySyntax-timeseries-offset"></a>

`offset`在`stats ... by bin()`子句末尾使用，将时间序列数据桶按指定的持续时间移动。这样可以进行时移比较，例如将当前指标与前一小时或一天的同期进行比较。

**语法**

```
stats <aggregation> by bin(<period>) offset <duration>
```

**示例**

```
stats count(*) by bin(5m) offset 1h
```

```
stats avg(latency) by bin(1m) offset 1d
```