Kusto中是否有命令可查询提交时间及摄入与提交时间差?
计算ADX数据摄入到提交的时长差值
你可以通过Kusto的内置函数和系统表来计算ingestion_time()与提交完成时间的差值,具体方法如下:
1. 基于业务表的单条数据耗时计算
直接在目标业务表上使用ingestion_end_time()函数(该函数返回数据完成提交、可被查询的时间戳),与ingestion_time()做差值运算,即可得到单条数据从摄入到提交的耗时:
// 替换为你的目标表名 YourTargetTable | project 摄入时间 = ingestion_time(), 提交完成时间 = ingestion_end_time(), 摄入到提交耗时 = ingestion_end_time() - ingestion_time() // 可选:按小时聚合统计整体耗时分布 | summarize 平均耗时 = avg(摄入到提交耗时), 最大耗时 = max(摄入到提交耗时), 最小耗时 = min(摄入到提交耗时) by bin(摄入时间, 1h)
2. 基于系统表的批量摄入作业耗时统计
如果需要查看更全面的摄入作业层面的耗时情况,可以查询IngestionOperations系统表,这里记录了所有摄入作业的详细状态和时间信息:
IngestionOperations | where DatabaseName == "你的数据库名" and TableName == "你的目标表名" | where OperationStatus == "Succeeded" // 仅筛选成功的摄入作业 | project 作业开始时间 = StartedOn, 作业完成时间 = CompletedOn, 作业耗时 = CompletedOn - StartedOn, 数据源大小 = DataSize // 按小时聚合统计作业耗时 | summarize 平均作业耗时 = avg(作业耗时), 最大作业耗时 = max(作业耗时) by bin(作业开始时间, 1h)
说明:ingestion_time()是数据到达ADX集群时分配的时间戳,ingestion_end_time()是数据完成提交、正式可查询的时间戳,两者的差值即为你需要的从摄入到提交的时长。
内容的提问来源于stack exchange,提问作者Dhiraj
相关产品推荐
相关产品推荐

