如何通过ADQL查询AppDynamics中1个月内A先调用B后记录的会话数量?
可以通过ADQL实现该需求
你可以利用AppDynamics的ADQL(AppDynamics Query Language)关联网络请求事件、筛选时间范围并统计符合条件的会话数量,以下是参考查询示例:
SELECT COUNT(DISTINCT sessionId) AS qualifying_sessions FROM mobile_requests WHERE timestamp >= NOW() - 30 DAY AND ( (requestName = '请求A' AND EXISTS ( SELECT 1 FROM mobile_requests b WHERE b.sessionId = mobile_requests.sessionId AND b.requestName = '请求B' AND b.timestamp > mobile_requests.timestamp )) )
关键逻辑说明:
timestamp >= NOW() - 30 DAY:限定查询最近30天的会话数据- 主查询定位所有请求A的事件,子查询校验同一会话ID下是否存在时间戳更晚的请求B事件
COUNT(DISTINCT sessionId):确保每个符合条件的会话仅被统计一次
如果你的移动请求事件存储在其他事件表(比如mobile_snapshots或自定义事件表),替换对应的表名即可。若需要限定A、B的调用间隔(比如B需在A调用后30秒内出现),可在子查询中添加额外时间条件,例如b.timestamp <= mobile_requests.timestamp + 30000。
内容的提问来源于stack exchange,提问作者saru
相关产品推荐
相关产品推荐

