From c1148dcb82c825b38106b1695295de1f9996acb3 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 6 Nov 2025 18:29:47 +0200 Subject: [PATCH 01/15] PMM-14517 PGSM 2.3.0 support --- .../postgres/pgstatmonitor/pgstatmonitor.go | 27 +++++++- .../pgstatmonitor/pgstatmonitor_models.go | 15 +++++ .../pgstatmonitor/pgstatmonitor_test.go | 66 ++++++++++--------- api/agent/v1/collector.pb.go | 65 ++++++++++++++++-- api/agent/v1/collector.pb.validate.go | 12 ++++ api/agent/v1/collector.proto | 12 ++++ api/qan/v1/collector.pb.go | 61 ++++++++++++++++- api/qan/v1/collector.pb.validate.go | 12 ++++ api/qan/v1/collector.proto | 12 ++++ managed/services/qan/client.go | 9 +++ 10 files changed, 253 insertions(+), 38 deletions(-) diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go index 93e56e9a1b0..6c794b59120 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go @@ -92,6 +92,12 @@ const ( pgStatMonitorVersion21PG15 pgStatMonitorVersion21PG16 pgStatMonitorVersion21PG17 + pgStatMonitorVersion23PG13 + pgStatMonitorVersion23PG14 + pgStatMonitorVersion23PG15 + pgStatMonitorVersion23PG16 + pgStatMonitorVersion23PG17 + pgStatMonitorVersion23PG18 ) const ( @@ -191,6 +197,21 @@ func getPGMonitorVersion(q *reform.Querier) (pgStatMonitorVersion, pgStatMonitor var version pgStatMonitorVersion switch { + case vPGSM.Core().GreaterThanOrEqual(v23): + switch { + case vPG >= 18: + version = pgStatMonitorVersion23PG18 + case vPG >= 17: + version = pgStatMonitorVersion23PG17 + case vPG >= 16: + version = pgStatMonitorVersion23PG16 + case vPG >= 15: + version = pgStatMonitorVersion23PG15 + case vPG >= 14: + version = pgStatMonitorVersion23PG14 + default: + version = pgStatMonitorVersion23PG13 + } case vPGSM.Core().GreaterThanOrEqual(v21): switch { case vPG >= 17: @@ -638,6 +659,10 @@ func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]* {float32(currentPSM.WalFpi - prevPSM.WalFpi), &mb.Postgresql.MWalFpiSum, &mb.Postgresql.MWalFpiCnt}, {float32(currentPSM.WalRecords - prevPSM.WalRecords), &mb.Postgresql.MWalRecordsSum, &mb.Postgresql.MWalRecordsCnt}, {float32(currentPSM.WalBytes - prevPSM.WalBytes), &mb.Postgresql.MWalBytesSum, &mb.Postgresql.MWalBytesCnt}, + {float32(currentPSM.WalBuffersFull - prevPSM.WalBuffersFull), &mb.Postgresql.MWalBuffersFullSum, &mb.Postgresql.MWalBuffersFullCnt}, + + {float32(currentPSM.ParallelWorkersToLaunch - prevPSM.ParallelWorkersToLaunch), &mb.Postgresql.MParallelWorkersToLaunchSum, &mb.Postgresql.MParallelWorkersToLaunchCnt}, + {float32(currentPSM.ParallelWorkersLaunched - prevPSM.ParallelWorkersLaunched), &mb.Postgresql.MParallelWorkersLaunchedSum, &mb.Postgresql.MParallelWorkersLaunchedCnt}, // convert milliseconds to seconds {float32(currentPSM.TotalExecTime-prevPSM.TotalExecTime) / 1000, &mb.Common.MQueryTimeSum, &mb.Common.MQueryTimeCnt}, @@ -649,8 +674,6 @@ func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]* // convert microseconds to seconds {float32(cpuSysTime) / 1000000, &mb.Postgresql.MCpuSysTimeSum, &mb.Postgresql.MCpuSysTimeCnt}, {float32(cpuUserTime) / 1000000, &mb.Postgresql.MCpuUserTimeSum, &mb.Postgresql.MCpuUserTimeCnt}, - - {float32(currentPSM.WalBytes - prevPSM.WalBytes), &mb.Postgresql.MWalBytesSum, &mb.Postgresql.MWalBytesCnt}, } { if p.value != 0 { *p.sum = p.value diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go index 973c3e1d4d6..204f5d9c3f0 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go @@ -27,6 +27,7 @@ import ( ) var ( + v23 = version.Must(version.NewVersion("2.3.0")) v21 = version.Must(version.NewVersion("2.1.0")) v20 = version.Must(version.NewVersion("2.0.0")) v11 = version.Must(version.NewVersion("1.1.0")) @@ -99,6 +100,10 @@ type pgStatMonitor struct { WalRecords int64 WalFpi int64 WalBytes int64 + WalBuffersFull int64 + + ParallelWorkersToLaunch int64 + ParallelWorkersLaunched int64 // reform related fields pointers []interface{} @@ -226,6 +231,13 @@ func newPgStatMonitorStructs(vPGSM pgStatMonitorVersion, vPG pgVersion) (*pgStat } } + if vPGSM >= pgStatMonitorVersion23PG18 { + fields = append(fields, + field{info: parse.FieldInfo{Name: "WalBuffersFull", Type: "int64", Column: "wal_buffers_full"}, pointer: &s.WalBuffersFull}, + field{info: parse.FieldInfo{Name: "ParrallelWorkersToLaunch", Type: "int64", Column: "parallel_workers_to_launch"}, pointer: &s.ParallelWorkersToLaunch}, + field{info: parse.FieldInfo{Name: "ParallelWorkersLaunched", Type: "int64", Column: "parallel_workers_launched"}, pointer: &s.ParallelWorkersLaunched}) + } + if vPGSM >= pgStatMonitorVersion08 && vPGSM < pgStatMonitorVersion20PG12 { fields = append(fields, field{info: parse.FieldInfo{Name: "BucketStartTimeString", Type: "string", Column: "bucket_start_time"}, pointer: &s.BucketStartTimeString}, @@ -341,6 +353,9 @@ func (s pgStatMonitor) String() string { res[48] = "WalRecords: " + reform.Inspect(s.WalRecords, true) res[49] = "WalFpi: " + reform.Inspect(s.WalFpi, true) res[50] = "WalBytes: " + reform.Inspect(s.WalBytes, true) + res[51] = "WalBuffersFull: " + reform.Inspect(s.WalBuffersFull, true) + res[52] = "ParrallelWorkersToLaunch: " + reform.Inspect(s.ParallelWorkersToLaunch, true) + res[53] = "ParallelWorkersLaunched: " + reform.Inspect(s.ParallelWorkersLaunched, true) return strings.Join(res, ", ") } diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go index ec1892abfbd..f68a8aeed3a 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_test.go @@ -551,36 +551,42 @@ func TestPGStatMonitorSchema(t *testing.T) { Tables: []string{fmt.Sprintf("public.%s", tableName)}, }, Postgresql: &agentv1.MetricsBucket_PostgreSQL{ - MSharedBlkReadTimeCnt: float32(n), - MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, - MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, - MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, - MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, - MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, - MSharedBlksWrittenCnt: actual.Postgresql.MSharedBlksWrittenCnt, - MSharedBlksWrittenSum: actual.Postgresql.MSharedBlksWrittenSum, - MSharedBlksDirtiedCnt: actual.Postgresql.MSharedBlksDirtiedCnt, - MSharedBlksDirtiedSum: actual.Postgresql.MSharedBlksDirtiedSum, - MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, - MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, - MRowsCnt: float32(n), - MRowsSum: float32(n), - MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, - MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, - MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, - MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, - CmdType: insertCMDType, - HistogramItems: actual.Postgresql.HistogramItems, - MPlansCallsSum: actual.Postgresql.MPlansCallsSum, - MPlansCallsCnt: actual.Postgresql.MPlansCallsCnt, - MPlanTimeCnt: actual.Postgresql.MPlanTimeCnt, - MPlanTimeSum: actual.Postgresql.MPlanTimeSum, - MPlanTimeMin: actual.Postgresql.MPlanTimeMin, - MPlanTimeMax: actual.Postgresql.MPlanTimeMax, - MWalBytesCnt: actual.Postgresql.MWalBytesCnt, - MWalBytesSum: actual.Postgresql.MWalBytesSum, - MWalRecordsSum: actual.Postgresql.MWalRecordsSum, - MWalRecordsCnt: actual.Postgresql.MWalRecordsCnt, + MSharedBlkReadTimeCnt: float32(n), + MSharedBlkReadTimeSum: actual.Postgresql.MSharedBlkReadTimeSum, + MLocalBlkReadTimeCnt: actual.Postgresql.MLocalBlkReadTimeCnt, + MLocalBlkReadTimeSum: actual.Postgresql.MLocalBlkReadTimeSum, + MSharedBlksReadCnt: actual.Postgresql.MSharedBlksReadCnt, + MSharedBlksReadSum: actual.Postgresql.MSharedBlksReadSum, + MSharedBlksWrittenCnt: actual.Postgresql.MSharedBlksWrittenCnt, + MSharedBlksWrittenSum: actual.Postgresql.MSharedBlksWrittenSum, + MSharedBlksDirtiedCnt: actual.Postgresql.MSharedBlksDirtiedCnt, + MSharedBlksDirtiedSum: actual.Postgresql.MSharedBlksDirtiedSum, + MSharedBlksHitCnt: actual.Postgresql.MSharedBlksHitCnt, + MSharedBlksHitSum: actual.Postgresql.MSharedBlksHitSum, + MRowsCnt: float32(n), + MRowsSum: float32(n), + MCpuUserTimeCnt: actual.Postgresql.MCpuUserTimeCnt, + MCpuUserTimeSum: actual.Postgresql.MCpuUserTimeSum, + MCpuSysTimeCnt: actual.Postgresql.MCpuSysTimeCnt, + MCpuSysTimeSum: actual.Postgresql.MCpuSysTimeSum, + CmdType: insertCMDType, + HistogramItems: actual.Postgresql.HistogramItems, + MPlansCallsSum: actual.Postgresql.MPlansCallsSum, + MPlansCallsCnt: actual.Postgresql.MPlansCallsCnt, + MPlanTimeCnt: actual.Postgresql.MPlanTimeCnt, + MPlanTimeSum: actual.Postgresql.MPlanTimeSum, + MPlanTimeMin: actual.Postgresql.MPlanTimeMin, + MPlanTimeMax: actual.Postgresql.MPlanTimeMax, + MWalBytesCnt: actual.Postgresql.MWalBytesCnt, + MWalBytesSum: actual.Postgresql.MWalBytesSum, + MWalRecordsSum: actual.Postgresql.MWalRecordsSum, + MWalRecordsCnt: actual.Postgresql.MWalRecordsCnt, + MWalBuffersFullCnt: actual.Postgresql.MWalBuffersFullCnt, + MWalBuffersFullSum: actual.Postgresql.MWalBuffersFullSum, + MParallelWorkersToLaunchCnt: actual.Postgresql.MParallelWorkersToLaunchCnt, + MParallelWorkersToLaunchSum: actual.Postgresql.MParallelWorkersToLaunchSum, + MParallelWorkersLaunchedCnt: actual.Postgresql.MParallelWorkersLaunchedCnt, + MParallelWorkersLaunchedSum: actual.Postgresql.MParallelWorkersLaunchedSum, }, } tests.AssertBucketsEqual(t, expected, actual) diff --git a/api/agent/v1/collector.pb.go b/api/agent/v1/collector.pb.go index 6339580a49c..b6fc08baf8c 100644 --- a/api/agent/v1/collector.pb.go +++ b/api/agent/v1/collector.pb.go @@ -2024,11 +2024,20 @@ type MetricsBucket_PostgreSQL struct { // Total bytes of WAL (Write-ahead logging) records. MWalBytesSum float32 `protobuf:"fixed32,37,opt,name=m_wal_bytes_sum,json=mWalBytesSum,proto3" json:"m_wal_bytes_sum,omitempty"` MWalBytesCnt float32 `protobuf:"fixed32,38,opt,name=m_wal_bytes_cnt,json=mWalBytesCnt,proto3" json:"m_wal_bytes_cnt,omitempty"` + // Total number of times WAL buffers become full. + MWalBuffersFullSum float32 `protobuf:"fixed32,54,opt,name=m_wal_buffers_full_sum,json=mWalBuffersFullSum,proto3" json:"m_wal_buffers_full_sum,omitempty"` + MWalBuffersFullCnt float32 `protobuf:"fixed32,55,opt,name=m_wal_buffers_full_cnt,json=mWalBuffersFullCnt,proto3" json:"m_wal_buffers_full_cnt,omitempty"` // Sum, count, min, max of plan time. MPlanTimeSum float32 `protobuf:"fixed32,39,opt,name=m_plan_time_sum,json=mPlanTimeSum,proto3" json:"m_plan_time_sum,omitempty"` MPlanTimeCnt float32 `protobuf:"fixed32,40,opt,name=m_plan_time_cnt,json=mPlanTimeCnt,proto3" json:"m_plan_time_cnt,omitempty"` MPlanTimeMin float32 `protobuf:"fixed32,41,opt,name=m_plan_time_min,json=mPlanTimeMin,proto3" json:"m_plan_time_min,omitempty"` MPlanTimeMax float32 `protobuf:"fixed32,42,opt,name=m_plan_time_max,json=mPlanTimeMax,proto3" json:"m_plan_time_max,omitempty"` + // Total number of parallel workers to launch. + MParallelWorkersToLaunchSum float32 `protobuf:"fixed32,56,opt,name=m_parallel_workers_to_launch_sum,json=mParallelWorkersToLaunchSum,proto3" json:"m_parallel_workers_to_launch_sum,omitempty"` + MParallelWorkersToLaunchCnt float32 `protobuf:"fixed32,57,opt,name=m_parallel_workers_to_launch_cnt,json=mParallelWorkersToLaunchCnt,proto3" json:"m_parallel_workers_to_launch_cnt,omitempty"` + // Total number of parallel workers launched. + MParallelWorkersLaunchedSum float32 `protobuf:"fixed32,58,opt,name=m_parallel_workers_launched_sum,json=mParallelWorkersLaunchedSum,proto3" json:"m_parallel_workers_launched_sum,omitempty"` + MParallelWorkersLaunchedCnt float32 `protobuf:"fixed32,59,opt,name=m_parallel_workers_launched_cnt,json=mParallelWorkersLaunchedCnt,proto3" json:"m_parallel_workers_launched_cnt,omitempty"` // Metrics skipped due to different bucket_time in pg_stat_monitor (1min in PMM, 5min in pg_stat_monitor): // min_time, max_time, mean_time // plan_mean_time @@ -2376,6 +2385,20 @@ func (x *MetricsBucket_PostgreSQL) GetMWalBytesCnt() float32 { return 0 } +func (x *MetricsBucket_PostgreSQL) GetMWalBuffersFullSum() float32 { + if x != nil { + return x.MWalBuffersFullSum + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMWalBuffersFullCnt() float32 { + if x != nil { + return x.MWalBuffersFullCnt + } + return 0 +} + func (x *MetricsBucket_PostgreSQL) GetMPlanTimeSum() float32 { if x != nil { return x.MPlanTimeSum @@ -2404,6 +2427,34 @@ func (x *MetricsBucket_PostgreSQL) GetMPlanTimeMax() float32 { return 0 } +func (x *MetricsBucket_PostgreSQL) GetMParallelWorkersToLaunchSum() float32 { + if x != nil { + return x.MParallelWorkersToLaunchSum + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMParallelWorkersToLaunchCnt() float32 { + if x != nil { + return x.MParallelWorkersToLaunchCnt + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMParallelWorkersLaunchedSum() float32 { + if x != nil { + return x.MParallelWorkersLaunchedSum + } + return 0 +} + +func (x *MetricsBucket_PostgreSQL) GetMParallelWorkersLaunchedCnt() float32 { + if x != nil { + return x.MParallelWorkersLaunchedCnt + } + return 0 +} + func (x *MetricsBucket_PostgreSQL) GetTopQueryid() string { if x != nil { return x.TopQueryid @@ -2450,7 +2501,7 @@ var File_agent_v1_collector_proto protoreflect.FileDescriptor const file_agent_v1_collector_proto_rawDesc = "" + "\n" + - "\x18agent/v1/collector.proto\x12\bagent.v1\x1a\x19inventory/v1/agents.proto\"\xa9e\n" + + "\x18agent/v1/collector.proto\x12\bagent.v1\x1a\x19inventory/v1/agents.proto\"\xabh\n" + "\rMetricsBucket\x126\n" + "\x06common\x18\x01 \x01(\v2\x1e.agent.v1.MetricsBucket.CommonR\x06common\x123\n" + "\x05mysql\x18\x02 \x01(\v2\x1d.agent.v1.MetricsBucket.MySQLR\x05mysql\x129\n" + @@ -2667,7 +2718,7 @@ const file_agent_v1_collector_proto_rawDesc = "" + "!m_storage_time_reading_micros_sum\x183 \x01(\x02R\x1cmStorageTimeReadingMicrosSum\x12G\n" + "!m_storage_time_reading_micros_min\x184 \x01(\x02R\x1cmStorageTimeReadingMicrosMin\x12G\n" + "!m_storage_time_reading_micros_max\x185 \x01(\x02R\x1cmStorageTimeReadingMicrosMax\x12G\n" + - "!m_storage_time_reading_micros_p99\x186 \x01(\x02R\x1cmStorageTimeReadingMicrosP99\x1a\xd1\x13\n" + + "!m_storage_time_reading_micros_p99\x186 \x01(\x02R\x1cmStorageTimeReadingMicrosP99\x1a\xd3\x16\n" + "\n" + "PostgreSQL\x12\x1c\n" + "\n" + @@ -2717,11 +2768,17 @@ const file_agent_v1_collector_proto_rawDesc = "" + "\rm_wal_fpi_cnt\x18$ \x01(\x02R\n" + "mWalFpiCnt\x12%\n" + "\x0fm_wal_bytes_sum\x18% \x01(\x02R\fmWalBytesSum\x12%\n" + - "\x0fm_wal_bytes_cnt\x18& \x01(\x02R\fmWalBytesCnt\x12%\n" + + "\x0fm_wal_bytes_cnt\x18& \x01(\x02R\fmWalBytesCnt\x122\n" + + "\x16m_wal_buffers_full_sum\x186 \x01(\x02R\x12mWalBuffersFullSum\x122\n" + + "\x16m_wal_buffers_full_cnt\x187 \x01(\x02R\x12mWalBuffersFullCnt\x12%\n" + "\x0fm_plan_time_sum\x18' \x01(\x02R\fmPlanTimeSum\x12%\n" + "\x0fm_plan_time_cnt\x18( \x01(\x02R\fmPlanTimeCnt\x12%\n" + "\x0fm_plan_time_min\x18) \x01(\x02R\fmPlanTimeMin\x12%\n" + - "\x0fm_plan_time_max\x18* \x01(\x02R\fmPlanTimeMax\x12\x1f\n" + + "\x0fm_plan_time_max\x18* \x01(\x02R\fmPlanTimeMax\x12E\n" + + " m_parallel_workers_to_launch_sum\x188 \x01(\x02R\x1bmParallelWorkersToLaunchSum\x12E\n" + + " m_parallel_workers_to_launch_cnt\x189 \x01(\x02R\x1bmParallelWorkersToLaunchCnt\x12D\n" + + "\x1fm_parallel_workers_launched_sum\x18: \x01(\x02R\x1bmParallelWorkersLaunchedSum\x12D\n" + + "\x1fm_parallel_workers_launched_cnt\x18; \x01(\x02R\x1bmParallelWorkersLaunchedCnt\x12\x1f\n" + "\vtop_queryid\x18, \x01(\tR\n" + "topQueryid\x12\x1b\n" + "\ttop_query\x18/ \x01(\tR\btopQuery\x12)\n" + diff --git a/api/agent/v1/collector.pb.validate.go b/api/agent/v1/collector.pb.validate.go index 3b1582a35af..717ac8d0327 100644 --- a/api/agent/v1/collector.pb.validate.go +++ b/api/agent/v1/collector.pb.validate.go @@ -1161,6 +1161,10 @@ func (m *MetricsBucket_PostgreSQL) validate(all bool) error { // no validation rules for MWalBytesCnt + // no validation rules for MWalBuffersFullSum + + // no validation rules for MWalBuffersFullCnt + // no validation rules for MPlanTimeSum // no validation rules for MPlanTimeCnt @@ -1169,6 +1173,14 @@ func (m *MetricsBucket_PostgreSQL) validate(all bool) error { // no validation rules for MPlanTimeMax + // no validation rules for MParallelWorkersToLaunchSum + + // no validation rules for MParallelWorkersToLaunchCnt + + // no validation rules for MParallelWorkersLaunchedSum + + // no validation rules for MParallelWorkersLaunchedCnt + // no validation rules for TopQueryid // no validation rules for TopQuery diff --git a/api/agent/v1/collector.proto b/api/agent/v1/collector.proto index c5ec5b88e68..cff41181d51 100644 --- a/api/agent/v1/collector.proto +++ b/api/agent/v1/collector.proto @@ -384,11 +384,23 @@ message MetricsBucket { // Total bytes of WAL (Write-ahead logging) records. float m_wal_bytes_sum = 37; float m_wal_bytes_cnt = 38; + // Total number of times WAL buffers become full. + float m_wal_buffers_full_sum = 54; + float m_wal_buffers_full_cnt = 55; + // Sum, count, min, max of plan time. float m_plan_time_sum = 39; float m_plan_time_cnt = 40; float m_plan_time_min = 41; float m_plan_time_max = 42; + + // Total number of parallel workers to launch. + float m_parallel_workers_to_launch_sum = 56; + float m_parallel_workers_to_launch_cnt = 57; + // Total number of parallel workers launched. + float m_parallel_workers_launched_sum = 58; + float m_parallel_workers_launched_cnt = 59; + // Metrics skipped due to different bucket_time in pg_stat_monitor (1min in PMM, 5min in pg_stat_monitor): // min_time, max_time, mean_time // plan_mean_time diff --git a/api/qan/v1/collector.pb.go b/api/qan/v1/collector.pb.go index ba1e11f4967..e8c87cc64f0 100644 --- a/api/qan/v1/collector.pb.go +++ b/api/qan/v1/collector.pb.go @@ -440,6 +440,15 @@ type MetricsBucket struct { // Total bytes of WAL (Write-ahead logging) records. MWalBytesSum float32 `protobuf:"fixed32,256,opt,name=m_wal_bytes_sum,json=mWalBytesSum,proto3" json:"m_wal_bytes_sum,omitempty"` MWalBytesCnt float32 `protobuf:"fixed32,257,opt,name=m_wal_bytes_cnt,json=mWalBytesCnt,proto3" json:"m_wal_bytes_cnt,omitempty"` + // Total number of times WAL buffers become full. + MWalBuffersFullSum float32 `protobuf:"fixed32,304,opt,name=m_wal_buffers_full_sum,json=mWalBuffersFullSum,proto3" json:"m_wal_buffers_full_sum,omitempty"` + MWalBuffersFullCnt float32 `protobuf:"fixed32,305,opt,name=m_wal_buffers_full_cnt,json=mWalBuffersFullCnt,proto3" json:"m_wal_buffers_full_cnt,omitempty"` + // Total number of parallel workers to launch. + MParallelWorkersToLaunchSum float32 `protobuf:"fixed32,306,opt,name=m_parallel_workers_to_launch_sum,json=mParallelWorkersToLaunchSum,proto3" json:"m_parallel_workers_to_launch_sum,omitempty"` + MParallelWorkersToLaunchCnt float32 `protobuf:"fixed32,307,opt,name=m_parallel_workers_to_launch_cnt,json=mParallelWorkersToLaunchCnt,proto3" json:"m_parallel_workers_to_launch_cnt,omitempty"` + // Total number of parallel workers launched. + MParallelWorkersLaunchedSum float32 `protobuf:"fixed32,308,opt,name=m_parallel_workers_launched_sum,json=mParallelWorkersLaunchedSum,proto3" json:"m_parallel_workers_launched_sum,omitempty"` + MParallelWorkersLaunchedCnt float32 `protobuf:"fixed32,309,opt,name=m_parallel_workers_launched_cnt,json=mParallelWorkersLaunchedCnt,proto3" json:"m_parallel_workers_launched_cnt,omitempty"` // Sum, count, min, max of plan time. MPlanTimeSum float32 `protobuf:"fixed32,258,opt,name=m_plan_time_sum,json=mPlanTimeSum,proto3" json:"m_plan_time_sum,omitempty"` MPlanTimeCnt float32 `protobuf:"fixed32,259,opt,name=m_plan_time_cnt,json=mPlanTimeCnt,proto3" json:"m_plan_time_cnt,omitempty"` @@ -2269,6 +2278,48 @@ func (x *MetricsBucket) GetMWalBytesCnt() float32 { return 0 } +func (x *MetricsBucket) GetMWalBuffersFullSum() float32 { + if x != nil { + return x.MWalBuffersFullSum + } + return 0 +} + +func (x *MetricsBucket) GetMWalBuffersFullCnt() float32 { + if x != nil { + return x.MWalBuffersFullCnt + } + return 0 +} + +func (x *MetricsBucket) GetMParallelWorkersToLaunchSum() float32 { + if x != nil { + return x.MParallelWorkersToLaunchSum + } + return 0 +} + +func (x *MetricsBucket) GetMParallelWorkersToLaunchCnt() float32 { + if x != nil { + return x.MParallelWorkersToLaunchCnt + } + return 0 +} + +func (x *MetricsBucket) GetMParallelWorkersLaunchedSum() float32 { + if x != nil { + return x.MParallelWorkersLaunchedSum + } + return 0 +} + +func (x *MetricsBucket) GetMParallelWorkersLaunchedCnt() float32 { + if x != nil { + return x.MParallelWorkersLaunchedCnt + } + return 0 +} + func (x *MetricsBucket) GetMPlanTimeSum() float32 { if x != nil { return x.MPlanTimeSum @@ -2381,7 +2432,7 @@ const file_qan_v1_collector_proto_rawDesc = "" + "\n" + "\x16qan/v1/collector.proto\x12\x06qan.v1\x1a\x1bgoogle/api/visibility.proto\x1a\x19inventory/v1/agents.proto\x1a\x10qan/v1/qan.proto\"N\n" + "\x0eCollectRequest\x12<\n" + - "\x0emetrics_bucket\x18\x01 \x03(\v2\x15.qan.v1.MetricsBucketR\rmetricsBucket\"\xd6h\n" + + "\x0emetrics_bucket\x18\x01 \x03(\v2\x15.qan.v1.MetricsBucketR\rmetricsBucket\"\xdek\n" + "\rMetricsBucket\x12\x18\n" + "\aqueryid\x18\x01 \x01(\tR\aqueryid\x12/\n" + "\x13explain_fingerprint\x18\x02 \x01(\tR\x12explainFingerprint\x12-\n" + @@ -2645,7 +2696,13 @@ const file_qan_v1_collector_proto_rawDesc = "" + "\rm_wal_fpi_cnt\x18\xff\x01 \x01(\x02R\n" + "mWalFpiCnt\x12&\n" + "\x0fm_wal_bytes_sum\x18\x80\x02 \x01(\x02R\fmWalBytesSum\x12&\n" + - "\x0fm_wal_bytes_cnt\x18\x81\x02 \x01(\x02R\fmWalBytesCnt\x12&\n" + + "\x0fm_wal_bytes_cnt\x18\x81\x02 \x01(\x02R\fmWalBytesCnt\x123\n" + + "\x16m_wal_buffers_full_sum\x18\xb0\x02 \x01(\x02R\x12mWalBuffersFullSum\x123\n" + + "\x16m_wal_buffers_full_cnt\x18\xb1\x02 \x01(\x02R\x12mWalBuffersFullCnt\x12F\n" + + " m_parallel_workers_to_launch_sum\x18\xb2\x02 \x01(\x02R\x1bmParallelWorkersToLaunchSum\x12F\n" + + " m_parallel_workers_to_launch_cnt\x18\xb3\x02 \x01(\x02R\x1bmParallelWorkersToLaunchCnt\x12E\n" + + "\x1fm_parallel_workers_launched_sum\x18\xb4\x02 \x01(\x02R\x1bmParallelWorkersLaunchedSum\x12E\n" + + "\x1fm_parallel_workers_launched_cnt\x18\xb5\x02 \x01(\x02R\x1bmParallelWorkersLaunchedCnt\x12&\n" + "\x0fm_plan_time_sum\x18\x82\x02 \x01(\x02R\fmPlanTimeSum\x12&\n" + "\x0fm_plan_time_cnt\x18\x83\x02 \x01(\x02R\fmPlanTimeCnt\x12&\n" + "\x0fm_plan_time_min\x18\x84\x02 \x01(\x02R\fmPlanTimeMin\x12&\n" + diff --git a/api/qan/v1/collector.pb.validate.go b/api/qan/v1/collector.pb.validate.go index eeae914a4a8..a88b4517dd9 100644 --- a/api/qan/v1/collector.pb.validate.go +++ b/api/qan/v1/collector.pb.validate.go @@ -701,6 +701,18 @@ func (m *MetricsBucket) validate(all bool) error { // no validation rules for MWalBytesCnt + // no validation rules for MWalBuffersFullSum + + // no validation rules for MWalBuffersFullCnt + + // no validation rules for MParallelWorkersToLaunchSum + + // no validation rules for MParallelWorkersToLaunchCnt + + // no validation rules for MParallelWorkersLaunchedSum + + // no validation rules for MParallelWorkersLaunchedCnt + // no validation rules for MPlanTimeSum // no validation rules for MPlanTimeCnt diff --git a/api/qan/v1/collector.proto b/api/qan/v1/collector.proto index 8ade3659ceb..96247af4eea 100644 --- a/api/qan/v1/collector.proto +++ b/api/qan/v1/collector.proto @@ -429,6 +429,18 @@ message MetricsBucket { // Total bytes of WAL (Write-ahead logging) records. float m_wal_bytes_sum = 256; float m_wal_bytes_cnt = 257; + + // Total number of times WAL buffers become full. + float m_wal_buffers_full_sum = 304; + float m_wal_buffers_full_cnt = 305; + + // Total number of parallel workers to launch. + float m_parallel_workers_to_launch_sum = 306; + float m_parallel_workers_to_launch_cnt = 307; + // Total number of parallel workers launched. + float m_parallel_workers_launched_sum = 308; + float m_parallel_workers_launched_cnt = 309; + // Sum, count, min, max of plan time. float m_plan_time_sum = 258; float m_plan_time_cnt = 259; diff --git a/managed/services/qan/client.go b/managed/services/qan/client.go index 5c268f4c1f1..89436943f4c 100644 --- a/managed/services/qan/client.go +++ b/managed/services/qan/client.go @@ -612,6 +612,15 @@ func fillPostgreSQL(mb *qanv1.MetricsBucket, bp *agentv1.MetricsBucket_PostgreSQ mb.MWalBytesCnt = bp.MWalBytesCnt mb.MWalBytesSum = bp.MWalBytesSum + mb.MWalBuffersFullCnt = bp.MWalBuffersFullCnt + mb.MWalBuffersFullSum = bp.MWalBuffersFullSum + + mb.MParallelWorkersToLaunchCnt = bp.MParallelWorkersToLaunchCnt + mb.MParallelWorkersToLaunchSum = bp.MParallelWorkersToLaunchSum + + mb.MParallelWorkersLaunchedCnt = bp.MParallelWorkersLaunchedCnt + mb.MParallelWorkersLaunchedSum = bp.MParallelWorkersLaunchedSum + mb.MPlanTimeSum = bp.MPlanTimeSum mb.MPlanTimeMin = bp.MPlanTimeMin mb.MPlanTimeMax = bp.MPlanTimeMax From 271c25f85feec0943231deabe9888ce69019e239 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 6 Nov 2025 18:31:56 +0200 Subject: [PATCH 02/15] PG-14517 Fix missed error bug --- agent/agents/postgres/pgstatstatements/pgstatstatements.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agent/agents/postgres/pgstatstatements/pgstatstatements.go b/agent/agents/postgres/pgstatstatements/pgstatstatements.go index 0c76065be78..8f58dff19aa 100644 --- a/agent/agents/postgres/pgstatstatements/pgstatstatements.go +++ b/agent/agents/postgres/pgstatstatements/pgstatstatements.go @@ -154,11 +154,12 @@ func (m *PGStatStatementsQAN) Run(ctx context.Context) { }() // add current stat statements to cache, so they are not send as new on first iteration with incorrect timestamps + var current statementsMap var running bool var err error m.changes <- agents.Change{Status: inventoryv1.AgentStatus_AGENT_STATUS_STARTING} - if current, _, err := m.getStatStatementsExtended(ctx); err == nil { + if current, _, err = m.getStatStatementsExtended(ctx); err == nil { if err = m.statementsCache.Set(current); err == nil { m.l.Debugf("Got %d initial stat statements.", len(current)) running = true From 69e3f7d7e8d335018ec6ddb35a1c8ddee630194e Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 6 Nov 2025 19:03:52 +0200 Subject: [PATCH 03/15] PMM-14517 Fix --- agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go index 204f5d9c3f0..df1a0608cda 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go @@ -301,7 +301,7 @@ func (v *pgStatMonitorAllViewType) NewStruct() reform.Struct { //nolint:ireturn // String returns a string representation of this struct or record. func (s pgStatMonitor) String() string { - res := make([]string, 51) + res := make([]string, 54) res[0] = "Bucket: " + reform.Inspect(s.Bucket, true) res[1] = "BucketStartTime: " + reform.Inspect(s.BucketStartTime, true) res[2] = "UserID: " + reform.Inspect(s.UserID, true) From 78f18e838fb3151191dffe09e053627693fe486e Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Mon, 10 Nov 2025 19:50:47 +0200 Subject: [PATCH 04/15] Fix linter warnings --- agent/agents/postgres/pgstatmonitor/pgstatmonitor.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go index 6c794b59120..9403fcabd5e 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go @@ -179,6 +179,7 @@ func getPGVersion(q *reform.Querier) (pgVersion, error) { return pgVersion(parsed), err } +//nolint:mnd func getPGMonitorVersion(q *reform.Querier) (pgStatMonitorVersion, pgStatMonitorPrerelease, error) { var result string err := q.QueryRow(fmt.Sprintf("SELECT /* %s */ pg_stat_monitor_version()", queryTag)).Scan(&result) @@ -661,8 +662,10 @@ func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]* {float32(currentPSM.WalBytes - prevPSM.WalBytes), &mb.Postgresql.MWalBytesSum, &mb.Postgresql.MWalBytesCnt}, {float32(currentPSM.WalBuffersFull - prevPSM.WalBuffersFull), &mb.Postgresql.MWalBuffersFullSum, &mb.Postgresql.MWalBuffersFullCnt}, - {float32(currentPSM.ParallelWorkersToLaunch - prevPSM.ParallelWorkersToLaunch), &mb.Postgresql.MParallelWorkersToLaunchSum, &mb.Postgresql.MParallelWorkersToLaunchCnt}, - {float32(currentPSM.ParallelWorkersLaunched - prevPSM.ParallelWorkersLaunched), &mb.Postgresql.MParallelWorkersLaunchedSum, &mb.Postgresql.MParallelWorkersLaunchedCnt}, + {float32(currentPSM.ParallelWorkersToLaunch - prevPSM.ParallelWorkersToLaunch), + &mb.Postgresql.MParallelWorkersToLaunchSum, &mb.Postgresql.MParallelWorkersToLaunchCnt}, + {float32(currentPSM.ParallelWorkersLaunched - prevPSM.ParallelWorkersLaunched), + &mb.Postgresql.MParallelWorkersLaunchedSum, &mb.Postgresql.MParallelWorkersLaunchedCnt}, // convert milliseconds to seconds {float32(currentPSM.TotalExecTime-prevPSM.TotalExecTime) / 1000, &mb.Common.MQueryTimeSum, &mb.Common.MQueryTimeCnt}, From f0f5226f66e4b295f8f6071062c2b9d107a54eca Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Mon, 10 Nov 2025 20:00:06 +0200 Subject: [PATCH 05/15] Format sources --- agent/agents/postgres/pgstatmonitor/pgstatmonitor.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go index 9403fcabd5e..243380df021 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go @@ -662,10 +662,14 @@ func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]* {float32(currentPSM.WalBytes - prevPSM.WalBytes), &mb.Postgresql.MWalBytesSum, &mb.Postgresql.MWalBytesCnt}, {float32(currentPSM.WalBuffersFull - prevPSM.WalBuffersFull), &mb.Postgresql.MWalBuffersFullSum, &mb.Postgresql.MWalBuffersFullCnt}, - {float32(currentPSM.ParallelWorkersToLaunch - prevPSM.ParallelWorkersToLaunch), - &mb.Postgresql.MParallelWorkersToLaunchSum, &mb.Postgresql.MParallelWorkersToLaunchCnt}, - {float32(currentPSM.ParallelWorkersLaunched - prevPSM.ParallelWorkersLaunched), - &mb.Postgresql.MParallelWorkersLaunchedSum, &mb.Postgresql.MParallelWorkersLaunchedCnt}, + { + float32(currentPSM.ParallelWorkersToLaunch - prevPSM.ParallelWorkersToLaunch), + &mb.Postgresql.MParallelWorkersToLaunchSum, &mb.Postgresql.MParallelWorkersToLaunchCnt, + }, + { + float32(currentPSM.ParallelWorkersLaunched - prevPSM.ParallelWorkersLaunched), + &mb.Postgresql.MParallelWorkersLaunchedSum, &mb.Postgresql.MParallelWorkersLaunchedCnt, + }, // convert milliseconds to seconds {float32(currentPSM.TotalExecTime-prevPSM.TotalExecTime) / 1000, &mb.Common.MQueryTimeSum, &mb.Common.MQueryTimeCnt}, From 19425e9c9c61446d76a00efba570d3862d6082a1 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Mon, 10 Nov 2025 20:02:36 +0200 Subject: [PATCH 06/15] Fix linter warning --- agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go index df1a0608cda..99de4c76a2f 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor_models.go @@ -301,7 +301,7 @@ func (v *pgStatMonitorAllViewType) NewStruct() reform.Struct { //nolint:ireturn // String returns a string representation of this struct or record. func (s pgStatMonitor) String() string { - res := make([]string, 54) + res := make([]string, 54) //nolint:mnd res[0] = "Bucket: " + reform.Inspect(s.Bucket, true) res[1] = "BucketStartTime: " + reform.Inspect(s.BucketStartTime, true) res[2] = "UserID: " + reform.Inspect(s.UserID, true) From 894696a7ac1656cbbe7ca0a6e3bd7e03f2955d0e Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Wed, 12 Nov 2025 20:52:23 +0200 Subject: [PATCH 07/15] PMM-14517 Add missing implementation --- .../qan_service/get_metrics_responses.go | 9 +++++ .../qan_service/get_report_responses.go | 9 +++++ api/qan/v1/json/v1.json | 40 ++++++++++++++++++- api/qan/v1/qan.pb.go | 34 +++++++++++++++- api/qan/v1/qan.pb.validate.go | 6 +++ api/qan/v1/qan.proto | 6 +++ api/swagger/swagger-dev.json | 40 ++++++++++++++++++- api/swagger/swagger.json | 40 ++++++++++++++++++- .../sql/22_pg_stat_monitor_23.down.sql | 7 ++++ .../sql/22_pg_stat_monitor_23.up.sql | 7 ++++ qan-api2/models/base.go | 12 ++++++ qan-api2/models/data_ingestion.go | 12 ++++++ qan-api2/models/metrics.go | 10 +++++ qan-api2/services/analytics/base.go | 3 ++ qan-api2/services/analytics/metrics_names.go | 3 ++ 15 files changed, 230 insertions(+), 8 deletions(-) create mode 100644 qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql create mode 100644 qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql diff --git a/api/qan/v1/json/client/qan_service/get_metrics_responses.go b/api/qan/v1/json/client/qan_service/get_metrics_responses.go index 65a3376dfff..0577b0b8431 100644 --- a/api/qan/v1/json/client/qan_service/get_metrics_responses.go +++ b/api/qan/v1/json/client/qan_service/get_metrics_responses.go @@ -1219,6 +1219,15 @@ type GetMetricsOKBodySparklineItems0 struct { // Total bytes of WAL (Write-ahead logging) records. MWalBytesSumPerSec float32 `json:"m_wal_bytes_sum_per_sec,omitempty"` + // Total number of times WAL buffers become full. + MWalBuffersFullSumPerSec float32 `json:"m_wal_buffers_full_sum_per_sec,omitempty"` + + // Total number of parallel workers to launch. + MParallelWorkersToLaunchSumPerSec float32 `json:"m_parallel_workers_to_launch_sum_per_sec,omitempty"` + + // Total number of parallel workers launched. + MParallelWorkersLaunchedSumPerSec float32 `json:"m_parallel_workers_launched_sum_per_sec,omitempty"` + // Plan time in per seconds. MPlanTimeSumPerSec float32 `json:"m_plan_time_sum_per_sec,omitempty"` } diff --git a/api/qan/v1/json/client/qan_service/get_report_responses.go b/api/qan/v1/json/client/qan_service/get_report_responses.go index f39af5c3994..f6661b19771 100644 --- a/api/qan/v1/json/client/qan_service/get_report_responses.go +++ b/api/qan/v1/json/client/qan_service/get_report_responses.go @@ -1284,6 +1284,15 @@ type GetReportOKBodyRowsItems0SparklineItems0 struct { // Total bytes of WAL (Write-ahead logging) records. MWalBytesSumPerSec float32 `json:"m_wal_bytes_sum_per_sec,omitempty"` + // Total number of times WAL buffers become full. + MWalBuffersFullSumPerSec float32 `json:"m_wal_buffers_full_sum_per_sec,omitempty"` + + // Total number of parallel workers to launch. + MParallelWorkersToLaunchSumPerSec float32 `json:"m_parallel_workers_to_launch_sum_per_sec,omitempty"` + + // Total number of parallel workers launched. + MParallelWorkersLaunchedSumPerSec float32 `json:"m_parallel_workers_launched_sum_per_sec,omitempty"` + // Plan time in per seconds. MPlanTimeSumPerSec float32 `json:"m_plan_time_sum_per_sec,omitempty"` } diff --git a/api/qan/v1/json/v1.json b/api/qan/v1/json/v1.json index d436f318df4..1a20c642d60 100644 --- a/api/qan/v1/json/v1.json +++ b/api/qan/v1/json/v1.json @@ -860,11 +860,29 @@ "format": "float", "x-order": 74 }, + "m_wal_buffers_full_sum_per_sec": { + "description": "Total number of times WAL buffers become full.", + "type": "number", + "format": "float", + "x-order": 75 + }, + "m_parallel_workers_to_launch_sum_per_sec": { + "description": "Total number of parallel workers to launch.", + "type": "number", + "format": "float", + "x-order": 76 + }, + "m_parallel_workers_launched_sum_per_sec": { + "description": "Total number of parallel workers launched.", + "type": "number", + "format": "float", + "x-order": 77 + }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 75 + "x-order": 78 } } }, @@ -2234,11 +2252,29 @@ "format": "float", "x-order": 74 }, + "m_wal_buffers_full_sum_per_sec": { + "description": "Total number of times WAL buffers become full.", + "type": "number", + "format": "float", + "x-order": 75 + }, + "m_parallel_workers_to_launch_sum_per_sec": { + "description": "Total number of parallel workers to launch.", + "type": "number", + "format": "float", + "x-order": 76 + }, + "m_parallel_workers_launched_sum_per_sec": { + "description": "Total number of parallel workers launched.", + "type": "number", + "format": "float", + "x-order": 77 + }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 75 + "x-order": 78 } } }, diff --git a/api/qan/v1/qan.pb.go b/api/qan/v1/qan.pb.go index 97e660870d3..50a547b91b9 100644 --- a/api/qan/v1/qan.pb.go +++ b/api/qan/v1/qan.pb.go @@ -232,6 +232,12 @@ type Point struct { MWalFpiSumPerSec float32 `protobuf:"fixed32,82,opt,name=m_wal_fpi_sum_per_sec,json=mWalFpiSumPerSec,proto3" json:"m_wal_fpi_sum_per_sec,omitempty"` // Total bytes of WAL (Write-ahead logging) records. MWalBytesSumPerSec float32 `protobuf:"fixed32,83,opt,name=m_wal_bytes_sum_per_sec,json=mWalBytesSumPerSec,proto3" json:"m_wal_bytes_sum_per_sec,omitempty"` + // Total number of times WAL buffers become full. + MWalBuffersFullSumPerSec float32 `protobuf:"fixed32,95,opt,name=m_wal_buffers_full_sum_per_sec,json=mWalBuffersFullSumPerSec,proto3" json:"m_wal_buffers_full_sum_per_sec,omitempty"` + // Total number of parallel workers to launch. + MParallelWorkersToLaunchSumPerSec float32 `protobuf:"fixed32,96,opt,name=m_parallel_workers_to_launch_sum_per_sec,json=mParallelWorkersToLaunchSumPerSec,proto3" json:"m_parallel_workers_to_launch_sum_per_sec,omitempty"` + // Total number of parallel workers launched. + MParallelWorkersLaunchedSumPerSec float32 `protobuf:"fixed32,97,opt,name=m_parallel_workers_launched_sum_per_sec,json=mParallelWorkersLaunchedSumPerSec,proto3" json:"m_parallel_workers_launched_sum_per_sec,omitempty"` // Plan time in per seconds. MPlanTimeSumPerSec float32 `protobuf:"fixed32,84,opt,name=m_plan_time_sum_per_sec,json=mPlanTimeSumPerSec,proto3" json:"m_plan_time_sum_per_sec,omitempty"` unknownFields protoimpl.UnknownFields @@ -793,6 +799,27 @@ func (x *Point) GetMWalBytesSumPerSec() float32 { return 0 } +func (x *Point) GetMWalBuffersFullSumPerSec() float32 { + if x != nil { + return x.MWalBuffersFullSumPerSec + } + return 0 +} + +func (x *Point) GetMParallelWorkersToLaunchSumPerSec() float32 { + if x != nil { + return x.MParallelWorkersToLaunchSumPerSec + } + return 0 +} + +func (x *Point) GetMParallelWorkersLaunchedSumPerSec() float32 { + if x != nil { + return x.MParallelWorkersLaunchedSumPerSec + } + return 0 +} + func (x *Point) GetMPlanTimeSumPerSec() float32 { if x != nil { return x.MPlanTimeSumPerSec @@ -857,7 +884,7 @@ var File_qan_v1_qan_proto protoreflect.FileDescriptor const file_qan_v1_qan_proto_rawDesc = "" + "\n" + - "\x10qan/v1/qan.proto\x12\x06qan.v1\"\xb1&\n" + + "\x10qan/v1/qan.proto\x12\x06qan.v1\"\x9c(\n" + "\x05Point\x12\x14\n" + "\x05point\x18\x01 \x01(\rR\x05point\x12\x1d\n" + "\n" + @@ -935,7 +962,10 @@ const file_qan_v1_qan_proto_rawDesc = "" + "\x19m_plans_calls_sum_per_sec\x18P \x01(\x02R\x14mPlansCallsSumPerSec\x127\n" + "\x19m_wal_records_sum_per_sec\x18Q \x01(\x02R\x14mWalRecordsSumPerSec\x12/\n" + "\x15m_wal_fpi_sum_per_sec\x18R \x01(\x02R\x10mWalFpiSumPerSec\x123\n" + - "\x17m_wal_bytes_sum_per_sec\x18S \x01(\x02R\x12mWalBytesSumPerSec\x123\n" + + "\x17m_wal_bytes_sum_per_sec\x18S \x01(\x02R\x12mWalBytesSumPerSec\x12@\n" + + "\x1em_wal_buffers_full_sum_per_sec\x18_ \x01(\x02R\x18mWalBuffersFullSumPerSec\x12S\n" + + "(m_parallel_workers_to_launch_sum_per_sec\x18` \x01(\x02R!mParallelWorkersToLaunchSumPerSec\x12R\n" + + "'m_parallel_workers_launched_sum_per_sec\x18a \x01(\x02R!mParallelWorkersLaunchedSumPerSec\x123\n" + "\x17m_plan_time_sum_per_sec\x18T \x01(\x02R\x12mPlanTimeSumPerSec\"7\n" + "\rMapFieldEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + diff --git a/api/qan/v1/qan.pb.validate.go b/api/qan/v1/qan.pb.validate.go index e745a078eff..340a52bf0f7 100644 --- a/api/qan/v1/qan.pb.validate.go +++ b/api/qan/v1/qan.pb.validate.go @@ -206,6 +206,12 @@ func (m *Point) validate(all bool) error { // no validation rules for MWalBytesSumPerSec + // no validation rules for MWalBuffersFullSumPerSec + + // no validation rules for MParallelWorkersToLaunchSumPerSec + + // no validation rules for MParallelWorkersLaunchedSumPerSec + // no validation rules for MPlanTimeSumPerSec if len(errors) > 0 { diff --git a/api/qan/v1/qan.proto b/api/qan/v1/qan.proto index c70aa6661e6..be97820ee41 100644 --- a/api/qan/v1/qan.proto +++ b/api/qan/v1/qan.proto @@ -185,6 +185,12 @@ message Point { float m_wal_fpi_sum_per_sec = 82; // Total bytes of WAL (Write-ahead logging) records. float m_wal_bytes_sum_per_sec = 83; + // Total number of times WAL buffers become full. + float m_wal_buffers_full_sum_per_sec = 95; + // Total number of parallel workers to launch. + float m_parallel_workers_to_launch_sum_per_sec = 96; + // Total number of parallel workers launched. + float m_parallel_workers_launched_sum_per_sec = 97; // Plan time in per seconds. float m_plan_time_sum_per_sec = 84; } diff --git a/api/swagger/swagger-dev.json b/api/swagger/swagger-dev.json index 5151a8cec36..9f2d6e04769 100644 --- a/api/swagger/swagger-dev.json +++ b/api/swagger/swagger-dev.json @@ -27887,11 +27887,29 @@ "format": "float", "x-order": 74 }, + "m_wal_buffers_full_sum_per_sec": { + "description": "Total number of times WAL buffers become full.", + "type": "number", + "format": "float", + "x-order": 75 + }, + "m_parallel_workers_to_launch_sum_per_sec": { + "description": "Total number of parallel workers to launch.", + "type": "number", + "format": "float", + "x-order": 76 + }, + "m_parallel_workers_launched_sum_per_sec": { + "description": "Total number of parallel workers launched.", + "type": "number", + "format": "float", + "x-order": 77 + }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 75 + "x-order": 78 } } }, @@ -29261,11 +29279,29 @@ "format": "float", "x-order": 74 }, + "m_wal_buffers_full_sum_per_sec": { + "description": "Total number of times WAL buffers become full.", + "type": "number", + "format": "float", + "x-order": 75 + }, + "m_parallel_workers_to_launch_sum_per_sec": { + "description": "Total number of parallel workers to launch.", + "type": "number", + "format": "float", + "x-order": 76 + }, + "m_parallel_workers_launched_sum_per_sec": { + "description": "Total number of parallel workers launched.", + "type": "number", + "format": "float", + "x-order": 77 + }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 75 + "x-order": 78 } } }, diff --git a/api/swagger/swagger.json b/api/swagger/swagger.json index 5d4d24e5f33..ec61727b98e 100644 --- a/api/swagger/swagger.json +++ b/api/swagger/swagger.json @@ -26929,11 +26929,29 @@ "format": "float", "x-order": 74 }, + "m_wal_buffers_full_sum_per_sec": { + "description": "Total number of times WAL buffers become full.", + "type": "number", + "format": "float", + "x-order": 75 + }, + "m_parallel_workers_to_launch_sum_per_sec": { + "description": "Total number of parallel workers to launch.", + "type": "number", + "format": "float", + "x-order": 76 + }, + "m_parallel_workers_launched_sum_per_sec": { + "description": "Total number of parallel workers launched.", + "type": "number", + "format": "float", + "x-order": 77 + }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 75 + "x-order": 78 } } }, @@ -28303,11 +28321,29 @@ "format": "float", "x-order": 74 }, + "m_wal_buffers_full_sum_per_sec": { + "description": "Total number of times WAL buffers become full.", + "type": "number", + "format": "float", + "x-order": 75 + }, + "m_parallel_workers_to_launch_sum_per_sec": { + "description": "Total number of parallel workers to launch.", + "type": "number", + "format": "float", + "x-order": 76 + }, + "m_parallel_workers_launched_sum_per_sec": { + "description": "Total number of parallel workers launched.", + "type": "number", + "format": "float", + "x-order": 77 + }, "m_plan_time_sum_per_sec": { "description": "Plan time in per seconds.", "type": "number", "format": "float", - "x-order": 75 + "x-order": 78 } } }, diff --git a/qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql b/qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql new file mode 100644 index 00000000000..fb977a01a80 --- /dev/null +++ b/qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql @@ -0,0 +1,7 @@ +ALTER TABLE metrics + DROP COLUMN m_wal_buffers_full_cnt, + DROP COLUMN m_wal_buffers_full_sum, + DROP COLUMN m_parallel_workers_to_launch_cnt, + DROP COLUMN m_parallel_workers_to_launch_sum, + DROP COLUMN m_parallel_workers_launched_cnt, + DROP COLUMN m_parallel_workers_launched_sum; \ No newline at end of file diff --git a/qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql b/qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql new file mode 100644 index 00000000000..16421133f24 --- /dev/null +++ b/qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql @@ -0,0 +1,7 @@ +ALTER TABLE metrics + ADD COLUMN m_wal_buffers_full_cnt Float32, + ADD COLUMN m_wal_buffers_full_sum Float32 COMMENT 'Total number of times WAL buffers become full', + ADD COLUMN m_parallel_workers_to_launch_cnt Float32, + ADD COLUMN m_parallel_workers_to_launch_sum Float32 COMMENT 'Total number of parallel workers to launch', + ADD COLUMN m_parallel_workers_launched_cnt Float32, + ADD COLUMN m_parallel_workers_launched_sum Float32 COMMENT 'Total number of parallel workers launched'; \ No newline at end of file diff --git a/qan-api2/models/base.go b/qan-api2/models/base.go index bbce91249b6..3e73a223f9f 100644 --- a/qan-api2/models/base.go +++ b/qan-api2/models/base.go @@ -89,6 +89,9 @@ var sparklinePointAllFields = []string{ "m_wal_records_sum_per_sec", "m_wal_fpi_sum_per_sec", "m_wal_bytes_sum_per_sec", + "m_wal_buffers_full_sum_per_sec", + "m_parallel_workers_to_launch_sum_per_sec", + "m_parallel_workers_launched_sum_per_sec", "m_plan_time_sum_per_sec", "m_docs_examined_sum_per_sec", "m_keys_examined_sum_per_sec", @@ -167,6 +170,9 @@ func getPointFieldsList(point *qanv1.Point, fields []string) []interface{} { "m_wal_records_sum_per_sec": &point.MWalRecordsSumPerSec, "m_wal_fpi_sum_per_sec": &point.MWalFpiSumPerSec, "m_wal_bytes_sum_per_sec": &point.MWalBytesSumPerSec, + "m_wal_buffers_full_sum_per_sec": &point.MWalBuffersFullSumPerSec, + "m_parallel_workers_to_launch_sum_per_sec": &point.MParallelWorkersToLaunchSumPerSec, + "m_parallel_workers_launched_sum_per_sec": &point.MParallelWorkersLaunchedSumPerSec, "m_plan_time_sum_per_sec": &point.MPlanTimeSumPerSec, "m_docs_examined_sum_per_sec": &point.MDocsExaminedSumPerSec, "m_keys_examined_sum_per_sec": &point.MKeysExaminedSumPerSec, @@ -369,6 +375,12 @@ func isValidMetricColumn(name string) bool { "m_wal_fpi_sum": {}, "m_wal_bytes_cnt": {}, "m_wal_bytes_sum": {}, + "m_wal_buffers_full_cnt": {}, + "m_wal_buffers_full_sum": {}, + "m_parallel_workers_to_launch_cnt": {}, + "m_parallel_workers_to_launch_sum": {}, + "m_parallel_workers_launched_cnt": {}, + "m_parallel_workers_launched_sum": {}, "m_plan_total_time": {}, "m_plan_min_time": {}, "m_plan_max_time": {}, diff --git a/qan-api2/models/data_ingestion.go b/qan-api2/models/data_ingestion.go index b04603ea8b7..db2a391fae2 100644 --- a/qan-api2/models/data_ingestion.go +++ b/qan-api2/models/data_ingestion.go @@ -264,6 +264,12 @@ const insertSQL = ` m_wal_fpi_cnt, m_wal_bytes_sum, m_wal_bytes_cnt, + m_wal_buffers_full_cnt, + m_wal_buffers_full_sum, + m_parallel_workers_to_launch_cnt, + m_parallel_workers_to_launch_sum, + m_parallel_workers_launched_cnt, + m_parallel_workers_launched_sum, m_plan_time_cnt, m_plan_time_sum, m_plan_time_min, @@ -529,6 +535,12 @@ const insertSQL = ` :m_wal_fpi_cnt, :m_wal_bytes_sum, :m_wal_bytes_cnt, + :m_wal_buffers_full_cnt, + :m_wal_buffers_full_sum, + :m_parallel_workers_to_launch_cnt, + :m_parallel_workers_to_launch_sum, + :m_parallel_workers_launched_cnt, + :m_parallel_workers_launched_sum, :m_plan_time_cnt, :m_plan_time_sum, :m_plan_time_min, diff --git a/qan-api2/models/metrics.go b/qan-api2/models/metrics.go index c9702e8900a..c5a459f4c1e 100644 --- a/qan-api2/models/metrics.go +++ b/qan-api2/models/metrics.go @@ -310,6 +310,13 @@ SUM(m_wal_fpi_cnt) AS m_wal_fpi_cnt, SUM(m_wal_bytes_sum) as m_wal_bytes_sum, SUM(m_wal_bytes_cnt) as m_wal_bytes_cnt, +SUM(m_wal_buffers_full_sum) as m_wal_buffers_full_sum, +SUM(m_wal_buffers_full_cnt) as m_wal_buffers_full_cnt, + +SUM(m_parallel_workers_to_launch_sum) as m_parallel_workers_to_launch_sum, +SUM(m_parallel_workers_to_launch_cnt) as m_parallel_workers_to_launch_cnt, +SUM(m_parallel_workers_launched_sum) as m_parallel_workers_launched_sum, +SUM(m_parallel_workers_launched_cnt) as m_parallel_workers_launched_cnt, SUM(m_plan_time_cnt) AS m_plan_time_cnt, SUM(m_plan_time_sum) AS m_plan_time_sum, @@ -447,6 +454,9 @@ if(SUM(m_plans_calls_cnt) == 0, NaN, SUM(m_plans_calls_sum) / time_frame) AS m_p if(SUM(m_wal_records_cnt) == 0, NaN, SUM(m_wal_records_sum) / time_frame) AS m_wal_records_sum_per_sec, if(SUM(m_wal_fpi_cnt) == 0, NaN, SUM(m_wal_fpi_sum) / time_frame) AS m_wal_fpi_sum_per_sec, if(SUM(m_wal_bytes_cnt) == 0, NaN, SUM(m_wal_bytes_sum) / time_frame) AS m_wal_bytes_sum_per_sec, +if(SUM(m_wal_buffers_full_cnt) == 0, NaN, SUM(m_wal_buffers_full_sum) / time_frame) AS m_wal_buffers_full_sum_per_sec, +if(SUM(m_parallel_workers_to_launch_cnt) == 0, NaN, SUM(m_parallel_workers_to_launch_sum) / time_frame) AS m_parallel_workers_to_launch_sum_per_sec, +if(SUM(m_parallel_workers_launched_cnt) == 0, NaN, SUM(m_parallel_workers_launched_sum) / time_frame) AS m_parallel_workers_launched_sum_per_sec, if(SUM(m_plan_time_cnt) == 0, NaN, SUM(m_plan_time_sum) / time_frame) AS m_plan_time_sum_per_sec, if(SUM(m_docs_examined_cnt) == 0, NaN, SUM(m_docs_examined_sum) / time_frame) AS m_docs_examined_sum_per_sec, if(SUM(m_keys_examined_cnt) == 0, NaN, SUM(m_keys_examined_sum) / time_frame) AS m_keys_examined_sum_per_sec, diff --git a/qan-api2/services/analytics/base.go b/qan-api2/services/analytics/base.go index c1b72d75eb2..8727fe5f0e9 100644 --- a/qan-api2/services/analytics/base.go +++ b/qan-api2/services/analytics/base.go @@ -86,6 +86,9 @@ var sumColumnNames = map[string]struct{}{ "wal_fpi": {}, "plan_time": {}, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "locks_global_acquire_count_read_shared": {}, "locks_global_acquire_count_write_shared": {}, "locks_database_acquire_count_read_shared": {}, diff --git a/qan-api2/services/analytics/metrics_names.go b/qan-api2/services/analytics/metrics_names.go index 0e2b20b28ec..da33122d68e 100644 --- a/qan-api2/services/analytics/metrics_names.go +++ b/qan-api2/services/analytics/metrics_names.go @@ -84,6 +84,9 @@ var metricsNames = map[string]string{ // PMM-13793 "m_wal_records": "Total number of WAL (Write-ahead logging) records", "m_wal_fpi": "Total number of FPI (full page images) in WAL (Write-ahead logging) records", "m_wal_bytes": "Total bytes of WAL (Write-ahead logging) records", + "m_wal_buffers_full": "Total number of times WAL buffers become full", + "m_parallel_workers_to_launch": "Total number of parallel workers to launch", + "m_parallel_workers_launched": "Total number of parallel workers launched", "m_plan_time": "Total plan time spent in query", "cmd_type": "Type of SQL command used in the query", "top_queryid": "Top parent query ID", From 47979d533070219977f241948c220c2335251993 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 13 Nov 2025 15:56:08 +0200 Subject: [PATCH 08/15] PMM-14517 Format sources --- qan-api2/services/analytics/metrics_names.go | 138 +++++++++---------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/qan-api2/services/analytics/metrics_names.go b/qan-api2/services/analytics/metrics_names.go index da33122d68e..2640e28a8eb 100644 --- a/qan-api2/services/analytics/metrics_names.go +++ b/qan-api2/services/analytics/metrics_names.go @@ -23,76 +23,76 @@ import ( // metricsNames is a map of metrics names and keys. var metricsNames = map[string]string{ // PMM-13793 - "load": "Load", - "count": "Count", - "latency": "Latency", - "query_time": "Query Time", - "lock_time": "Lock Time", - "rows_sent": "Rows Sent", - "rows_examined": "Rows Examined", - "rows_affected": "Rows Affected", - "rows_read": "Rows Read", - "merge_passes": "Merge Passes", - "innodb_io_r_ops": "Innodb IO R Ops", - "innodb_io_r_bytes": "Innodb IO R Bytes", - "innodb_io_r_wait": "Innodb IO R Wait", - "innodb_rec_lock_wait": "Innodb Rec Lock Wait", - "innodb_queue_wait": "Innodb Queue Wait", - "innodb_pages_distinct": "Innodb Pages Distinct", - "query_length": "Query Length", - "bytes_sent": "Bytes Sent", - "tmp_tables": "Tmp Tables", - "tmp_disk_tables": "Tmp Disk Tables", - "tmp_table_sizes": "Tmp Table Sizes", - "qc_hit": "Query Cache Hit", - "full_scan": "Full Scan", - "full_join": "Full Join", - "tmp_table": "Tmp Table", - "tmp_table_on_disk": "Tmp Table on Disk", - "filesort": "Filesort", - "filesort_on_disk": "Filesort on Disk", - "select_full_range_join": "Select Full Range Join", - "select_range": "Select Range", - "select_range_check": "Select Range Check", - "sort_range": "Sort Range", - "sort_rows": "Sort Rows", - "sort_scan": "Sort Scan", - "no_index_used": "No Index Used", - "no_good_index_used": "No Good Index Used", - "docs_returned": "Docs Returned", - "response_length": "Response Length", - "docs_scanned": "Docs Scanned", - "m_shared_blks_hit": "Shared blocks cache hits", - "m_shared_blks_read": "Shared blocks read", - "m_shared_blks_dirtied": "Shared blocks dirtied", - "m_shared_blks_written": "Shared blocks written", - "m_local_blks_hit": "Local blocks cache hits", - "m_local_blks_read": "Local blocks read", - "m_local_blks_dirtied": "Local blocks dirtied", - "m_local_blks_written": "Local blocks written", - "m_temp_blks_read": "Temp blocks read", - "m_temp_blks_written": "Temp blocks written", - "m_blk_read_time": "Time the statement spent reading blocks [deprecated]", - "m_blk_write_time": "Time the statement spent writing blocks [deprecated]", - "m_shared_blk_read_time": "Time the statement spent reading shared blocks", - "m_shared_blk_write_time": "Time the statement spent writing shared blocks", - "m_local_blk_read_time": "Time the statement spent reading local_blocks", - "m_local_blk_write_time": "Time the statement spent writing local_blocks", - "m_cpu_user_time": "Total time user spent in query", - "m_cpu_sys_time": "Total time system spent in query", - "m_plans_calls": "Total number of planned calls", - "m_wal_records": "Total number of WAL (Write-ahead logging) records", - "m_wal_fpi": "Total number of FPI (full page images) in WAL (Write-ahead logging) records", - "m_wal_bytes": "Total bytes of WAL (Write-ahead logging) records", - "m_wal_buffers_full": "Total number of times WAL buffers become full", + "load": "Load", + "count": "Count", + "latency": "Latency", + "query_time": "Query Time", + "lock_time": "Lock Time", + "rows_sent": "Rows Sent", + "rows_examined": "Rows Examined", + "rows_affected": "Rows Affected", + "rows_read": "Rows Read", + "merge_passes": "Merge Passes", + "innodb_io_r_ops": "Innodb IO R Ops", + "innodb_io_r_bytes": "Innodb IO R Bytes", + "innodb_io_r_wait": "Innodb IO R Wait", + "innodb_rec_lock_wait": "Innodb Rec Lock Wait", + "innodb_queue_wait": "Innodb Queue Wait", + "innodb_pages_distinct": "Innodb Pages Distinct", + "query_length": "Query Length", + "bytes_sent": "Bytes Sent", + "tmp_tables": "Tmp Tables", + "tmp_disk_tables": "Tmp Disk Tables", + "tmp_table_sizes": "Tmp Table Sizes", + "qc_hit": "Query Cache Hit", + "full_scan": "Full Scan", + "full_join": "Full Join", + "tmp_table": "Tmp Table", + "tmp_table_on_disk": "Tmp Table on Disk", + "filesort": "Filesort", + "filesort_on_disk": "Filesort on Disk", + "select_full_range_join": "Select Full Range Join", + "select_range": "Select Range", + "select_range_check": "Select Range Check", + "sort_range": "Sort Range", + "sort_rows": "Sort Rows", + "sort_scan": "Sort Scan", + "no_index_used": "No Index Used", + "no_good_index_used": "No Good Index Used", + "docs_returned": "Docs Returned", + "response_length": "Response Length", + "docs_scanned": "Docs Scanned", + "m_shared_blks_hit": "Shared blocks cache hits", + "m_shared_blks_read": "Shared blocks read", + "m_shared_blks_dirtied": "Shared blocks dirtied", + "m_shared_blks_written": "Shared blocks written", + "m_local_blks_hit": "Local blocks cache hits", + "m_local_blks_read": "Local blocks read", + "m_local_blks_dirtied": "Local blocks dirtied", + "m_local_blks_written": "Local blocks written", + "m_temp_blks_read": "Temp blocks read", + "m_temp_blks_written": "Temp blocks written", + "m_blk_read_time": "Time the statement spent reading blocks [deprecated]", + "m_blk_write_time": "Time the statement spent writing blocks [deprecated]", + "m_shared_blk_read_time": "Time the statement spent reading shared blocks", + "m_shared_blk_write_time": "Time the statement spent writing shared blocks", + "m_local_blk_read_time": "Time the statement spent reading local_blocks", + "m_local_blk_write_time": "Time the statement spent writing local_blocks", + "m_cpu_user_time": "Total time user spent in query", + "m_cpu_sys_time": "Total time system spent in query", + "m_plans_calls": "Total number of planned calls", + "m_wal_records": "Total number of WAL (Write-ahead logging) records", + "m_wal_fpi": "Total number of FPI (full page images) in WAL (Write-ahead logging) records", + "m_wal_bytes": "Total bytes of WAL (Write-ahead logging) records", + "m_wal_buffers_full": "Total number of times WAL buffers become full", "m_parallel_workers_to_launch": "Total number of parallel workers to launch", - "m_parallel_workers_launched": "Total number of parallel workers launched", - "m_plan_time": "Total plan time spent in query", - "cmd_type": "Type of SQL command used in the query", - "top_queryid": "Top parent query ID", - "top_query": "Top query plain text", - "application_name": "Name provided by pg_stat_monitor", - "planid": "Plan ID for query", + "m_parallel_workers_launched": "Total number of parallel workers launched", + "m_plan_time": "Total plan time spent in query", + "cmd_type": "Type of SQL command used in the query", + "top_queryid": "Top parent query ID", + "top_query": "Top query plain text", + "application_name": "Name provided by pg_stat_monitor", + "planid": "Plan ID for query", } // GetMetricsNames implements rpc to get list of available metrics. From 732b0d12f0aff7035d6d914a856b2f47117a6bc0 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 13 Nov 2025 16:28:00 +0200 Subject: [PATCH 09/15] PMM-14517 Update tests --- .../GetMetrics_sparklines_90_points.json | 39 ++ qan-api2/test_data/GetMetrics_total.json | 360 ++++++++++++++++++ 2 files changed, 399 insertions(+) diff --git a/qan-api2/test_data/GetMetrics_sparklines_90_points.json b/qan-api2/test_data/GetMetrics_sparklines_90_points.json index d504866a44c..6e8093f1f66 100644 --- a/qan-api2/test_data/GetMetrics_sparklines_90_points.json +++ b/qan-api2/test_data/GetMetrics_sparklines_90_points.json @@ -197,6 +197,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -265,6 +268,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -433,6 +439,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -531,6 +540,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -614,6 +626,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -682,6 +697,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -795,6 +813,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -863,6 +884,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -951,6 +975,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1029,6 +1056,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1102,6 +1132,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1210,6 +1243,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1313,6 +1349,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { diff --git a/qan-api2/test_data/GetMetrics_total.json b/qan-api2/test_data/GetMetrics_total.json index 6030b1bef94..1ac55c00ecf 100644 --- a/qan-api2/test_data/GetMetrics_total.json +++ b/qan-api2/test_data/GetMetrics_total.json @@ -69,6 +69,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -137,6 +140,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -205,6 +211,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -273,6 +282,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -341,6 +353,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -409,6 +424,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -477,6 +495,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -545,6 +566,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -613,6 +637,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -681,6 +708,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -749,6 +779,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -817,6 +850,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -885,6 +921,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -953,6 +992,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1021,6 +1063,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1089,6 +1134,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1157,6 +1205,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1225,6 +1276,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1293,6 +1347,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1361,6 +1418,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1429,6 +1489,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1497,6 +1560,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1565,6 +1631,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1633,6 +1702,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1701,6 +1773,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1769,6 +1844,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1837,6 +1915,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1905,6 +1986,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1973,6 +2057,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2041,6 +2128,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2109,6 +2199,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2177,6 +2270,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2245,6 +2341,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2313,6 +2412,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2381,6 +2483,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2449,6 +2554,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2517,6 +2625,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2585,6 +2696,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2653,6 +2767,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2721,6 +2838,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2789,6 +2909,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2857,6 +2980,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2925,6 +3051,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2993,6 +3122,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3061,6 +3193,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3129,6 +3264,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3197,6 +3335,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3265,6 +3406,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3333,6 +3477,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3401,6 +3548,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3469,6 +3619,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3537,6 +3690,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3605,6 +3761,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3673,6 +3832,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3741,6 +3903,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3809,6 +3974,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3877,6 +4045,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3945,6 +4116,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4013,6 +4187,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4081,6 +4258,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4149,6 +4329,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4217,6 +4400,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4285,6 +4471,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4353,6 +4542,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4421,6 +4613,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4489,6 +4684,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4557,6 +4755,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4625,6 +4826,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4693,6 +4897,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4761,6 +4968,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4829,6 +5039,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4897,6 +5110,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -4965,6 +5181,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5033,6 +5252,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5101,6 +5323,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5169,6 +5394,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5237,6 +5465,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5305,6 +5536,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5373,6 +5607,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5441,6 +5678,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5509,6 +5749,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5577,6 +5820,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5645,6 +5891,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5713,6 +5962,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5781,6 +6033,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5849,6 +6104,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5917,6 +6175,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -5985,6 +6246,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6053,6 +6317,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6121,6 +6388,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6189,6 +6459,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6257,6 +6530,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6325,6 +6601,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6393,6 +6672,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6461,6 +6743,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6529,6 +6814,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6597,6 +6885,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6665,6 +6956,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6733,6 +7027,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6801,6 +7098,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6869,6 +7169,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -6937,6 +7240,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7005,6 +7311,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7073,6 +7382,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7141,6 +7453,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7209,6 +7524,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7277,6 +7595,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7345,6 +7666,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7413,6 +7737,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7481,6 +7808,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7549,6 +7879,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7617,6 +7950,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7685,6 +8021,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7753,6 +8092,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7821,6 +8163,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7889,6 +8234,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -7957,6 +8305,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -8025,6 +8376,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -8093,6 +8447,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -8161,6 +8518,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" } ], From e4e58a321d3f656459221dfdc8045037e244cc17 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 13 Nov 2025 17:46:59 +0200 Subject: [PATCH 10/15] PG-14517 Fix tests --- qan-api2/test_data/GetMetrics_sparklines_90_points.json | 3 +++ qan-api2/test_data/GetMetrics_total.json | 3 +++ 2 files changed, 6 insertions(+) diff --git a/qan-api2/test_data/GetMetrics_sparklines_90_points.json b/qan-api2/test_data/GetMetrics_sparklines_90_points.json index 6e8093f1f66..a8b3c7a3f03 100644 --- a/qan-api2/test_data/GetMetrics_sparklines_90_points.json +++ b/qan-api2/test_data/GetMetrics_sparklines_90_points.json @@ -1501,6 +1501,9 @@ "p99": 0.3429091 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, diff --git a/qan-api2/test_data/GetMetrics_total.json b/qan-api2/test_data/GetMetrics_total.json index 1ac55c00ecf..f179d0854e2 100644 --- a/qan-api2/test_data/GetMetrics_total.json +++ b/qan-api2/test_data/GetMetrics_total.json @@ -8660,6 +8660,9 @@ "p99": 0.3487409 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, From 7e76b4aacffda4c7c5500558eb2561897e4afa03 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 13 Nov 2025 18:02:25 +0200 Subject: [PATCH 11/15] PMM-14517 Fix tests --- qan-api2/test_data/GetMetrics_sparklines_90_points.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qan-api2/test_data/GetMetrics_sparklines_90_points.json b/qan-api2/test_data/GetMetrics_sparklines_90_points.json index a8b3c7a3f03..ed2fc991088 100644 --- a/qan-api2/test_data/GetMetrics_sparklines_90_points.json +++ b/qan-api2/test_data/GetMetrics_sparklines_90_points.json @@ -114,6 +114,9 @@ "cnt": 13 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, From 619b1e8552a40f589792c764d3a53a819ebaef29 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 13 Nov 2025 18:15:20 +0200 Subject: [PATCH 12/15] PMM-14517 Fix tests --- .../GetMetrics_group_by_queryid.json | 171 ++++++++++++++++++ .../GetMetrics_sparklines_90_points.json | 42 ----- qan-api2/test_data/GetMetrics_total.json | 3 - 3 files changed, 171 insertions(+), 45 deletions(-) diff --git a/qan-api2/test_data/GetMetrics_group_by_queryid.json b/qan-api2/test_data/GetMetrics_group_by_queryid.json index 05a043c94e3..244680146c8 100644 --- a/qan-api2/test_data/GetMetrics_group_by_queryid.json +++ b/qan-api2/test_data/GetMetrics_group_by_queryid.json @@ -114,6 +114,9 @@ "cnt": 67 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, @@ -192,6 +195,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -260,6 +266,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -333,6 +342,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -401,6 +413,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -489,6 +504,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -557,6 +575,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -625,6 +646,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -703,6 +727,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -766,6 +793,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -844,6 +874,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -912,6 +945,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -980,6 +1016,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1043,6 +1082,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1116,6 +1158,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1184,6 +1229,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1247,6 +1295,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1325,6 +1376,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1388,6 +1442,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1451,6 +1508,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1519,6 +1579,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1582,6 +1645,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1645,6 +1711,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1708,6 +1777,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1786,6 +1858,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1854,6 +1929,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1922,6 +2000,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2005,6 +2086,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2083,6 +2167,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2151,6 +2238,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2214,6 +2304,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2287,6 +2380,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2375,6 +2471,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2443,6 +2542,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2516,6 +2618,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2579,6 +2684,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2647,6 +2755,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2710,6 +2821,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2773,6 +2887,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2836,6 +2953,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2899,6 +3019,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -2982,6 +3105,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3050,6 +3176,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3118,6 +3247,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3181,6 +3313,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3244,6 +3379,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3307,6 +3445,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3385,6 +3526,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3453,6 +3597,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3516,6 +3663,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3584,6 +3734,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3647,6 +3800,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3710,6 +3866,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3773,6 +3932,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3841,6 +4003,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -3909,6 +4074,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" } ], @@ -4048,6 +4216,9 @@ "p99": 0.3487409 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, diff --git a/qan-api2/test_data/GetMetrics_sparklines_90_points.json b/qan-api2/test_data/GetMetrics_sparklines_90_points.json index ed2fc991088..eae0a9097ed 100644 --- a/qan-api2/test_data/GetMetrics_sparklines_90_points.json +++ b/qan-api2/test_data/GetMetrics_sparklines_90_points.json @@ -114,9 +114,6 @@ "cnt": 13 }, "wal_bytes": {}, - "wal_buffers_full": {}, - "parallel_workers_to_launch": {}, - "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, @@ -271,9 +268,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -442,9 +436,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -543,9 +534,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -629,9 +617,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -700,9 +685,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -816,9 +798,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -887,9 +866,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -978,9 +954,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1059,9 +1032,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1135,9 +1105,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1246,9 +1213,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1352,9 +1316,6 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", - "mWalBuffersFullSumPerSec": "NaN", - "mParallelWorkersToLaunchSumPerSec": "NaN", - "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1504,9 +1465,6 @@ "p99": 0.3429091 }, "wal_bytes": {}, - "wal_buffers_full": {}, - "parallel_workers_to_launch": {}, - "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, diff --git a/qan-api2/test_data/GetMetrics_total.json b/qan-api2/test_data/GetMetrics_total.json index f179d0854e2..1ac55c00ecf 100644 --- a/qan-api2/test_data/GetMetrics_total.json +++ b/qan-api2/test_data/GetMetrics_total.json @@ -8660,9 +8660,6 @@ "p99": 0.3487409 }, "wal_bytes": {}, - "wal_buffers_full": {}, - "parallel_workers_to_launch": {}, - "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, From 5f168e47698a691ee9d654392d2e51ff2a2cc4f8 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 13 Nov 2025 18:21:31 +0200 Subject: [PATCH 13/15] PMM-14517 Fix tests --- .../GetMetrics_sparklines_90_points.json | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/qan-api2/test_data/GetMetrics_sparklines_90_points.json b/qan-api2/test_data/GetMetrics_sparklines_90_points.json index eae0a9097ed..ed2fc991088 100644 --- a/qan-api2/test_data/GetMetrics_sparklines_90_points.json +++ b/qan-api2/test_data/GetMetrics_sparklines_90_points.json @@ -114,6 +114,9 @@ "cnt": 13 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, @@ -268,6 +271,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -436,6 +442,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -534,6 +543,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -617,6 +629,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -685,6 +700,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -798,6 +816,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -866,6 +887,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -954,6 +978,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1032,6 +1059,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1105,6 +1135,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1213,6 +1246,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1316,6 +1352,9 @@ "mWalRecordsSumPerSec": "NaN", "mWalFpiSumPerSec": "NaN", "mWalBytesSumPerSec": "NaN", + "mWalBuffersFullSumPerSec": "NaN", + "mParallelWorkersToLaunchSumPerSec": "NaN", + "mParallelWorkersLaunchedSumPerSec": "NaN", "mPlanTimeSumPerSec": "NaN" }, { @@ -1465,6 +1504,9 @@ "p99": 0.3429091 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, From 43045e38cd382c7b861238765d6f710ad5e19c58 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Thu, 13 Nov 2025 18:25:46 +0200 Subject: [PATCH 14/15] PMM-14517 Fix tests --- qan-api2/test_data/GetMetrics_total.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qan-api2/test_data/GetMetrics_total.json b/qan-api2/test_data/GetMetrics_total.json index 1ac55c00ecf..f179d0854e2 100644 --- a/qan-api2/test_data/GetMetrics_total.json +++ b/qan-api2/test_data/GetMetrics_total.json @@ -8660,6 +8660,9 @@ "p99": 0.3487409 }, "wal_bytes": {}, + "wal_buffers_full": {}, + "parallel_workers_to_launch": {}, + "parallel_workers_launched": {}, "wal_fpi": {}, "wal_records": {} }, From a485bd220bee771da1a99b0bc2d31e8d87506196 Mon Sep 17 00:00:00 2001 From: Artem Gavrilov Date: Mon, 17 Nov 2025 16:42:16 +0200 Subject: [PATCH 15/15] PMM-14517 Format --- qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql | 2 +- qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql b/qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql index fb977a01a80..7c4a91e7475 100644 --- a/qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql +++ b/qan-api2/migrations/sql/22_pg_stat_monitor_23.down.sql @@ -4,4 +4,4 @@ ALTER TABLE metrics DROP COLUMN m_parallel_workers_to_launch_cnt, DROP COLUMN m_parallel_workers_to_launch_sum, DROP COLUMN m_parallel_workers_launched_cnt, - DROP COLUMN m_parallel_workers_launched_sum; \ No newline at end of file + DROP COLUMN m_parallel_workers_launched_sum; diff --git a/qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql b/qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql index 16421133f24..caf17d31685 100644 --- a/qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql +++ b/qan-api2/migrations/sql/22_pg_stat_monitor_23.up.sql @@ -4,4 +4,4 @@ ALTER TABLE metrics ADD COLUMN m_parallel_workers_to_launch_cnt Float32, ADD COLUMN m_parallel_workers_to_launch_sum Float32 COMMENT 'Total number of parallel workers to launch', ADD COLUMN m_parallel_workers_launched_cnt Float32, - ADD COLUMN m_parallel_workers_launched_sum Float32 COMMENT 'Total number of parallel workers launched'; \ No newline at end of file + ADD COLUMN m_parallel_workers_launched_sum Float32 COMMENT 'Total number of parallel workers launched';