导数函数 - Amazon Timestream

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

导数函数

导数用于计算给定指标的变化率,并可用于主动响应事件。例如,假设您计算了过去 5 分钟内EC2实例CPU利用率的导数,并且发现了一个显著的正导数。这可能表明对工作负载的需求有所增加,因此您可以决定启动更多EC2实例以更好地处理工作负载。

Amazon Timestream 支持导数函数的两种变体。本节提供 LiveAnalytics 导数函数的时间流的用法信息以及示例查询。

使用情况信息

函数 输出数据类型 描述

derivative_linear(timeseries, interval)

时间序列

计算指定点中每个点timeseriesinterval

non_negative_derivative_linear(timeseries, interval)

时间序列

与相同derivative_linear(timeseries, interval),但仅返回正值。

查询示例

查找过去 1 小时内每 5 分钟CPU利用率的变化率:

SELECT DERIVATIVE_LINEAR(CREATE_TIME_SERIES(time, measure_value::double), 5m) AS result FROM “sampleDB”.DevOps WHERE measure_name = 'cpu_utilization' AND hostname = 'host-Hovjv' and time > ago(1h) GROUP BY hostname, measure_name

计算一个或多个微服务产生的错误增加率:

WITH binned_view as ( SELECT bin(time, 5m) as binned_timestamp, ROUND(AVG(measure_value::double), 2) as value FROM “sampleDB”.DevOps WHERE micro_service = 'jwt' AND time > ago(1h) AND measure_name = 'service_error' GROUP BY bin(time, 5m) ) SELECT non_negative_derivative_linear(CREATE_TIME_SERIES(binned_timestamp, value), 1m) as rateOfErrorIncrease FROM binned_view