diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_output.json b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_output.json new file mode 100644 index 000000000000..db50d4b6955a --- /dev/null +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_output.json @@ -0,0 +1 @@ +{"Graph=0":{"Actor":{"ActorCreateTimeUs":{"sum":"4ms","count":1,"avg":"4ms","max":"4ms","min":"4ms"}},"AllocateWorkersUs":{"sum":"13ms","count":1,"avg":"13ms","max":"13ms","min":"13ms"},"ExecutionTimeUs":{"sum":"0.34s","count":1,"avg":"0.34s","max":"0.34s","min":"0.34s"},"TaskRunner":{"Output=0":{"Stage=1":{"PopBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.49s","max":"10:58:20.49s","min":"10:58:20.49s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.49s","max":"10:58:20.49s","min":"10:58:20.49s"},"PopRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.48s","max":"10:58:20.48s","min":"10:58:20.48s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.48s","max":"10:58:20.48s","min":"10:58:20.48s"},"PushRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1}}},"Output=Total":{"Stage=1":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.49s","max":"10:58:20.49s","min":"10:58:20.49s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.49s","max":"10:58:20.49s","min":"10:58:20.49s"},"PopRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.48s","max":"10:58:20.48s","min":"10:58:20.48s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.48s","max":"10:58:20.48s","min":"10:58:20.48s"},"PushRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1}},"Stage=Total":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.49s","max":"10:58:20.49s","min":"10:58:20.49s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.49s","max":"10:58:20.49s","min":"10:58:20.49s"},"PopRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.48s","max":"10:58:20.48s","min":"10:58:20.48s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:58:20.48s","max":"10:58:20.48s","min":"10:58:20.48s"},"PushRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1}}},"Stage=1":{"BuildCpuTimeUs":{"sum":"43ms","count":1,"avg":"43ms","max":"43ms","min":"43ms"},"ComputeCpuTimeUs":{"sum":"94us","count":1,"avg":"94us","max":"94us","min":"94us"},"CpuTimeUs":{"sum":"47ms","count":1,"avg":"47ms","max":"47ms","min":"47ms"},"DurationUs":{"sum":"0.32s","count":1,"avg":"0.32s","max":"0.32s","min":"0.32s"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"10:58:20.76s","max":"10:58:20.76s","min":"10:58:20.76s"},"MkqlMaxMemoryUsage":{"sum":196608,"count":1,"avg":196608,"max":196608,"min":196608},"OutputBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"OutputRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResultBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResultRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"StartTimeMs":{"sum":"N/A","count":1,"avg":"10:58:20.43s","max":"10:58:20.43s","min":"10:58:20.43s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1}},"Stage=Total":{"BuildCpuTimeUs":{"sum":"43ms","count":1,"avg":"43ms","max":"43ms","min":"43ms"},"ComputeCpuTimeUs":{"sum":"94us","count":1,"avg":"94us","max":"94us","min":"94us"},"CpuTimeUs":{"sum":"47ms","count":1,"avg":"47ms","max":"47ms","min":"47ms"},"DurationUs":{"sum":"0.32s","count":1,"avg":"0.32s","max":"0.32s","min":"0.32s"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"10:58:20.76s","max":"10:58:20.76s","min":"10:58:20.76s"},"MkqlMaxMemoryUsage":{"sum":196608,"count":1,"avg":196608,"max":196608,"min":196608},"OutputBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"OutputRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResultBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResultRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"StartTimeMs":{"sum":"N/A","count":1,"avg":"10:58:20.43s","max":"10:58:20.43s","min":"10:58:20.43s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1}}},"UniqueWorkers":{"sum":1,"count":1,"avg":1,"max":1,"min":1}}} \ No newline at end of file diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_s3source.json b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_s3source.json new file mode 100644 index 000000000000..831668e68dee --- /dev/null +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_s3source.json @@ -0,0 +1 @@ +{"Graph=0":{"Actor":{"ActorCreateTimeUs":{"sum":"17ms","count":2,"avg":"8ms","max":"12ms","min":"5ms"}},"AllocateWorkersUs":{"sum":"23ms","count":1,"avg":"23ms","max":"23ms","min":"23ms"},"ExecutionTimeUs":{"sum":"2.66s","count":1,"avg":"2.66s","max":"2.66s","min":"2.66s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"TaskRunner":{"Input=197277":{"Stage=197294":{"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:55.80s","max":"10:56:55.80s","min":"10:56:55.80s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"2.28s","count":1,"avg":"2.28s","max":"2.28s","min":"2.28s"}}},"Input=Total":{"Stage=197294":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:55.80s","max":"10:56:55.80s","min":"10:56:55.80s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"2.28s","count":1,"avg":"2.28s","max":"2.28s","min":"2.28s"}},"Stage=Total":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:55.80s","max":"10:56:55.80s","min":"10:56:55.80s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"2.28s","count":1,"avg":"2.28s","max":"2.28s","min":"2.28s"}}},"Output=0":{"Stage=197294":{"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.05s","max":"10:56:58.05s","min":"10:56:58.05s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"30ms","count":1,"avg":"30ms","max":"30ms","min":"30ms"}}},"Output=197294":{"Stage=197277":{"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.05s","max":"10:56:58.05s","min":"10:56:58.05s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"29ms","count":1,"avg":"29ms","max":"29ms","min":"29ms"}}},"Output=Total":{"Stage=197277":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.05s","max":"10:56:58.05s","min":"10:56:58.05s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"29ms","count":1,"avg":"29ms","max":"29ms","min":"29ms"}},"Stage=197294":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.05s","max":"10:56:58.05s","min":"10:56:58.05s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"30ms","count":1,"avg":"30ms","max":"30ms","min":"30ms"}},"Stage=Total":{"ChannelCount":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PopBytes":{"sum":60,"count":2,"avg":30,"max":30,"min":30},"PopChunks":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":2,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":2,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopRows":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"PushChunks":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":2,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":2,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":2,"avg":"10:56:58.05s","max":"10:56:58.05s","min":"10:56:58.05s"},"PushResumeMessageMs":{"sum":"N/A","count":2,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushRows":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"60ms","count":2,"avg":"30ms","max":"30ms","min":"29ms"}}},"Source=S3Source":{"Stage=197277":{"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"IngressLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"IngressPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.04s","max":"10:56:58.04s","min":"10:56:58.04s"},"IngressResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"IngressSplits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitTimeUs":{"sum":"36ms","count":1,"avg":"36ms","max":"36ms","min":"36ms"},"PopBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.05s","max":"10:56:58.05s","min":"10:56:58.05s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"36ms","count":1,"avg":"36ms","max":"36ms","min":"36ms"}},"Stage=Total":{"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"IngressLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"IngressPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.04s","max":"10:56:58.04s","min":"10:56:58.04s"},"IngressResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"IngressSplits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitTimeUs":{"sum":"36ms","count":1,"avg":"36ms","max":"36ms","min":"36ms"},"PopBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.05s","max":"10:56:58.05s","min":"10:56:58.05s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"36ms","count":1,"avg":"36ms","max":"36ms","min":"36ms"}}},"Stage=197277":{"BuildCpuTimeUs":{"sum":"2.31s","count":1,"avg":"2.31s","max":"2.31s","min":"2.31s"},"ComputeCpuTimeUs":{"sum":"179us","count":1,"avg":"179us","max":"179us","min":"179us"},"CpuTimeUs":{"sum":"2.32s","count":1,"avg":"2.32s","max":"2.32s","min":"2.32s"},"DurationUs":{"sum":"3ms","count":1,"avg":"3ms","max":"3ms","min":"3ms"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"MkqlMaxMemoryUsage":{"sum":131072,"count":1,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"SourceCpuTimeUs":{"sum":"767us","count":1,"avg":"767us","max":"767us","min":"767us"},"StartTimeMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"36ms","count":1,"avg":"36ms","max":"36ms","min":"36ms"}},"Stage=197294":{"BuildCpuTimeUs":{"sum":"87ms","count":1,"avg":"87ms","max":"87ms","min":"87ms"},"ComputeCpuTimeUs":{"sum":"189us","count":1,"avg":"189us","max":"189us","min":"189us"},"CpuTimeUs":{"sum":"89ms","count":1,"avg":"89ms","max":"89ms","min":"89ms"},"DurationUs":{"sum":"0.25s","count":1,"avg":"0.25s","max":"0.25s","min":"0.25s"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"10:56:58.33s","max":"10:56:58.33s","min":"10:56:58.33s"},"InputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"InputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"MkqlMaxMemoryUsage":{"sum":131072,"count":1,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResultBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"ResultRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"StartTimeMs":{"sum":"N/A","count":1,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"2.28s","count":1,"avg":"2.28s","max":"2.28s","min":"2.28s"}},"Stage=Total":{"BuildCpuTimeUs":{"sum":"2.40s","count":2,"avg":"1.20s","max":"2.31s","min":"87ms"},"ComputeCpuTimeUs":{"sum":"368us","count":2,"avg":"184us","max":"189us","min":"179us"},"CpuTimeUs":{"sum":"2.41s","count":2,"avg":"1.20s","max":"2.32s","min":"89ms"},"DurationUs":{"sum":"0.25s","count":2,"avg":"0.12s","max":"0.25s","min":"3ms"},"FinishTimeMs":{"sum":"N/A","count":2,"avg":"10:56:58.21s","max":"10:56:58.33s","min":"10:56:58.08s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"InputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"InputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"MkqlMaxMemoryUsage":{"sum":262144,"count":2,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":60,"count":2,"avg":30,"max":30,"min":30},"OutputRows":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"ResultBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"ResultRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"SourceCpuTimeUs":{"sum":"767us","count":1,"avg":"767us","max":"767us","min":"767us"},"StartTimeMs":{"sum":"N/A","count":2,"avg":"10:56:58.08s","max":"10:56:58.08s","min":"10:56:58.08s"},"Tasks":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"2.31s","count":2,"avg":"1.15s","max":"2.28s","min":"36ms"}}},"UniqueWorkers":{"sum":1,"count":1,"avg":1,"max":1,"min":1}}} \ No newline at end of file diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_two_results.json b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_two_results.json new file mode 100644 index 000000000000..b65e18663116 --- /dev/null +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v1_two_results.json @@ -0,0 +1 @@ +{"Graph=0":{"Actor":{"ActorCreateTimeUs":{"sum":"4ms","count":2,"avg":"2ms","max":"2ms","min":"1ms"}},"AllocateWorkersUs":{"sum":"7ms","count":1,"avg":"7ms","max":"7ms","min":"7ms"},"ExecutionTimeUs":{"sum":"1.28s","count":1,"avg":"1.28s","max":"1.28s","min":"1.28s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"TaskRunner":{"Input=197768":{"Stage=197785":{"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:57.25s","max":"16:30:57.25s","min":"16:30:57.25s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"1.13s","count":1,"avg":"1.13s","max":"1.13s","min":"1.13s"}}},"Input=Total":{"Stage=197785":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:57.25s","max":"16:30:57.25s","min":"16:30:57.25s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"1.13s","count":1,"avg":"1.13s","max":"1.13s","min":"1.13s"}},"Stage=Total":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:57.25s","max":"16:30:57.25s","min":"16:30:57.25s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"1.13s","count":1,"avg":"1.13s","max":"1.13s","min":"1.13s"}}},"Output=0":{"Stage=197785":{"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.38s","max":"16:30:58.38s","min":"16:30:58.38s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"13ms","count":1,"avg":"13ms","max":"13ms","min":"13ms"}}},"Output=197785":{"Stage=197768":{"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.38s","max":"16:30:58.38s","min":"16:30:58.38s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"12ms","count":1,"avg":"12ms","max":"12ms","min":"12ms"}}},"Output=Total":{"Stage=197768":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.38s","max":"16:30:58.38s","min":"16:30:58.38s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"12ms","count":1,"avg":"12ms","max":"12ms","min":"12ms"}},"Stage=197785":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushChunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.38s","max":"16:30:58.38s","min":"16:30:58.38s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"13ms","count":1,"avg":"13ms","max":"13ms","min":"13ms"}},"Stage=Total":{"ChannelCount":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PopBytes":{"sum":60,"count":2,"avg":30,"max":30,"min":30},"PopChunks":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":2,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":2,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopRows":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"PushChunks":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"PushFirstMessageMs":{"sum":"N/A","count":2,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":2,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":2,"avg":"16:30:58.38s","max":"16:30:58.38s","min":"16:30:58.38s"},"PushResumeMessageMs":{"sum":"N/A","count":2,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushRows":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"PushWaitPeriods":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"26ms","count":2,"avg":"13ms","max":"13ms","min":"12ms"}}},"Source=S3Source":{"Stage=Total":{"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"IngressLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"IngressPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.37s","max":"16:30:58.37s","min":"16:30:58.37s"},"IngressResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"IngressSplits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitTimeUs":{"sum":"16ms","count":1,"avg":"16ms","max":"16ms","min":"16ms"},"PopBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.37s","max":"16:30:58.37s","min":"16:30:58.37s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"16ms","count":1,"avg":"16ms","max":"16ms","min":"16ms"}}},"Stage=197768":{"BuildCpuTimeUs":{"sum":"1.14s","count":1,"avg":"1.14s","max":"1.14s","min":"1.14s"},"ComputeCpuTimeUs":{"sum":"121us","count":1,"avg":"121us","max":"121us","min":"121us"},"CpuTimeUs":{"sum":"1.14s","count":1,"avg":"1.14s","max":"1.14s","min":"1.14s"},"DurationUs":{"sum":"1ms","count":1,"avg":"1ms","max":"1ms","min":"1ms"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"MkqlMaxMemoryUsage":{"sum":131072,"count":1,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"SourceCpuTimeUs":{"sum":"579us","count":1,"avg":"579us","max":"579us","min":"579us"},"StartTimeMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"16ms","count":1,"avg":"16ms","max":"16ms","min":"16ms"}},"Stage=197785":{"BuildCpuTimeUs":{"sum":"26ms","count":1,"avg":"26ms","max":"26ms","min":"26ms"},"ComputeCpuTimeUs":{"sum":"151us","count":1,"avg":"151us","max":"151us","min":"151us"},"CpuTimeUs":{"sum":"28ms","count":1,"avg":"28ms","max":"28ms","min":"28ms"},"DurationUs":{"sum":"0.11s","count":1,"avg":"0.11s","max":"0.11s","min":"0.11s"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"16:30:58.51s","max":"16:30:58.51s","min":"16:30:58.51s"},"InputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"InputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"MkqlMaxMemoryUsage":{"sum":131072,"count":1,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResultBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"ResultRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"StartTimeMs":{"sum":"N/A","count":1,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"1.13s","count":1,"avg":"1.13s","max":"1.13s","min":"1.13s"}},"Stage=Total":{"BuildCpuTimeUs":{"sum":"1.16s","count":2,"avg":"0.58s","max":"1.14s","min":"26ms"},"ComputeCpuTimeUs":{"sum":"272us","count":2,"avg":"136us","max":"151us","min":"121us"},"CpuTimeUs":{"sum":"1.17s","count":2,"avg":"0.58s","max":"1.14s","min":"28ms"},"DurationUs":{"sum":"0.11s","count":2,"avg":"58ms","max":"0.11s","min":"1ms"},"FinishTimeMs":{"sum":"N/A","count":2,"avg":"16:30:58.45s","max":"16:30:58.51s","min":"16:30:58.39s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"InputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"InputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"MkqlMaxMemoryUsage":{"sum":262144,"count":2,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":60,"count":2,"avg":30,"max":30,"min":30},"OutputRows":{"sum":6,"count":2,"avg":3,"max":3,"min":3},"ResultBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"ResultRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"SourceCpuTimeUs":{"sum":"579us","count":1,"avg":"579us","max":"579us","min":"579us"},"StartTimeMs":{"sum":"N/A","count":2,"avg":"16:30:58.39s","max":"16:30:58.39s","min":"16:30:58.39s"},"Tasks":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"1.15s","count":2,"avg":"0.57s","max":"1.13s","min":"16ms"}}},"UniqueWorkers":{"sum":1,"count":1,"avg":1,"max":1,"min":1}},"Graph=1":{"Actor":{"ActorCreateTimeUs":{"sum":"49ms","count":3,"avg":"16ms","max":"24ms","min":"1ms"}},"AllocateWorkersUs":{"sum":"24ms","count":1,"avg":"24ms","max":"24ms","min":"24ms"},"ExecutionTimeUs":{"sum":"1.18s","count":1,"avg":"1.18s","max":"1.18s","min":"1.18s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"TaskRunner":{"Input=197920":{"Stage=197941":{"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.76s","max":"16:30:58.76s","min":"16:30:58.76s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"0.96s","count":1,"avg":"0.96s","max":"0.96s","min":"0.96s"}}},"Input=197941":{"Stage=197958":{"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.56s","max":"16:30:58.56s","min":"16:30:58.56s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"1.15s","count":1,"avg":"1.15s","max":"1.15s","min":"1.15s"}}},"Input=Total":{"Stage=197941":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.76s","max":"16:30:58.76s","min":"16:30:58.76s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"0.96s","count":1,"avg":"0.96s","max":"0.96s","min":"0.96s"}},"Stage=197958":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:58.56s","max":"16:30:58.56s","min":"16:30:58.56s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"1.15s","count":1,"avg":"1.15s","max":"1.15s","min":"1.15s"}},"Stage=Total":{"ChannelCount":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PopBytes":{"sum":46,"count":2,"avg":23,"max":23,"min":23},"PopChunks":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":2,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":2,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":4,"count":2,"avg":2,"max":2,"min":2},"PushBytes":{"sum":46,"count":2,"avg":23,"max":23,"min":23},"PushChunks":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":2,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":2,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":2,"avg":"16:30:58.66s","max":"16:30:58.76s","min":"16:30:58.56s"},"PushResumeMessageMs":{"sum":"N/A","count":2,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":4,"count":2,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":2,"count":2,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"2.11s","count":2,"avg":"1.05s","max":"1.15s","min":"0.96s"}}},"Output=0":{"Stage=197958":{"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushChunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"11ms","count":1,"avg":"11ms","max":"11ms","min":"11ms"}}},"Output=197941":{"Stage=197920":{"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushChunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"}}},"Output=197958":{"Stage=197941":{"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushChunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"11ms","count":1,"avg":"11ms","max":"11ms","min":"11ms"}}},"Output=Total":{"Stage=197920":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushChunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"}},"Stage=197941":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushChunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"11ms","count":1,"avg":"11ms","max":"11ms","min":"11ms"}},"Stage=197958":{"ChannelCount":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushChunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"11ms","count":1,"avg":"11ms","max":"11ms","min":"11ms"}},"Stage=Total":{"ChannelCount":{"sum":3,"count":3,"avg":1,"max":1,"min":1},"PopBytes":{"sum":69,"count":3,"avg":23,"max":23,"min":23},"PopChunks":{"sum":3,"count":3,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":3,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":3,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopRows":{"sum":6,"count":3,"avg":2,"max":2,"min":2},"PushChunks":{"sum":6,"count":3,"avg":2,"max":2,"min":2},"PushFirstMessageMs":{"sum":"N/A","count":3,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":3,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":3,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":3,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushRows":{"sum":6,"count":3,"avg":2,"max":2,"min":2},"PushWaitPeriods":{"sum":3,"count":3,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"32ms","count":3,"avg":"10ms","max":"11ms","min":"10ms"}}},"Source=S3Source":{"Stage=197920":{"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"IngressLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"IngressPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"IngressResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"IngressSplits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitTimeUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"},"PopBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"}},"Stage=Total":{"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"IngressLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"IngressPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"IngressResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"IngressSplits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressWaitTimeUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"},"PopBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PopChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PopFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PopLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushBytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PushChunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushFirstMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushLastMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushPauseMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.71s","max":"16:30:59.71s","min":"16:30:59.71s"},"PushResumeMessageMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"PushWaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PushWaitTimeUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"}}},"Stage=197920":{"BuildCpuTimeUs":{"sum":"1.16s","count":1,"avg":"1.16s","max":"1.16s","min":"1.16s"},"ComputeCpuTimeUs":{"sum":"121us","count":1,"avg":"121us","max":"121us","min":"121us"},"CpuTimeUs":{"sum":"1.16s","count":1,"avg":"1.16s","max":"1.16s","min":"1.16s"},"DurationUs":{"sum":"1ms","count":1,"avg":"1ms","max":"1ms","min":"1ms"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"MkqlMaxMemoryUsage":{"sum":131072,"count":1,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"OutputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"SourceCpuTimeUs":{"sum":"509us","count":1,"avg":"509us","max":"509us","min":"509us"},"StartTimeMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"}},"Stage=197941":{"BuildCpuTimeUs":{"sum":"0.21s","count":1,"avg":"0.21s","max":"0.21s","min":"0.21s"},"ComputeCpuTimeUs":{"sum":"139us","count":1,"avg":"139us","max":"139us","min":"139us"},"CpuTimeUs":{"sum":"0.21s","count":1,"avg":"0.21s","max":"0.21s","min":"0.21s"},"DurationUs":{"sum":"1ms","count":1,"avg":"1ms","max":"1ms","min":"1ms"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"InputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"InputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"MkqlMaxMemoryUsage":{"sum":131072,"count":1,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"OutputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"StartTimeMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"0.96s","count":1,"avg":"0.96s","max":"0.96s","min":"0.96s"}},"Stage=197958":{"BuildCpuTimeUs":{"sum":"20ms","count":1,"avg":"20ms","max":"20ms","min":"20ms"},"ComputeCpuTimeUs":{"sum":"122us","count":1,"avg":"122us","max":"122us","min":"122us"},"CpuTimeUs":{"sum":"22ms","count":1,"avg":"22ms","max":"22ms","min":"22ms"},"DurationUs":{"sum":"13ms","count":1,"avg":"13ms","max":"13ms","min":"13ms"},"FinishTimeMs":{"sum":"N/A","count":1,"avg":"16:30:59.73s","max":"16:30:59.73s","min":"16:30:59.73s"},"InputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"InputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"MkqlMaxMemoryUsage":{"sum":131072,"count":1,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"OutputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"ResultBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"ResultRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"StartTimeMs":{"sum":"N/A","count":1,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"Tasks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"1.15s","count":1,"avg":"1.15s","max":"1.15s","min":"1.15s"}},"Stage=Total":{"BuildCpuTimeUs":{"sum":"1.40s","count":3,"avg":"0.46s","max":"1.16s","min":"20ms"},"ComputeCpuTimeUs":{"sum":"382us","count":3,"avg":"127us","max":"139us","min":"121us"},"CpuTimeUs":{"sum":"1.40s","count":3,"avg":"0.46s","max":"1.16s","min":"22ms"},"DurationUs":{"sum":"15ms","count":3,"avg":"5ms","max":"13ms","min":"1ms"},"FinishTimeMs":{"sum":"N/A","count":3,"avg":"16:30:59.72s","max":"16:30:59.73s","min":"16:30:59.72s"},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"InputBytes":{"sum":46,"count":2,"avg":23,"max":23,"min":23},"InputRows":{"sum":4,"count":2,"avg":2,"max":2,"min":2},"MkqlMaxMemoryUsage":{"sum":393216,"count":3,"avg":131072,"max":131072,"min":131072},"OutputBytes":{"sum":69,"count":3,"avg":23,"max":23,"min":23},"OutputRows":{"sum":6,"count":3,"avg":2,"max":2,"min":2},"ResultBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"ResultRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"SourceCpuTimeUs":{"sum":"509us","count":1,"avg":"509us","max":"509us","min":"509us"},"StartTimeMs":{"sum":"N/A","count":3,"avg":"16:30:59.72s","max":"16:30:59.72s","min":"16:30:59.72s"},"Tasks":{"sum":3,"count":3,"avg":1,"max":1,"min":1},"WaitInputTimeUs":{"sum":"2.13s","count":3,"avg":"0.71s","max":"1.15s","min":"10ms"}}},"UniqueWorkers":{"sum":1,"count":1,"avg":1,"max":1,"min":1}}} \ No newline at end of file diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_output.json b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_output.json new file mode 100644 index 000000000000..0c38877ad099 --- /dev/null +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_output.json @@ -0,0 +1 @@ +{"ResultSet":{"01_1_ConstantExpr":{"DurationUs":{"sum":"10ms","count":1,"avg":"10ms","max":"10ms","min":"10ms"},"Output=RESULT":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"10:59:34.10s","sum":"0.00s","count":1,"max":"10:59:34.10s","min":"10:59:34.10s"},"FirstMessageMs":{"avg":"10:59:34.10s","sum":"0.00s","count":1,"max":"10:59:34.10s","min":"10:59:34.10s"},"Bytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3}},"Push":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"10:59:34.10s","sum":"0.00s","count":1,"max":"10:59:34.10s","min":"10:59:34.10s"},"FirstMessageMs":{"avg":"10:59:34.10s","sum":"0.00s","count":1,"max":"10:59:34.10s","min":"10:59:34.10s"}}},"MaxMemoryUsage":{"sum":1048576000,"count":1,"avg":1048576000,"max":1048576000,"min":1048576000},"ResultRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Tasks":{"sum":1,"count":1},"ResultBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"OutputRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"StageDurationUs":{"sum":"10ms","count":1},"CpuTimeUs":{"sum":"534us","count":1,"avg":"534us","max":"534us","min":"534us"},"OutputBytes":{"sum":3,"count":1,"avg":3,"max":3,"min":3}},"MaxMemoryUsage":{"min":1048576000,"max":1048576000,"avg":1048576000,"sum":1048576000,"count":1},"CpuTimeUs":{"min":"534us","max":"534us","avg":"534us","sum":"534us","count":1},"OutputBytes":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"OutputRows":{"min":1,"max":1,"avg":1,"sum":1,"count":1},"ResultBytes":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"ResultRows":{"min":1,"max":1,"avg":1,"sum":1,"count":1},"Tasks":{"min":1,"max":1,"avg":1,"sum":1,"count":1}}} \ No newline at end of file diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_s3source.json b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_s3source.json new file mode 100644 index 000000000000..7764876cdc7a --- /dev/null +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_s3source.json @@ -0,0 +1 @@ +{"ResultSet":{"01_2_Stage":{"SourceCpuTimeUs":{"sum":"808us","count":1,"avg":"808us","max":"808us","min":"808us"},"DurationUs":{"sum":"3ms","count":1,"avg":"3ms","max":"3ms","min":"3ms"},"Output=4":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30}},"Push":{"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResumeMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"PauseMessageMs":{"avg":"10:58:35.19s","sum":"0.00s","count":1,"max":"10:58:35.19s","min":"10:58:35.19s"},"WaitTimeUs":{"sum":"43ms","count":1,"avg":"43ms","max":"43ms","min":"43ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"44ms","count":1,"max":"10:58:35.24s","min":"10:58:35.19s"}}},"MaxMemoryUsage":{"sum":241172480,"count":1,"avg":241172480,"max":241172480,"min":241172480},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"Tasks":{"sum":1,"count":1},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"StageDurationUs":{"sum":"3ms","count":1},"WaitInputTimeUs":{"sum":"43ms","count":1,"avg":"43ms","max":"43ms","min":"43ms"},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"CpuTimeUs":{"sum":"6ms","count":1,"avg":"6ms","max":"6ms","min":"6ms"},"Ingress=S3Source":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Bytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66}},"Ingress":{"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Bytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"Splits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PauseMessageMs":{"avg":"10:58:35.19s","sum":"0.00s","count":1,"max":"10:58:35.19s","min":"10:58:35.19s"},"WaitTimeUs":{"sum":"43ms","count":1,"avg":"43ms","max":"43ms","min":"43ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"43ms","count":1,"max":"10:58:35.24s","min":"10:58:35.19s"}},"Push":{"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Bytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PauseMessageMs":{"avg":"10:58:35.19s","sum":"0.00s","count":1,"max":"10:58:35.19s","min":"10:58:35.19s"},"WaitTimeUs":{"sum":"43ms","count":1,"avg":"43ms","max":"43ms","min":"43ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"43ms","count":1,"max":"10:58:35.24s","min":"10:58:35.19s"}}}},"02_4_Collect":{"DurationUs":{"sum":"9ms","count":1,"avg":"9ms","max":"9ms","min":"9ms"},"Output=RESULT":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30}},"Push":{"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResumeMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"PauseMessageMs":{"avg":"10:58:35.18s","sum":"0.00s","count":1,"max":"10:58:35.18s","min":"10:58:35.18s"},"WaitTimeUs":{"sum":"57ms","count":1,"avg":"57ms","max":"57ms","min":"57ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"58ms","count":1,"max":"10:58:35.24s","min":"10:58:35.18s"}}},"MaxMemoryUsage":{"sum":31457280,"count":1,"avg":31457280,"max":31457280,"min":31457280},"InputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"ResultRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Tasks":{"sum":1,"count":1},"ResultBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"InputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"StageDurationUs":{"sum":"9ms","count":1},"WaitInputTimeUs":{"sum":"57ms","count":1,"avg":"57ms","max":"57ms","min":"57ms"},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"CpuTimeUs":{"sum":"900us","count":1,"avg":"900us","max":"900us","min":"900us"},"Input=2":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30}},"Push":{"LastMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"FirstMessageMs":{"avg":"10:58:35.24s","sum":"0.00s","count":1,"max":"10:58:35.24s","min":"10:58:35.24s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PauseMessageMs":{"avg":"10:58:35.18s","sum":"0.00s","count":1,"max":"10:58:35.18s","min":"10:58:35.18s"},"WaitTimeUs":{"sum":"57ms","count":1,"avg":"57ms","max":"57ms","min":"57ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"58ms","count":1,"max":"10:58:35.24s","min":"10:58:35.18s"}}}},"MaxMemoryUsage":{"min":31457280,"max":241172480,"avg":136314880,"sum":272629760,"count":2},"CpuTimeUs":{"min":"900us","max":"6ms","avg":"3ms","sum":"7ms","count":2},"SourceCpuTimeUs":{"min":"808us","max":"808us","avg":"808us","sum":"808us","count":1},"InputBytes":{"min":30,"max":30,"avg":30,"sum":30,"count":1},"InputRows":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"OutputBytes":{"min":30,"max":30,"avg":30,"sum":60,"count":2},"OutputRows":{"min":3,"max":3,"avg":3,"sum":6,"count":2},"ResultBytes":{"min":30,"max":30,"avg":30,"sum":30,"count":1},"ResultRows":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"IngressBytes":{"min":53,"max":53,"avg":53,"sum":53,"count":1},"IngressRows":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"Tasks":{"min":1,"max":1,"avg":1,"sum":2,"count":2}}} \ No newline at end of file diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_two_results.json b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_two_results.json new file mode 100644 index 000000000000..a90059bf5b05 --- /dev/null +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/resources/v2_two_results.json @@ -0,0 +1 @@ +{"ResultSet_1":{"01_2_Limit":{"SourceCpuTimeUs":{"sum":"542us","count":1,"avg":"542us","max":"542us","min":"542us"},"DurationUs":{"sum":"2ms","count":1,"avg":"2ms","max":"2ms","min":"2ms"},"Output=4":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"Chunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"PauseMessageMs":{"avg":"16:30:56.80s","sum":"0.00s","count":1,"max":"16:30:56.80s","min":"16:30:56.80s"},"WaitTimeUs":{"sum":"19ms","count":1,"avg":"19ms","max":"19ms","min":"19ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"19ms","count":1,"max":"16:30:56.82s","min":"16:30:56.80s"}}},"MaxMemoryUsage":{"sum":241172480,"count":1,"avg":241172480,"max":241172480,"min":241172480},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"Tasks":{"sum":1,"count":1},"OutputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"StageDurationUs":{"sum":"2ms","count":1},"WaitInputTimeUs":{"sum":"26ms","count":1,"avg":"26ms","max":"26ms","min":"26ms"},"OutputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"CpuTimeUs":{"sum":"1ms","count":1,"avg":"1ms","max":"1ms","min":"1ms"},"Ingress=S3Source":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66}},"Ingress":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"Splits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PauseMessageMs":{"avg":"16:30:56.79s","sum":"0.00s","count":1,"max":"16:30:56.79s","min":"16:30:56.79s"},"WaitTimeUs":{"sum":"26ms","count":1,"avg":"26ms","max":"26ms","min":"26ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"26ms","count":1,"max":"16:30:56.82s","min":"16:30:56.79s"}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PauseMessageMs":{"avg":"16:30:56.79s","sum":"0.00s","count":1,"max":"16:30:56.79s","min":"16:30:56.79s"},"WaitTimeUs":{"sum":"26ms","count":1,"avg":"26ms","max":"26ms","min":"26ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"26ms","count":1,"max":"16:30:56.82s","min":"16:30:56.79s"}}}},"02_4_Limit":{"DurationUs":{"sum":"0.19s","count":1,"avg":"0.19s","max":"0.19s","min":"0.19s"},"Output=RESULT":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"Chunks":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"PauseMessageMs":{"avg":"16:30:56.80s","sum":"0.00s","count":1,"max":"16:30:56.80s","min":"16:30:56.80s"},"WaitTimeUs":{"sum":"20ms","count":1,"avg":"20ms","max":"20ms","min":"20ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"20ms","count":1,"max":"16:30:56.82s","min":"16:30:56.80s"}}},"MaxMemoryUsage":{"sum":31457280,"count":1,"avg":31457280,"max":31457280,"min":31457280},"InputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"ResultRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"Tasks":{"sum":1,"count":1},"ResultBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"OutputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"InputRows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"StageDurationUs":{"sum":"0.19s","count":1},"WaitInputTimeUs":{"sum":"20ms","count":1,"avg":"20ms","max":"20ms","min":"20ms"},"OutputBytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"CpuTimeUs":{"sum":"555us","count":1,"avg":"555us","max":"555us","min":"555us"},"Input=2":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":2,"count":1,"avg":2,"max":2,"min":2},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":23,"count":1,"avg":23,"max":23,"min":23},"PauseMessageMs":{"avg":"16:30:56.80s","sum":"0.00s","count":1,"max":"16:30:56.80s","min":"16:30:56.80s"},"WaitTimeUs":{"sum":"20ms","count":1,"avg":"20ms","max":"20ms","min":"20ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"20ms","count":1,"max":"16:30:56.82s","min":"16:30:56.80s"}}}},"MaxMemoryUsage":{"min":31457280,"max":241172480,"avg":136314880,"sum":272629760,"count":2},"CpuTimeUs":{"min":"555us","max":"1ms","avg":"850us","sum":"1ms","count":2},"SourceCpuTimeUs":{"min":"542us","max":"542us","avg":"542us","sum":"542us","count":1},"InputBytes":{"min":23,"max":23,"avg":23,"sum":23,"count":1},"InputRows":{"min":2,"max":2,"avg":2,"sum":2,"count":1},"OutputBytes":{"min":23,"max":23,"avg":23,"sum":46,"count":2},"OutputRows":{"min":2,"max":2,"avg":2,"sum":4,"count":2},"ResultBytes":{"min":23,"max":23,"avg":23,"sum":23,"count":1},"ResultRows":{"min":2,"max":2,"avg":2,"sum":2,"count":1},"IngressBytes":{"min":53,"max":53,"avg":53,"sum":53,"count":1},"IngressRows":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"Tasks":{"min":1,"max":1,"avg":1,"sum":2,"count":2}},"ResultSet_0":{"01_7_Stage":{"SourceCpuTimeUs":{"sum":"628us","count":1,"avg":"628us","max":"628us","min":"628us"},"DurationUs":{"sum":"1ms","count":1,"avg":"1ms","max":"1ms","min":"1ms"},"Output=9":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"PauseMessageMs":{"avg":"16:30:56.80s","sum":"0.00s","count":1,"max":"16:30:56.80s","min":"16:30:56.80s"},"WaitTimeUs":{"sum":"18ms","count":1,"avg":"18ms","max":"18ms","min":"18ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"19ms","count":1,"max":"16:30:56.82s","min":"16:30:56.80s"}}},"MaxMemoryUsage":{"sum":241172480,"count":1,"avg":241172480,"max":241172480,"min":241172480},"IngressBytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"Tasks":{"sum":1,"count":1},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"IngressRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"StageDurationUs":{"sum":"1ms","count":1},"WaitInputTimeUs":{"sum":"26ms","count":1,"avg":"26ms","max":"26ms","min":"26ms"},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"CpuTimeUs":{"sum":"1ms","count":1,"avg":"1ms","max":"1ms","min":"1ms"},"Ingress=S3Source":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66}},"Ingress":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":53,"count":1,"avg":53,"max":53,"min":53},"Splits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PauseMessageMs":{"avg":"16:30:56.79s","sum":"0.00s","count":1,"max":"16:30:56.79s","min":"16:30:56.79s"},"WaitTimeUs":{"sum":"26ms","count":1,"avg":"26ms","max":"26ms","min":"26ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"26ms","count":1,"max":"16:30:56.82s","min":"16:30:56.79s"}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":66,"count":1,"avg":66,"max":66,"min":66},"PauseMessageMs":{"avg":"16:30:56.79s","sum":"0.00s","count":1,"max":"16:30:56.79s","min":"16:30:56.79s"},"WaitTimeUs":{"sum":"26ms","count":1,"avg":"26ms","max":"26ms","min":"26ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"26ms","count":1,"max":"16:30:56.82s","min":"16:30:56.79s"}}}},"02_9_Collect":{"DurationUs":{"sum":"2ms","count":1,"avg":"2ms","max":"2ms","min":"2ms"},"Output=RESULT":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"PauseMessageMs":{"avg":"16:30:56.80s","sum":"0.00s","count":1,"max":"16:30:56.80s","min":"16:30:56.80s"},"WaitTimeUs":{"sum":"18ms","count":1,"avg":"18ms","max":"18ms","min":"18ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"18ms","count":1,"max":"16:30:56.82s","min":"16:30:56.80s"}}},"MaxMemoryUsage":{"sum":31457280,"count":1,"avg":31457280,"max":31457280,"min":31457280},"InputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"ResultRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Tasks":{"sum":1,"count":1},"ResultBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"OutputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"InputRows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"StageDurationUs":{"sum":"2ms","count":1},"WaitInputTimeUs":{"sum":"18ms","count":1,"avg":"18ms","max":"18ms","min":"18ms"},"OutputBytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"CpuTimeUs":{"sum":"496us","count":1,"avg":"496us","max":"496us","min":"496us"},"Input=7":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30}},"Push":{"LastMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Rows":{"sum":3,"count":1,"avg":3,"max":3,"min":3},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"FirstMessageMs":{"avg":"16:30:56.82s","sum":"0.00s","count":1,"max":"16:30:56.82s","min":"16:30:56.82s"},"Bytes":{"sum":30,"count":1,"avg":30,"max":30,"min":30},"PauseMessageMs":{"avg":"16:30:56.80s","sum":"0.00s","count":1,"max":"16:30:56.80s","min":"16:30:56.80s"},"WaitTimeUs":{"sum":"18ms","count":1,"avg":"18ms","max":"18ms","min":"18ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"18ms","count":1,"max":"16:30:56.82s","min":"16:30:56.80s"}}}},"MaxMemoryUsage":{"min":31457280,"max":241172480,"avg":136314880,"sum":272629760,"count":2},"CpuTimeUs":{"min":"496us","max":"1ms","avg":"754us","sum":"1ms","count":2},"SourceCpuTimeUs":{"min":"628us","max":"628us","avg":"628us","sum":"628us","count":1},"InputBytes":{"min":30,"max":30,"avg":30,"sum":30,"count":1},"InputRows":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"OutputBytes":{"min":30,"max":30,"avg":30,"sum":60,"count":2},"OutputRows":{"min":3,"max":3,"avg":3,"sum":6,"count":2},"ResultBytes":{"min":30,"max":30,"avg":30,"sum":30,"count":1},"ResultRows":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"IngressBytes":{"min":53,"max":53,"avg":53,"sum":53,"count":1},"IngressRows":{"min":3,"max":3,"avg":3,"sum":3,"count":1},"Tasks":{"min":1,"max":1,"avg":1,"sum":2,"count":2}}} \ No newline at end of file diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/utils_ut.cpp b/ydb/core/fq/libs/control_plane_storage/internal/ut/utils_ut.cpp index 250a486da5df..db8415f55ea9 100644 --- a/ydb/core/fq/libs/control_plane_storage/internal/ut/utils_ut.cpp +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/utils_ut.cpp @@ -4,49 +4,70 @@ namespace NFq { +namespace { +void ValidateStats(std::string_view statisticsStr, const std::unordered_map& expected) { + FederatedQuery::Internal::QueryInternal internal; + auto statisticsPtr = internal.mutable_statistics(); + PackStatisticsToProtobuf(*statisticsPtr, statisticsStr); + + for (const auto& statsElement : *statisticsPtr) { + const auto& name = statsElement.name(); + auto value = statsElement.value(); + + auto it = expected.find(name); + UNIT_ASSERT(it != expected.end()); + UNIT_ASSERT_EQUAL(value, it->second); + } + UNIT_ASSERT_EQUAL(expected.size(), static_cast(statisticsPtr->size())); +} +} + Y_UNIT_TEST_SUITE(ParseStats) { - Y_UNIT_TEST(ParseV2) { - FederatedQuery::Internal::QueryInternal internal; - auto statisticsPtr = internal.mutable_statistics(); - PackStatisticsToProtobuf(*statisticsPtr, R"({"ResultSet":{"01_1_Stage-Source":{"SourceCpuTimeUs":{"sum":"828us","count":1,"avg":"828us","max":"828us","min":"828us"},"Output=3":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"FirstMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"Bytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8}},"Push":{"LastMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"FirstMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"PauseMessageMs":{"avg":"11:01:10.81s","sum":"0.00s","count":1,"max":"11:01:10.81s","min":"11:01:10.81s"},"WaitTimeUs":{"sum":"72ms","count":1,"avg":"72ms","max":"72ms","min":"72ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"73ms","count":1,"max":"11:01:10.88s","min":"11:01:10.81s"}}},"MaxMemoryUsage":{"sum":241172480,"count":1,"avg":241172480,"max":241172480,"min":241172480},"TotalDurationMs":{"sum":"00:00:00.09s","count":1},"IngressBytes":{"sum":22,"count":1,"avg":22,"max":22,"min":22},"Tasks":{"sum":1,"count":1},"OutputRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"IngressRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"CpuTimeUs":{"sum":"1ms","count":1,"avg":"1ms","max":"1ms","min":"1ms"},"OutputBytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8},"Ingress=S3Source":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"FirstMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"Bytes":{"sum":17,"count":1,"avg":17,"max":17,"min":17}},"Ingress":{"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"FirstMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"Bytes":{"sum":22,"count":1,"avg":22,"max":22,"min":22},"Splits":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"PauseMessageMs":{"avg":"11:01:10.80s","sum":"0.00s","count":1,"max":"11:01:10.80s","min":"11:01:10.80s"},"WaitTimeUs":{"sum":"86ms","count":1,"avg":"86ms","max":"86ms","min":"86ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"86ms","count":1,"max":"11:01:10.88s","min":"11:01:10.80s"}},"Push":{"LastMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"FirstMessageMs":{"avg":"11:01:10.88s","sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.88s","min":"11:01:10.88s"},"Bytes":{"sum":17,"count":1,"avg":17,"max":17,"min":17},"PauseMessageMs":{"avg":"11:01:10.80s","sum":"0.00s","count":1,"max":"11:01:10.80s","min":"11:01:10.80s"},"WaitTimeUs":{"sum":"86ms","count":1,"avg":"86ms","max":"86ms","min":"86ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"86ms","count":1,"max":"11:01:10.88s","min":"11:01:10.80s"}}}},"02_3_Collect":{"Output=RESULT":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"FirstMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"Bytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8}},"Push":{"LastMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"FirstMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"PauseMessageMs":{"avg":"11:01:10.81s","sum":"0.00s","count":1,"max":"11:01:10.81s","min":"11:01:10.81s"},"WaitTimeUs":{"sum":"77ms","count":1,"avg":"77ms","max":"77ms","min":"77ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"77ms","count":1,"max":"11:01:10.89s","min":"11:01:10.81s"}}},"MaxMemoryUsage":{"sum":31457280,"count":1,"avg":31457280,"max":31457280,"min":31457280},"TotalDurationMs":{"sum":"00:00:00.08s","count":1},"InputBytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8},"ResultRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Tasks":{"sum":1,"count":1},"ResultBytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8},"OutputRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"InputRows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"CpuTimeUs":{"sum":"771us","count":1,"avg":"771us","max":"771us","min":"771us"},"OutputBytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8},"Input=1":{"Pop":{"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"FirstMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"Bytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8}},"Push":{"Rows":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"LastMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"Chunks":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"ResumeMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"FirstMessageMs":{"avg":"11:01:10.89s","sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"ActiveMessageMs":{"sum":"0.00s","count":1,"max":"11:01:10.89s","min":"11:01:10.89s"},"Bytes":{"sum":8,"count":1,"avg":8,"max":8,"min":8},"PauseMessageMs":{"avg":"11:01:10.81s","sum":"0.00s","count":1,"max":"11:01:10.81s","min":"11:01:10.81s"},"WaitTimeUs":{"sum":"77ms","count":1,"avg":"77ms","max":"77ms","min":"77ms"},"WaitPeriods":{"sum":1,"count":1,"avg":1,"max":1,"min":1},"WaitMessageMs":{"sum":"77ms","count":1,"max":"11:01:10.89s","min":"11:01:10.81s"}}}},"MaxMemoryUsage":{"min":31457280,"max":241172480,"avg":136314880,"sum":272629760,"count":2},"CpuTimeUs":{"min":"771us","max":"1ms","avg":"1ms","sum":"2ms","count":2},"SourceCpuTimeUs":{"min":"828us","max":"828us","avg":"828us","sum":"828us","count":1},"InputBytes":{"min":8,"max":8,"avg":8,"sum":8,"count":1},"InputRows":{"min":1,"max":1,"avg":1,"sum":1,"count":1},"OutputBytes":{"min":8,"max":8,"avg":8,"sum":16,"count":2},"OutputRows":{"min":1,"max":1,"avg":1,"sum":2,"count":2},"ResultBytes":{"min":8,"max":8,"avg":8,"sum":8,"count":1},"ResultRows":{"min":1,"max":1,"avg":1,"sum":1,"count":1},"IngressBytes":{"min":22,"max":22,"avg":22,"sum":22,"count":1},"IngressRows":{"min":1,"max":1,"avg":1,"sum":1,"count":1}}})"); - - std::unordered_map expected{ - {"IngressBytes", 22}, - {"InputBytes", 8}, - {"OutputBytes", 16}, - {"S3Source", 22}}; - - for (const auto& statsElement : *statisticsPtr) { - const auto& name = statsElement.name(); - auto value = statsElement.value(); - - auto it = expected.find(name); - UNIT_ASSERT(it != expected.end()); - UNIT_ASSERT_EQUAL(value, it->second); - } - UNIT_ASSERT_EQUAL(expected.size(), static_cast(statisticsPtr->size())); + + Y_UNIT_TEST(ParseWithSources) { + auto v1S3Source = NResource::Find("v1_s3source.json"); + auto v2S3Source = NResource::Find("v2_s3source.json"); + + std::unordered_map expectedS3Source{ + {"IngressBytes", 53}, + {"InputBytes", 30}, + {"OutputBytes", 60}, + {"S3Source", 53}}; + + ValidateStats(v1S3Source, expectedS3Source); + ValidateStats(v2S3Source, expectedS3Source); + } + + Y_UNIT_TEST(ParseJustOutput) { + auto v1Output = NResource::Find("v1_output.json"); + auto v2Output = NResource::Find("v2_output.json"); + + std::unordered_map expectedOutput{{"OutputBytes", 3}}; + + ValidateStats(v1Output, expectedOutput); + ValidateStats(v2Output, expectedOutput); + } + + Y_UNIT_TEST(ParseMultipleGraphsV1) { + auto v1TwoResults = NResource::Find("v1_two_results.json"); + std::unordered_map expectedOutput{ + {"OutputBytes", 129}, + {"InputBytes", 76}, + {"IngressBytes", 106}, + {"S3Source", 106} + }; + ValidateStats(v1TwoResults, expectedOutput); } - Y_UNIT_TEST(Parse2SourcesV2) { - FederatedQuery::Internal::QueryInternal internal; - auto statisticsPtr = internal.mutable_statistics(); - PackStatisticsToProtobuf(*statisticsPtr, R"({"ResultSet": {"01_1_Stage-Source": {"IngressBytes": {"sum": 24,"count": 1,"avg": 24,"max": 24,"min": 24},"OutputBytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13},"Ingress=S3Source": {"Ingress": {"Bytes": {"sum": 24,"count": 1,"avg": 24,"max": 24,"min": 24}}}},"02_3_Collect": {"Output=5": {"Pop": {"Bytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13}}},"InputBytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13},"OutputBytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13},"Input=1": {"Pop": {"Bytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13}}}},"03_5_InnerJoin (MapJoin)-Source": {"SourceCpuTimeUs": {"sum": "495us","count": 1,"avg": "495us","max": "495us","min": "495us"},"Output=7": {"Pop": {"Bytes": {"sum": 18,"count": 1,"avg": 18,"max": 18,"min": 18}}},"InputBytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13},"IngressBytes": {"sum": 22,"count": 1,"avg": 22,"max": 22,"min": 22},"OutputBytes": {"sum": 18,"count": 1,"avg": 18,"max": 18,"min": 18},"Ingress=S3Source": {"Pop": {"Bytes": {"sum": 17,"count": 1,"avg": 17,"max": 17,"min": 17}},"Ingress": {"Bytes": {"sum": 22,"count": 1,"avg": 22,"max": 22,"min": 22}},"Push": {"Bytes": {"sum": 17,"count": 1,"avg": 17,"max": 17,"min": 17}}},"Input=3": {"Pop": {"Bytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13}},"Push": {"Bytes": {"sum": 13,"count": 1,"avg": 13,"max": 13,"min": 13}}}},"04_7_Collect": {"Output=RESULT": {"Pop": {"Bytes": {"sum": 18,"count": 1,"avg": 18,"max": 18,"min": 18}},"Push": {"Rows": {"sum": 1,"count": 1,"avg": 1,"max": 1,"min": 1}}},"InputBytes": {"sum": 18,"count": 1,"avg": 18,"max": 18,"min": 18},"OutputBytes": {"sum": 18,"count": 1,"avg": 18,"max": 18,"min": 18},"Input=5": {"Pop": {"Bytes": {"sum": 18,"count": 1,"avg": 18,"max": 18,"min": 18}},"Push": {"Bytes": {"sum": 18,"count": 1,"avg": 18,"max": 18,"min": 18}}}},"InputBytes": {"min": 13,"max": 18,"avg": 14,"sum": 44,"count": 3},"OutputBytes": {"min": 13,"max": 18,"avg": 15,"sum": 62,"count": 4},"IngressBytes": {"min": 22,"max": 24,"avg": 23,"sum": 46,"count": 2}}})"); - - std::unordered_map expected{ - {"IngressBytes", 46}, - {"InputBytes", 44}, - {"OutputBytes", 62}, - {"S3Source", 46}}; - - for (const auto& statsElement : *statisticsPtr) { - const auto& name = statsElement.name(); - auto value = statsElement.value(); - - auto it = expected.find(name); - UNIT_ASSERT(it != expected.end()); - UNIT_ASSERT_EQUAL(value, it->second); - } - UNIT_ASSERT_EQUAL(expected.size(), static_cast(statisticsPtr->size())); + Y_UNIT_TEST(ParseMultipleGraphsV2) { + auto v2TwoResults = NResource::Find("v2_two_results.json"); + std::unordered_map expectedOutput{ + {"OutputBytes", 106}, + {"InputBytes", 53}, + {"IngressBytes", 106}, + {"S3Source", 106} + }; + ValidateStats(v2TwoResults, expectedOutput); } } } \ No newline at end of file diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ut/ya.make b/ydb/core/fq/libs/control_plane_storage/internal/ut/ya.make index 938c9daeb802..9014ba878cc8 100644 --- a/ydb/core/fq/libs/control_plane_storage/internal/ut/ya.make +++ b/ydb/core/fq/libs/control_plane_storage/internal/ut/ya.make @@ -14,5 +14,14 @@ PEERDIR( YQL_LAST_ABI_VERSION() +RESOURCE( + resources/v1_output.json v1_output.json + resources/v2_output.json v2_output.json + resources/v1_s3source.json v1_s3source.json + resources/v2_s3source.json v2_s3source.json + resources/v1_two_results.json v1_two_results.json + resources/v2_two_results.json v2_two_results.json +) + END() diff --git a/ydb/core/fq/libs/control_plane_storage/internal/utils.cpp b/ydb/core/fq/libs/control_plane_storage/internal/utils.cpp index eae13a44e254..8f64f8d4c94a 100644 --- a/ydb/core/fq/libs/control_plane_storage/internal/utils.cpp +++ b/ydb/core/fq/libs/control_plane_storage/internal/utils.cpp @@ -1,5 +1,6 @@ #include "utils.h" +#include #include #include @@ -304,17 +305,7 @@ TString GetPrettyStatistics(const TString& statistics) { namespace { -const NJson::TJsonValue* GetStatisticsRoot(const NJson::TJsonValue& allStatistics) { - const NJson::TJsonValue* root = nullptr; - if (!allStatistics.GetValuePointer("ResultSet", &root)) { - allStatistics.GetValuePointer("Graph=0", &root); - } - return root; -} - -std::unordered_map AggregateStatisticsBySources(const NJson::TJsonValue& root) { - std::unordered_map aggregatedStats; - +void AggregateStatisticsBySources(const NJson::TJsonValue& root, std::unordered_map& aggregatedStats) { for (const auto& [stageName, stageStats] : root.GetMap()) { if (!stageStats.IsMap()) { continue; @@ -325,19 +316,51 @@ std::unordered_map AggregateStatisticsBySources(const NJson::TJson continue; } + constexpr std::string_view v1Prefix = "Source="; constexpr std::string_view v2Prefix = "Ingress="; - if (!partKey.StartsWith(v2Prefix)) { + std::string_view matchedPrefix; + std::string_view ingressPath; + if (partKey.StartsWith(v1Prefix)) { + matchedPrefix = v1Prefix; + ingressPath = "Stage=Total.IngressBytes.sum"; + } else if (partKey.StartsWith(v2Prefix)) { + matchedPrefix = v2Prefix; + ingressPath = "Ingress.Bytes.sum"; + } else { continue; } - if (auto valuePtr = partStats.GetValueByPath("Ingress.Bytes.sum")) { - TString valueKey{partKey, v2Prefix.size(), partKey.size() - v2Prefix.size()}; + if (auto valuePtr = partStats.GetValueByPath(ingressPath)) { + TString valueKey{partKey, matchedPrefix.size(), partKey.size() - matchedPrefix.size()}; i64 value = valuePtr->GetIntegerSafe(); aggregatedStats[valueKey] += value; break; } } } - return aggregatedStats; +} + +void CollectTotalStatistics(const NJson::TJsonValue& stats, std::unordered_map& aggregatedStatistics) { + using namespace std::string_view_literals; + auto fieldToPath = { + std::make_pair(TString{"IngressBytes"}, "IngressBytes.sum"sv), + {"EgressBytes", "EgressBytes.sum"}, + {"InputBytes", "InputBytes.sum"}, + {"OutputBytes", "OutputBytes.sum"}}; + + for (const auto& [rootKey, graph] : stats.GetMap()) { + bool isV1 = rootKey.find('=') != TString::npos; + for (auto [field, path] : fieldToPath) { + if (auto jsonField = graph.GetValueByPath(fmt::format("{}{}", (isV1 ? "TaskRunner.Stage=Total." : ""), path))) { + aggregatedStatistics[field] += jsonField->GetIntegerSafe(); + } + } + } +} + +void CollectDetalizationStatistics(const NJson::TJsonValue& stats, std::unordered_map& aggregatedStatistics) { + for (const auto& [rootKey, graph] : stats.GetMap()) { + AggregateStatisticsBySources(graph, aggregatedStatistics); + } } } @@ -347,31 +370,18 @@ void PackStatisticsToProtobuf(google::protobuf::RepeatedPtrFieldIsMap()) { + if (!statsJson.IsMap()) { return; } - using namespace std::string_view_literals; - auto field_to_path = { - std::make_pair("IngressBytes"sv, "IngressBytes.sum"sv), - {"EgressBytes", "EgressBytes.sum"}, - {"InputBytes", "InputBytes.sum"}, - {"OutputBytes", "OutputBytes.sum"}}; - - for (auto [field, path] : field_to_path) { - if (auto jsonField = root->GetValueByPath(path)) { - auto newValue = dest.Add(); - newValue->set_name(TString{field}); - newValue->set_value(jsonField->GetIntegerSafe()); - } - } + std::unordered_map aggregatedStatistics; + CollectTotalStatistics(statsJson, aggregatedStatistics); + CollectDetalizationStatistics(statsJson, aggregatedStatistics); - std::unordered_map aggregatedStatistics = AggregateStatisticsBySources(*root); - for (const auto& [source, ingress] : aggregatedStatistics) { - auto newEntry = dest.Add(); - newEntry->set_name(source); - newEntry->set_value(ingress); + for (auto [field, stat] : aggregatedStatistics) { + auto newStat = dest.Add(); + newStat->set_name(TString{field}); + newStat->set_value(stat); } } diff --git a/ydb/core/fq/libs/control_plane_storage/internal/ya.make b/ydb/core/fq/libs/control_plane_storage/internal/ya.make index b241cd918524..382af942dfe3 100644 --- a/ydb/core/fq/libs/control_plane_storage/internal/ya.make +++ b/ydb/core/fq/libs/control_plane_storage/internal/ya.make @@ -11,6 +11,7 @@ SRCS( ) PEERDIR( + contrib/libs/fmt ydb/library/actors/core library/cpp/lwtrace/mon library/cpp/monlib/service/pages