在不同事件中按同一键 UUID 分组并减去时间戳

group by same key UUID across different event and subtract timestamp

提问人:BruceOverflow 提问时间:9/7/2023 更新时间:9/11/2023 访问量:43

问:

我有两个或多个具有相同 ID 的事件,就像会话一样,但具有不同的属性值,我应该查询按 id 分组的所有事件并计算两个时间戳之间的差异。

事件示例

活动一:

{ 类型: 'start', 编号: 1 ... }

活动二:

{ 类型: 'end', 编号: 1 ... }

伪查询:

选择 (end.timrstamp-start.timestamp)/1000 按 Id 分组

Math Facet Newrelic nrql

评论


答:

0赞 BruceOverflow 9/8/2023 #1

我认为一个可能的解决方案是

SELECT average(duration) FROM (
SELECT (
  (filter(latest(timestamp), where transitionName = 'STARTED') - 
  filter(latest(timestamp), where transitionName = 'CREATED'))
) AS 'duration'
FROM table 
FACET id AS uniqueId
SINCE last hour