diff options
author | Evgeniy Ivanov <eivanov89@yandex-team.ru> | 2022-06-06 14:41:15 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-06-06 14:41:15 +0300 |
commit | 9e451a253f14180a3f1fd5abd94d40bed5ce14ca (patch) | |
tree | 66127b03fce2cad6a56324ed032bab7ad663de49 | |
parent | 25c4523aa729f96e4193760dfc8bdf487922e88c (diff) | |
download | ydb-9e451a253f14180a3f1fd5abd94d40bed5ce14ca.tar.gz |
KIKIMR-14646: make PercentileCounter bounds right inclusive
REVIEW: 2489054
REVIEW: 2494175
x-ydb-stable-ref: 101a79b23fbb35ce9b29a32b09cd554b5d87ddbe
-rw-r--r-- | ydb/core/protos/counters.proto | 35 | ||||
-rw-r--r-- | ydb/core/protos/counters_bs_controller.proto | 42 | ||||
-rw-r--r-- | ydb/core/protos/counters_columnshard.proto | 31 | ||||
-rw-r--r-- | ydb/core/protos/counters_datashard.proto | 389 | ||||
-rw-r--r-- | ydb/core/protos/counters_keyvalue.proto | 1409 | ||||
-rw-r--r-- | ydb/core/protos/counters_schemeshard.proto | 73 | ||||
-rw-r--r-- | ydb/core/tablet/tablet_counters.cpp | 2 | ||||
-rw-r--r-- | ydb/core/tablet/tablet_counters.h | 96 | ||||
-rw-r--r-- | ydb/core/tablet/tablet_counters_aggregator.cpp | 42 | ||||
-rw-r--r-- | ydb/core/tablet/tablet_counters_aggregator_ut.cpp | 95 | ||||
-rw-r--r-- | ydb/core/tablet/tablet_counters_ut.cpp | 153 | ||||
-rw-r--r-- | ydb/core/tablet/ut/ya.make | 1 | ||||
-rw-r--r-- | ydb/core/tablet_flat/flat_executor_counters.cpp | 100 |
13 files changed, 1291 insertions, 1177 deletions
diff --git a/ydb/core/protos/counters.proto b/ydb/core/protos/counters.proto index 05a8c93d90..7dc34a33dc 100644 --- a/ydb/core/protos/counters.proto +++ b/ydb/core/protos/counters.proto @@ -87,24 +87,23 @@ enum ETxTypeCumulativeCounters { enum ETxTypePercentileCounters { option (GlobalCounterOpts) = { - Ranges { Value: 0 Name: "(1) < 500 us" } - Ranges { Value: 500 Name: "(2) 0.5-1 ms" } - Ranges { Value: 1000 Name: "(3) 1-2 ms" } - Ranges { Value: 2000 Name: "(4) 2-4 ms" } - Ranges { Value: 4000 Name: "(5) 4-8 ms" } - Ranges { Value: 8000 Name: "(6) 8-16 ms" } - Ranges { Value: 16000 Name: "(7) 16-32 ms" } - Ranges { Value: 32000 Name: "(8) 32-64 ms" } - Ranges { Value: 64000 Name: "(9) 64-128 ms" } - Ranges { Value: 128000 Name: "(10) 128-256 ms" } - Ranges { Value: 256000 Name: "(11) 256-512 ms" } - Ranges { Value: 512000 Name: "(12) 512-1024 ms" } - Ranges { Value: 1024000 Name: "(13) 1024-2000 ms" } - Ranges { Value: 2000000 Name: "(14) 2-4 s" } - Ranges { Value: 4000000 Name: "(15) 4-8 s" } - Ranges { Value: 8000000 Name: "(16) 8-16 s" } - Ranges { Value: 16000000 Name: "(17) 16-32 s" } - Ranges { Value: 32000000 Name: "(18) 32 < s" } + Ranges: { Value: 500 Name: "(1) < 500 us" } + Ranges: { Value: 1000 Name: "(2) 0.5-1 ms" } + Ranges: { Value: 2000 Name: "(3) 1-2 ms" } + Ranges: { Value: 4000 Name: "(4) 2-4 ms" } + Ranges: { Value: 8000 Name: "(5) 4-8 ms" } + Ranges: { Value: 16000 Name: "(6) 8-16 ms" } + Ranges: { Value: 32000 Name: "(7) 16-32 ms" } + Ranges: { Value: 64000 Name: "(8) 32-64 ms" } + Ranges: { Value: 128000 Name: "(9) 64-128 ms" } + Ranges: { Value: 256000 Name: "(10) 128-256 ms" } + Ranges: { Value: 512000 Name: "(11) 256-512 ms" } + Ranges: { Value: 1024000 Name: "(12) 512-1024 ms" } + Ranges: { Value: 2000000 Name: "(13) 1024-2000 ms" } + Ranges: { Value: 4000000 Name: "(14) 2-4 s" } + Ranges: { Value: 8000000 Name: "(15) 4-8 s" } + Ranges: { Value: 16000000 Name: "(16) 8-16 s" } + Ranges: { Value: 32000000 Name: "(17) 16-32 s" } }; COUNTER_TT_PERCENTILE_IGNORE = 0; diff --git a/ydb/core/protos/counters_bs_controller.proto b/ydb/core/protos/counters_bs_controller.proto index c629b462c7..496d60e0b2 100644 --- a/ydb/core/protos/counters_bs_controller.proto +++ b/ydb/core/protos/counters_bs_controller.proto @@ -77,27 +77,28 @@ enum ECumulativeCounters { enum EPercentileCounters { option (GlobalCounterOpts) = { - Ranges { Value: 0 Name: "(1) < 500 us" } - Ranges { Value: 500 Name: "(2) 0.5-1 ms" } - Ranges { Value: 1000 Name: "(3) 1-2 ms" } - Ranges { Value: 2000 Name: "(4) 2-4 ms" } - Ranges { Value: 4000 Name: "(5) 4-8 ms" } - Ranges { Value: 8000 Name: "(6) 8-16 ms" } - Ranges { Value: 16000 Name: "(7) 16-32 ms" } - Ranges { Value: 32000 Name: "(8) 32-64 ms" } - Ranges { Value: 64000 Name: "(9) 64-128 ms" } - Ranges { Value: 128000 Name: "(10) 128-256 ms" } - Ranges { Value: 256000 Name: "(11) 256-512 ms" } - Ranges { Value: 512000 Name: "(12) 512-1024 ms" } - Ranges { Value: 1024000 Name: "(13) 1024-2000 ms" } - Ranges { Value: 2000000 Name: "(14) 2-4 s" } - Ranges { Value: 4000000 Name: "(15) 4-8 s" } - Ranges { Value: 8000000 Name: "(16) 8-16 s" } - Ranges { Value: 16000000 Name: "(17) 16-32 s" } - Ranges { Value: 32000000 Name: "(18) 32 < s" } + Ranges: { Value: 500 Name: "(1) < 500 us" } + Ranges: { Value: 1000 Name: "(2) 0.5-1 ms" } + Ranges: { Value: 2000 Name: "(3) 1-2 ms" } + Ranges: { Value: 4000 Name: "(4) 2-4 ms" } + Ranges: { Value: 8000 Name: "(5) 4-8 ms" } + Ranges: { Value: 16000 Name: "(6) 8-16 ms" } + Ranges: { Value: 32000 Name: "(7) 16-32 ms" } + Ranges: { Value: 64000 Name: "(8) 32-64 ms" } + Ranges: { Value: 128000 Name: "(9) 64-128 ms" } + Ranges: { Value: 256000 Name: "(10) 128-256 ms" } + Ranges: { Value: 512000 Name: "(11) 256-512 ms" } + Ranges: { Value: 1024000 Name: "(12) 512-1024 ms" } + Ranges: { Value: 2000000 Name: "(13) 1024-2000 ms" } + Ranges: { Value: 4000000 Name: "(14) 2-4 s" } + Ranges: { Value: 8000000 Name: "(15) 4-8 s" } + Ranges: { Value: 16000000 Name: "(16) 8-16 s" } + Ranges: { Value: 32000000 Name: "(17) 16-32 s" } }; - COUNTER_PERCENTILE_SELECT_GROUPS = 0 [(CounterOpts) = {Name: "SelectGroups"}]; + COUNTER_PERCENTILE_SELECT_GROUPS = 0 [(CounterOpts) = { + Name: "SelectGroups" + }]; COUNTER_FAULTY_USETTLED_PDISKS = 1 [(CounterOpts) = { Name: "FaultyUnsettledPDisks" @@ -130,7 +131,6 @@ enum EPercentileCounters { Ranges { Value: 14400 Name: "14400" } Ranges { Value: 18000 Name: "18000" } Ranges { Value: 21600 Name: "21600" } - Ranges { Value: 86400 Name: "inf" } }]; COUNTER_TO_BE_REMOVED_USETTLED_PDISKS = 2 [(CounterOpts) = { @@ -164,7 +164,6 @@ enum EPercentileCounters { Ranges { Value: 14400 Name: "14400" } Ranges { Value: 18000 Name: "18000" } Ranges { Value: 21600 Name: "21600" } - Ranges { Value: 86400 Name: "inf" } }]; COUNTER_NUM_NOT_READY_VDISKS = 3 [(CounterOpts) = { @@ -186,7 +185,6 @@ enum EPercentileCounters { Ranges { Value: 14400 Name: "14400" } Ranges { Value: 18000 Name: "18000" } Ranges { Value: 21600 Name: "21600" } - Ranges { Value: 86400 Name: "inf" } }]; } diff --git a/ydb/core/protos/counters_columnshard.proto b/ydb/core/protos/counters_columnshard.proto index 8c42878bab..57c2f4ecf1 100644 --- a/ydb/core/protos/counters_columnshard.proto +++ b/ydb/core/protos/counters_columnshard.proto @@ -122,22 +122,21 @@ enum ECumulativeCounters { enum EPercentileCounters { option (GlobalCounterOpts) = { - Ranges { Value: 0 Name: "10" } - Ranges { Value: 10000 Name: "20" } - Ranges { Value: 20000 Name: "50" } - Ranges { Value: 50000 Name: "100" } - Ranges { Value: 100000 Name: "200" } - Ranges { Value: 200000 Name: "500" } - Ranges { Value: 500000 Name: "1000" } - Ranges { Value: 1000000 Name: "2000" } - Ranges { Value: 2000000 Name: "5000" } - Ranges { Value: 5000000 Name: "10000" } - Ranges { Value: 10000000 Name: "20000" } - Ranges { Value: 20000000 Name: "60000" } - Ranges { Value: 60000000 Name: "120000" } - Ranges { Value: 120000000 Name: "300000" } - Ranges { Value: 300000000 Name: "600000" } - Ranges { Value: 600000000 Name: "Inf" } + Ranges { Value: 10000 Name: "10" } + Ranges { Value: 20000 Name: "20" } + Ranges { Value: 50000 Name: "50" } + Ranges { Value: 100000 Name: "100" } + Ranges { Value: 200000 Name: "200" } + Ranges { Value: 500000 Name: "500" } + Ranges { Value: 1000000 Name: "1000" } + Ranges { Value: 2000000 Name: "2000" } + Ranges { Value: 5000000 Name: "5000" } + Ranges { Value: 10000000 Name: "10000" } + Ranges { Value: 20000000 Name: "20000" } + Ranges { Value: 60000000 Name: "60000" } + Ranges { Value: 120000000 Name: "120000" } + Ranges { Value: 300000000 Name: "300000" } + Ranges { Value: 600000000 Name: "600000" } }; COUNTER_SCAN_LATENCY = 0 [(CounterOpts) = {Name: "ScanLatency"}]; diff --git a/ydb/core/protos/counters_datashard.proto b/ydb/core/protos/counters_datashard.proto index 26e35e98c5..bd0534b651 100644 --- a/ydb/core/protos/counters_datashard.proto +++ b/ydb/core/protos/counters_datashard.proto @@ -114,202 +114,227 @@ enum ECumulativeCounters { enum EPercentileCounters { option (GlobalCounterOpts) = { - Ranges { Value: 0 Name: "(1) < 500 us" } - Ranges { Value: 500 Name: "(2) 0.5-1 ms" } - Ranges { Value: 1000 Name: "(3) 1-2 ms" } - Ranges { Value: 2000 Name: "(4) 2-4 ms" } - Ranges { Value: 4000 Name: "(5) 4-8 ms" } - Ranges { Value: 8000 Name: "(6) 8-16 ms" } - Ranges { Value: 16000 Name: "(7) 16-32 ms" } - Ranges { Value: 32000 Name: "(8) 32-64 ms" } - Ranges { Value: 64000 Name: "(9) 64-128 ms" } - Ranges { Value: 128000 Name: "(10) 128-256 ms" } - Ranges { Value: 256000 Name: "(11) 256-512 ms" } - Ranges { Value: 512000 Name: "(12) 512-1024 ms" } - Ranges { Value: 1024000 Name: "(13) 1024-2000 ms" } - Ranges { Value: 2000000 Name: "(14) 2-4 s" } - Ranges { Value: 4000000 Name: "(15) 4-8 s" } - Ranges { Value: 8000000 Name: "(16) 8-16 s" } - Ranges { Value: 16000000 Name: "(17) 16-32 s" } - Ranges { Value: 32000000 Name: "(18) 32 < s" } + Ranges: { Value: 500 Name: "(1) < 500 us" } + Ranges: { Value: 1000 Name: "(2) 0.5-1 ms" } + Ranges: { Value: 2000 Name: "(3) 1-2 ms" } + Ranges: { Value: 4000 Name: "(4) 2-4 ms" } + Ranges: { Value: 8000 Name: "(5) 4-8 ms" } + Ranges: { Value: 16000 Name: "(6) 8-16 ms" } + Ranges: { Value: 32000 Name: "(7) 16-32 ms" } + Ranges: { Value: 64000 Name: "(8) 32-64 ms" } + Ranges: { Value: 128000 Name: "(9) 64-128 ms" } + Ranges: { Value: 256000 Name: "(10) 128-256 ms" } + Ranges: { Value: 512000 Name: "(11) 256-512 ms" } + Ranges: { Value: 1024000 Name: "(12) 512-1024 ms" } + Ranges: { Value: 2000000 Name: "(13) 1024-2000 ms" } + Ranges: { Value: 4000000 Name: "(14) 2-4 s" } + Ranges: { Value: 8000000 Name: "(15) 4-8 s" } + Ranges: { Value: 16000000 Name: "(16) 8-16 s" } + Ranges: { Value: 32000000 Name: "(17) 16-32 s" } }; - COUNTER_PREPARE_SUCCESS_COMPLETE_LATENCY = 0 [(CounterOpts) = {Name: "PrepareSuccessCompleteLatency"}]; - COUNTER_ACCEPTED_PLAN_STEP_COMPLETE_LATENCY = 1 [(CounterOpts) = {Name: "AcceptedPlanStepCompleteLatency"}]; - COUNTER_TX_PROGRESS_COMPLETE_LATENCY = 2 [(CounterOpts) = {Name: "TxProgressCompleteLatency"}]; - COUNTER_PLAN_TO_EXECUTE_LATENCY = 3 [(CounterOpts) = {Name: "PlanToExecuteLatency"}]; - COUNTER_PREPARE_EXEC_LATENCY = 4 [(CounterOpts) = {Name: "PrepareExecLatency"}]; - COUNTER_TX_PROGRESS_EXEC_LATENCY = 5 [(CounterOpts) = {Name: "TxProgressExecLatency"}]; + COUNTER_PREPARE_SUCCESS_COMPLETE_LATENCY = 0 [(CounterOpts) = { + Name: "PrepareSuccessCompleteLatency" + }]; - COUNTER_LOCKS_ACTIVE_PER_SHARD = 6 [(CounterOpts) = {Name: "LocksActivePerShard", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1-10"}, - Ranges: { Value: 10 Name: "10-100"} - Ranges: { Value: 100 Name: "100-500"} - Ranges: { Value: 500 Name: "500-1000"} - Ranges: { Value: 1000 Name: "1000-4000"} - Ranges: { Value: 4000 Name: "4000-8000"} - Ranges: { Value: 8000 Name: "8000-12000"} - Ranges: { Value: 12000 Name: "12000-16000"} - Ranges: { Value: 16000 Name: "16000-Inf"} - }]; + COUNTER_ACCEPTED_PLAN_STEP_COMPLETE_LATENCY = 1 [(CounterOpts) = { + Name: "AcceptedPlanStepCompleteLatency" + }]; - COUNTER_LOCKS_BROKEN_PER_SHARD = 7 [(CounterOpts) = {Name: "LocksBrokenPerShard", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1-10"}, - Ranges: { Value: 10 Name: "10-100"} - Ranges: { Value: 100 Name: "100-500"} - Ranges: { Value: 500 Name: "500-1000"} - Ranges: { Value: 1000 Name: "1000-4000"} - Ranges: { Value: 4000 Name: "4000-8000"} - Ranges: { Value: 8000 Name: "8000-12000"} - Ranges: { Value: 12000 Name: "12000-16000"} - Ranges: { Value: 16000 Name: "16000-Inf"} - }]; + COUNTER_TX_PROGRESS_COMPLETE_LATENCY = 2 [(CounterOpts) = { + Name: "TxProgressCompleteLatency" + }]; - COUNTER_LOCKS_LIFETIME = 8 [(CounterOpts) = {Name: "LocksLifetime"}]; + COUNTER_PLAN_TO_EXECUTE_LATENCY = 3 [(CounterOpts) = { + Name: "PlanToExecuteLatency" + }]; - COUNTER_PROPOSE_QUEUE_LATENCY = 9 [(CounterOpts) = {Name: "ProposeQueueLatency"}]; + COUNTER_PREPARE_EXEC_LATENCY = 4 [(CounterOpts) = { + Name: "PrepareExecLatency" + }]; - COUNTER_HIST_RANGE_READ_BYTES = 10 [(CounterOpts) = {Name: "HIST(DataShard/EngineHostRangeReadBytes)", - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "134217728" } - Ranges { Value: 134217728 Name: "inf" } - }]; + COUNTER_TX_PROGRESS_EXEC_LATENCY = 5 [(CounterOpts) = { + Name: "TxProgressExecLatency" + }]; - COUNTER_SELECT_ROWS_PER_REQUEST = 11 [(CounterOpts) = {Name: "SelectRowsPerRequest", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1"}, - Ranges: { Value: 2 Name: "10"}, - Ranges: { Value: 11 Name: "100"} - Ranges: { Value: 101 Name: "1000"} - Ranges: { Value: 1001 Name: "10000"} - Ranges: { Value: 10001 Name: "100000"} - Ranges: { Value: 100001 Name: "inf"} - }]; + COUNTER_LOCKS_ACTIVE_PER_SHARD = 6 [(CounterOpts) = { + Name: "LocksActivePerShard", + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 10 Name: "1-10" } + Ranges: { Value: 100 Name: "10-100" } + Ranges: { Value: 500 Name: "100-500" } + Ranges: { Value: 1000 Name: "500-1000" } + Ranges: { Value: 4000 Name: "1000-4000" } + Ranges: { Value: 8000 Name: "4000-8000" } + Ranges: { Value: 12000 Name: "8000-12000" } + Ranges: { Value: 16000 Name: "12000-16000" } + }]; - COUNTER_RANGE_READ_ROWS_PER_REQUEST = 12 [(CounterOpts) = {Name: "RangeReadRowsPerRequest", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1"}, - Ranges: { Value: 2 Name: "10"}, - Ranges: { Value: 11 Name: "100"} - Ranges: { Value: 101 Name: "1000"} - Ranges: { Value: 1001 Name: "10000"} - Ranges: { Value: 10001 Name: "100000"} - Ranges: { Value: 100001 Name: "inf"} - }]; + COUNTER_LOCKS_BROKEN_PER_SHARD = 7 [(CounterOpts) = { + Name: "LocksBrokenPerShard", + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 10 Name: "1-10" } + Ranges: { Value: 100 Name: "10-100" } + Ranges: { Value: 500 Name: "100-500" } + Ranges: { Value: 1000 Name: "500-1000" } + Ranges: { Value: 4000 Name: "1000-4000" } + Ranges: { Value: 8000 Name: "4000-8000" } + Ranges: { Value: 12000 Name: "8000-12000" } + Ranges: { Value: 16000 Name: "12000-16000" } + }]; - COUNTER_PLAN_QUEUE_LATENCY_MS = 13 [(CounterOpts) = {Name: "PlanQueueLatencyMs", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1"}, - Ranges: { Value: 2 Name: "2"}, - Ranges: { Value: 5 Name: "5"}, - Ranges: { Value: 10 Name: "10"}, - Ranges: { Value: 25 Name: "25"}, - Ranges: { Value: 50 Name: "50"}, - Ranges: { Value: 125 Name: "125"}, - Ranges: { Value: 250 Name: "250"}, - Ranges: { Value: 500 Name: "500"}, - Ranges: { Value: 1000 Name: "1000"}, - Ranges: { Value: 2000 Name: "2000"}, - Ranges: { Value: 5000 Name: "5000"}, - Ranges: { Value: 10000 Name: "10000"}, - Ranges: { Value: 15000 Name: "15000"}, - Ranges: { Value: 30000 Name: "30000"} - }]; + COUNTER_LOCKS_LIFETIME = 8 [(CounterOpts) = { + Name: "LocksLifetime" + }]; - COUNTER_WAIT_DEPENDENCIES_LATENCY_MS = 14 [(CounterOpts) = {Name: "WaitDependenciesLatencyMs", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1"}, - Ranges: { Value: 2 Name: "2"}, - Ranges: { Value: 5 Name: "5"}, - Ranges: { Value: 10 Name: "10"}, - Ranges: { Value: 25 Name: "25"}, - Ranges: { Value: 50 Name: "50"}, - Ranges: { Value: 125 Name: "125"}, - Ranges: { Value: 250 Name: "250"}, - Ranges: { Value: 500 Name: "500"}, - Ranges: { Value: 1000 Name: "1000"}, - Ranges: { Value: 2000 Name: "2000"}, - Ranges: { Value: 5000 Name: "5000"}, - Ranges: { Value: 10000 Name: "10000"}, - Ranges: { Value: 15000 Name: "15000"}, - Ranges: { Value: 30000 Name: "30000"} - }]; + COUNTER_PROPOSE_QUEUE_LATENCY = 9 [(CounterOpts) = { + Name: "ProposeQueueLatency" + }]; - COUNTER_WAIT_READSETS_LATENCY_MS = 15 [(CounterOpts) = {Name: "WaitReadSetsLatencyMs", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1"}, - Ranges: { Value: 2 Name: "2"}, - Ranges: { Value: 5 Name: "5"}, - Ranges: { Value: 10 Name: "10"}, - Ranges: { Value: 25 Name: "25"}, - Ranges: { Value: 50 Name: "50"}, - Ranges: { Value: 125 Name: "125"}, - Ranges: { Value: 250 Name: "250"}, - Ranges: { Value: 500 Name: "500"}, - Ranges: { Value: 1000 Name: "1000"}, - Ranges: { Value: 2000 Name: "2000"}, - Ranges: { Value: 5000 Name: "5000"}, - Ranges: { Value: 10000 Name: "10000"}, - Ranges: { Value: 15000 Name: "15000"}, - Ranges: { Value: 30000 Name: "30000"} - }]; + COUNTER_HIST_RANGE_READ_BYTES = 10 [(CounterOpts) = { + Name: "HIST(DataShard/EngineHostRangeReadBytes)", + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + Ranges: { Value: 134217728 Name: "134217728" } + }]; - COUNTER_WAIT_EXECUTE_LATENCY_MS = 16 [(CounterOpts) = {Name: "WaitExecuteLatencyMs", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1"}, - Ranges: { Value: 2 Name: "2"}, - Ranges: { Value: 5 Name: "5"}, - Ranges: { Value: 10 Name: "10"}, - Ranges: { Value: 25 Name: "25"}, - Ranges: { Value: 50 Name: "50"}, - Ranges: { Value: 125 Name: "125"}, - Ranges: { Value: 250 Name: "250"}, - Ranges: { Value: 500 Name: "500"}, - Ranges: { Value: 1000 Name: "1000"}, - Ranges: { Value: 2000 Name: "2000"}, - Ranges: { Value: 5000 Name: "5000"}, - Ranges: { Value: 10000 Name: "10000"}, - Ranges: { Value: 15000 Name: "15000"}, - Ranges: { Value: 30000 Name: "30000"} - }]; + COUNTER_SELECT_ROWS_PER_REQUEST = 11 [(CounterOpts) = { + Name: "SelectRowsPerRequest", + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1 Name: "1" } + Ranges: { Value: 10 Name: "10" } + Ranges: { Value: 100 Name: "100" } + Ranges: { Value: 1000 Name: "1000" } + Ranges: { Value: 10000 Name: "10000" } + Ranges: { Value: 100000 Name: "100000" } + }]; - COUNTER_WAIT_TOTAL_LATENCY_MS = 17 [(CounterOpts) = {Name: "WaitTotalLatencyMs", - Ranges: { Value: 0 Name: "0"}, - Ranges: { Value: 1 Name: "1"}, - Ranges: { Value: 2 Name: "2"}, - Ranges: { Value: 5 Name: "5"}, - Ranges: { Value: 10 Name: "10"}, - Ranges: { Value: 25 Name: "25"}, - Ranges: { Value: 50 Name: "50"}, - Ranges: { Value: 125 Name: "125"}, - Ranges: { Value: 250 Name: "250"}, - Ranges: { Value: 500 Name: "500"}, - Ranges: { Value: 1000 Name: "1000"}, - Ranges: { Value: 2000 Name: "2000"}, - Ranges: { Value: 5000 Name: "5000"}, - Ranges: { Value: 10000 Name: "10000"}, - Ranges: { Value: 15000 Name: "15000"}, - Ranges: { Value: 30000 Name: "30000"} - }]; + COUNTER_RANGE_READ_ROWS_PER_REQUEST = 12 [(CounterOpts) = { + Name: "RangeReadRowsPerRequest", + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1 Name: "1" } + Ranges: { Value: 10 Name: "10" } + Ranges: { Value: 100 Name: "100" } + Ranges: { Value: 1000 Name: "1000" } + Ranges: { Value: 10000 Name: "10000" } + Ranges: { Value: 100000 Name: "100000" } + }]; + + COUNTER_PLAN_QUEUE_LATENCY_MS = 13 [(CounterOpts) = { + Name: "PlanQueueLatencyMs", + Ranges: { Value: 0 Name: "0"}, + Ranges: { Value: 1 Name: "1"}, + Ranges: { Value: 2 Name: "2"}, + Ranges: { Value: 5 Name: "5"}, + Ranges: { Value: 10 Name: "10"}, + Ranges: { Value: 25 Name: "25"}, + Ranges: { Value: 50 Name: "50"}, + Ranges: { Value: 125 Name: "125"}, + Ranges: { Value: 250 Name: "250"}, + Ranges: { Value: 500 Name: "500"}, + Ranges: { Value: 1000 Name: "1000"}, + Ranges: { Value: 2000 Name: "2000"}, + Ranges: { Value: 5000 Name: "5000"}, + Ranges: { Value: 10000 Name: "10000"}, + Ranges: { Value: 15000 Name: "15000"}, + Ranges: { Value: 30000 Name: "30000"} + }]; + + COUNTER_WAIT_DEPENDENCIES_LATENCY_MS = 14 [(CounterOpts) = { + Name: "WaitDependenciesLatencyMs", + Ranges: { Value: 0 Name: "0"}, + Ranges: { Value: 1 Name: "1"}, + Ranges: { Value: 2 Name: "2"}, + Ranges: { Value: 5 Name: "5"}, + Ranges: { Value: 10 Name: "10"}, + Ranges: { Value: 25 Name: "25"}, + Ranges: { Value: 50 Name: "50"}, + Ranges: { Value: 125 Name: "125"}, + Ranges: { Value: 250 Name: "250"}, + Ranges: { Value: 500 Name: "500"}, + Ranges: { Value: 1000 Name: "1000"}, + Ranges: { Value: 2000 Name: "2000"}, + Ranges: { Value: 5000 Name: "5000"}, + Ranges: { Value: 10000 Name: "10000"}, + Ranges: { Value: 15000 Name: "15000"}, + Ranges: { Value: 30000 Name: "30000"} + }]; + + COUNTER_WAIT_READSETS_LATENCY_MS = 15 [(CounterOpts) = { + Name: "WaitReadSetsLatencyMs", + Ranges: { Value: 0 Name: "0"}, + Ranges: { Value: 1 Name: "1"}, + Ranges: { Value: 2 Name: "2"}, + Ranges: { Value: 5 Name: "5"}, + Ranges: { Value: 10 Name: "10"}, + Ranges: { Value: 25 Name: "25"}, + Ranges: { Value: 50 Name: "50"}, + Ranges: { Value: 125 Name: "125"}, + Ranges: { Value: 250 Name: "250"}, + Ranges: { Value: 500 Name: "500"}, + Ranges: { Value: 1000 Name: "1000"}, + Ranges: { Value: 2000 Name: "2000"}, + Ranges: { Value: 5000 Name: "5000"}, + Ranges: { Value: 10000 Name: "10000"}, + Ranges: { Value: 15000 Name: "15000"}, + Ranges: { Value: 30000 Name: "30000"} + }]; + + COUNTER_WAIT_EXECUTE_LATENCY_MS = 16 [(CounterOpts) = { + Name: "WaitExecuteLatencyMs", + Ranges: { Value: 0 Name: "0"}, + Ranges: { Value: 1 Name: "1"}, + Ranges: { Value: 2 Name: "2"}, + Ranges: { Value: 5 Name: "5"}, + Ranges: { Value: 10 Name: "10"}, + Ranges: { Value: 25 Name: "25"}, + Ranges: { Value: 50 Name: "50"}, + Ranges: { Value: 125 Name: "125"}, + Ranges: { Value: 250 Name: "250"}, + Ranges: { Value: 500 Name: "500"}, + Ranges: { Value: 1000 Name: "1000"}, + Ranges: { Value: 2000 Name: "2000"}, + Ranges: { Value: 5000 Name: "5000"}, + Ranges: { Value: 10000 Name: "10000"}, + Ranges: { Value: 15000 Name: "15000"}, + Ranges: { Value: 30000 Name: "30000"} + }]; + + COUNTER_WAIT_TOTAL_LATENCY_MS = 17 [(CounterOpts) = { + Name: "WaitTotalLatencyMs", + Ranges: { Value: 0 Name: "0"}, + Ranges: { Value: 1 Name: "1"}, + Ranges: { Value: 2 Name: "2"}, + Ranges: { Value: 5 Name: "5"}, + Ranges: { Value: 10 Name: "10"}, + Ranges: { Value: 25 Name: "25"}, + Ranges: { Value: 50 Name: "50"}, + Ranges: { Value: 125 Name: "125"}, + Ranges: { Value: 250 Name: "250"}, + Ranges: { Value: 500 Name: "500"}, + Ranges: { Value: 1000 Name: "1000"}, + Ranges: { Value: 2000 Name: "2000"}, + Ranges: { Value: 5000 Name: "5000"}, + Ranges: { Value: 10000 Name: "10000"}, + Ranges: { Value: 15000 Name: "15000"}, + Ranges: { Value: 30000 Name: "30000"} + }]; } enum ETxTypes { diff --git a/ydb/core/protos/counters_keyvalue.proto b/ydb/core/protos/counters_keyvalue.proto index 973df1d569..ca0b2f1319 100644 --- a/ydb/core/protos/counters_keyvalue.proto +++ b/ydb/core/protos/counters_keyvalue.proto @@ -169,805 +169,740 @@ enum EPercentileCounters { COUNTER_LATENCY_FULL_RO_INLINE = 11 [(CounterOpts) = {Name: "LatencyFullRoInline"}]; COUNTER_HIST_READ_BYTES_CHANNEL_0 = 12 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel0)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_1 = 13 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel1)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_2 = 14 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel2)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_3 = 15 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel3)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_4 = 16 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel4)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_5 = 17 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel5)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_6 = 18 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel6)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_7 = 19 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel7)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_8 = 20 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel8)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_9 = 21 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel9)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_10 = 22 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel10)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_11 = 23 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel11)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_12 = 24 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel12)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_13 = 25 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel13)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_14 = 26 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel14)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_READ_BYTES_CHANNEL_15 = 27 [(CounterOpts) = {Name: "HIST(KV/ReadBytesChannel15)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_0 = 28 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel0)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_1 = 29 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel1)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_2 = 30 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel2)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_3 = 31 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel3)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_4 = 32 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel4)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_5 = 33 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel5)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_6 = 34 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel6)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_7 = 35 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel7)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_8 = 36 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel8)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_9 = 37 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel9)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_10 = 38 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel10)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_11 = 39 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel11)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_12 = 40 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel12)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_13 = 41 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel13)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_14 = 42 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel14)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; COUNTER_HIST_WRITE_BYTES_CHANNEL_15 = 43 [(CounterOpts) = {Name: "HIST(KV/WriteBytesChannel15)" - Ranges { Value: 0 Name: "0" } - Ranges { Value: 1 Name: "1024" } - Ranges { Value: 1024 Name: "2048" } - Ranges { Value: 2048 Name: "4096" } - Ranges { Value: 4096 Name: "8192" } - Ranges { Value: 8192 Name: "16384" } - Ranges { Value: 16384 Name: "32768" } - Ranges { Value: 32768 Name: "65536" } - Ranges { Value: 65536 Name: "131072" } - Ranges { Value: 131072 Name: "262144" } - Ranges { Value: 262144 Name: "524288" } - Ranges { Value: 524288 Name: "1048576" } - Ranges { Value: 1048576 Name: "2097152" } - Ranges { Value: 2097152 Name: "4194304" } - Ranges { Value: 4194304 Name: "5242880" } - Ranges { Value: 5242880 Name: "6291456" } - Ranges { Value: 6291456 Name: "8388608" } - Ranges { Value: 8388608 Name: "16777216" } - Ranges { Value: 16777216 Name: "33554432" } - Ranges { Value: 33554432 Name: "67108864" } - Ranges { Value: 67108864 Name: "inf" } - } - ]; - + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 1024 Name: "1024" } + Ranges: { Value: 2048 Name: "2048" } + Ranges: { Value: 4096 Name: "4096" } + Ranges: { Value: 8192 Name: "8192" } + Ranges: { Value: 16384 Name: "16384" } + Ranges: { Value: 32768 Name: "32768" } + Ranges: { Value: 65536 Name: "65536" } + Ranges: { Value: 131072 Name: "131072" } + Ranges: { Value: 262144 Name: "262144" } + Ranges: { Value: 524288 Name: "524288" } + Ranges: { Value: 1048576 Name: "1048576" } + Ranges: { Value: 2097152 Name: "2097152" } + Ranges: { Value: 4194304 Name: "4194304" } + Ranges: { Value: 5242880 Name: "5242880" } + Ranges: { Value: 6291456 Name: "6291456" } + Ranges: { Value: 8388608 Name: "8388608" } + Ranges: { Value: 16777216 Name: "16777216" } + Ranges: { Value: 33554432 Name: "33554432" } + Ranges: { Value: 67108864 Name: "67108864" } + }]; } enum ETxTypes { diff --git a/ydb/core/protos/counters_schemeshard.proto b/ydb/core/protos/counters_schemeshard.proto index 7484b511b8..4a2188d4fb 100644 --- a/ydb/core/protos/counters_schemeshard.proto +++ b/ydb/core/protos/counters_schemeshard.proto @@ -250,24 +250,23 @@ enum ECumulativeCounters { enum EPercentileCounters { option (GlobalCounterOpts) = { - Ranges { Value: 0 Name: "(1) < 500 us" } - Ranges { Value: 500 Name: "(2) 0.5-1 ms" } - Ranges { Value: 1000 Name: "(3) 1-2 ms" } - Ranges { Value: 2000 Name: "(4) 2-4 ms" } - Ranges { Value: 4000 Name: "(5) 4-8 ms" } - Ranges { Value: 8000 Name: "(6) 8-16 ms" } - Ranges { Value: 16000 Name: "(7) 16-32 ms" } - Ranges { Value: 32000 Name: "(8) 32-64 ms" } - Ranges { Value: 64000 Name: "(9) 64-128 ms" } - Ranges { Value: 128000 Name: "(10) 128-256 ms" } - Ranges { Value: 256000 Name: "(11) 256-512 ms" } - Ranges { Value: 512000 Name: "(12) 512-1024 ms" } - Ranges { Value: 1024000 Name: "(13) 1024-2000 ms" } - Ranges { Value: 2000000 Name: "(14) 2-4 s" } - Ranges { Value: 4000000 Name: "(15) 4-8 s" } - Ranges { Value: 8000000 Name: "(16) 8-16 s" } - Ranges { Value: 16000000 Name: "(17) 16-32 s" } - Ranges { Value: 32000000 Name: "(18) 32 < s" } + Ranges: { Value: 500 Name: "(1) < 500 us" } + Ranges: { Value: 1000 Name: "(2) 0.5-1 ms" } + Ranges: { Value: 2000 Name: "(3) 1-2 ms" } + Ranges: { Value: 4000 Name: "(4) 2-4 ms" } + Ranges: { Value: 8000 Name: "(5) 4-8 ms" } + Ranges: { Value: 16000 Name: "(6) 8-16 ms" } + Ranges: { Value: 32000 Name: "(7) 16-32 ms" } + Ranges: { Value: 64000 Name: "(8) 32-64 ms" } + Ranges: { Value: 128000 Name: "(9) 64-128 ms" } + Ranges: { Value: 256000 Name: "(10) 128-256 ms" } + Ranges: { Value: 512000 Name: "(11) 256-512 ms" } + Ranges: { Value: 1024000 Name: "(12) 512-1024 ms" } + Ranges: { Value: 2000000 Name: "(13) 1024-2000 ms" } + Ranges: { Value: 4000000 Name: "(14) 2-4 s" } + Ranges: { Value: 8000000 Name: "(15) 4-8 s" } + Ranges: { Value: 16000000 Name: "(16) 8-16 s" } + Ranges: { Value: 32000000 Name: "(17) 16-32 s" } }; COUNTER_BACKGROUND_COMPACTION_OK_LATENCY = 0 [(CounterOpts) = { @@ -277,15 +276,15 @@ enum EPercentileCounters { COUNTER_NUM_SHARDS_BY_TTL_LAG = 1 [(CounterOpts) = { Name: "NumShardsByTtlLag" Integral: true - Ranges { Value: 0 Name: "0" } - Ranges { Value: 900 Name: "900" } - Ranges { Value: 1800 Name: "1800" } - Ranges { Value: 3600 Name: "3600" } - Ranges { Value: 7200 Name: "7200" } - Ranges { Value: 14400 Name: "14400" } - Ranges { Value: 28800 Name: "28800" } - Ranges { Value: 57600 Name: "57600" } - Ranges { Value: 86400 Name: "inf" } + Ranges: { Value: 0 Name: "0" } + Ranges: { Value: 900 Name: "900" } + Ranges: { Value: 1800 Name: "1800" } + Ranges: { Value: 3600 Name: "3600" } + Ranges: { Value: 7200 Name: "7200" } + Ranges: { Value: 14400 Name: "14400" } + Ranges: { Value: 28800 Name: "28800" } + Ranges: { Value: 57600 Name: "57600" } + Ranges: { Value: 86400 Name: "86400" } }]; COUNTER_SHARDS_WITH_SEARCH_HEIGHT = 2 [(CounterOpts) = { @@ -322,21 +321,21 @@ enum EPercentileCounters { Ranges: { Value: 24 Name: "24" }, Ranges: { Value: 48 Name: "48" }, Ranges: { Value: 72 Name: "72" }, - Ranges: { Value: 168 Name: "inf" }, + Ranges: { Value: 168 Name: "168" }, }]; COUNTER_SHARDS_WITH_ROW_DELETES = 4 [(CounterOpts) = { Name: "ShardsWithRowDeletes", Integral: true, - Ranges: { Value: 0 Name: "0" }, - Ranges: { Value: 100 Name: "100" }, - Ranges: { Value: 1000 Name: "1000" }, - Ranges: { Value: 10000 Name: "10000" }, - Ranges: { Value: 100000 Name: "100000" }, - Ranges: { Value: 1000000 Name: "1000000" }, - Ranges: { Value: 10000000 Name: "10000000" }, - Ranges: { Value: 100000000 Name: "100000000" }, - Ranges: { Value: 1000000000 Name: "inf" }, + Ranges: { Value: 0 Name: "0" }, + Ranges: { Value: 100 Name: "100" }, + Ranges: { Value: 1000 Name: "1000" }, + Ranges: { Value: 10000 Name: "10000" }, + Ranges: { Value: 100000 Name: "100000" }, + Ranges: { Value: 1000000 Name: "1000000" }, + Ranges: { Value: 10000000 Name: "10000000" }, + Ranges: { Value: 100000000 Name: "100000000" }, + Ranges: { Value: 1000000000 Name: "1000000000" }, }]; } diff --git a/ydb/core/tablet/tablet_counters.cpp b/ydb/core/tablet/tablet_counters.cpp index b2ef0d4ad7..cda9bdbcd6 100644 --- a/ydb/core/tablet/tablet_counters.cpp +++ b/ydb/core/tablet/tablet_counters.cpp @@ -74,7 +74,7 @@ void TTabletPercentileCounter::OutputHtml(IOutputStream &os, const char* name) c } DIV_CLASS("row") { - for (ui32 i = 0; i < RangeCount; ++i) { + for (auto i: xrange(Ranges.size())) { DIV_CLASS("col-md-3") { PRE() { os << Ranges[i].RangeName << ": " << Values[i]; diff --git a/ydb/core/tablet/tablet_counters.h b/ydb/core/tablet/tablet_counters.h index 22dcc330e0..2f27ffa2ac 100644 --- a/ydb/core/tablet/tablet_counters.h +++ b/ydb/core/tablet/tablet_counters.h @@ -1,12 +1,17 @@ #pragma once #include "defs.h" -#include <util/generic/singleton.h> -#include <util/generic/vector.h> + +#include <ydb/core/protos/counters.pb.h> +#include <ydb/core/protos/tablet_counters.pb.h> + #include <library/cpp/deprecated/enum_codegen/enum_codegen.h> #include <library/cpp/monlib/service/pages/templates.h> + #include <google/protobuf/descriptor.pb.h> -#include <ydb/core/protos/counters.pb.h> -#include <ydb/core/protos/tablet_counters.pb.h> + +#include <util/generic/singleton.h> +#include <util/generic/vector.h> +#include <util/generic/xrange.h> //////////////////////////////////////////// namespace NKikimr { @@ -138,6 +143,15 @@ private: //////////////////////////////////////////// /// The TTabletPercentileCounter class //////////////////////////////////////////// +/// +/// 1. Buckets are right inclusive, i.e. (from; to]. +/// 2. Bucket bounds are non-negative integers. +/// 3. Extra inf bucket is added implicitly. +/// 4. Soon we will migrate to new solomon histograms, thus RangeName +/// will be ignored. In solomon/monitoring we will see only RangeVal bins. +/// +/// E.g. for ranges 10, 20, 30 buckets will be: [0; 10], (10; 20], (20; 30], (30; +inf). +/// For ranges 0, 10, 20: [0; 0], (0; 10], (10; 20], (20; +inf) class TTabletPercentileCounter : TNonCopyable { friend class TCountersArray<TTabletPercentileCounter>; public: @@ -147,7 +161,8 @@ public: const char* RangeName; friend bool operator <(const TRangeDef& x, const TRangeDef& y) { return x.RangeVal < y.RangeVal; } - friend bool operator <(const ui64 x, const TRangeDef& y) { return x < y.RangeVal; } + friend bool operator <(ui64 x, const TRangeDef& y) { return x < y.RangeVal; } + friend bool operator <(const TRangeDef& x, ui64 y) { return x.RangeVal < y; } }; template <ui32 rangeCount> @@ -159,6 +174,26 @@ public: Initialize(rangeCount, ranges, integral); } + void Initialize(ui32 rangeCount, const TRangeDef* ranges, bool integral) { + Y_VERIFY_DEBUG(Ranges.empty()); + Y_VERIFY_DEBUG(Values.empty()); + Y_VERIFY_DEBUG(rangeCount > 0); + + Ranges.resize(rangeCount + 1); + for (auto i: xrange(rangeCount)) { + Ranges[i].RangeName = ranges[i].RangeName; + Ranges[i].RangeVal = ranges[i].RangeVal; + } + Ranges[rangeCount].RangeName = InfName; + Ranges[rangeCount].RangeVal = Max<ui64>(); + + Integral = integral; + + Y_VERIFY_DEBUG(IsSorted()); + + Values.resize(Ranges.size()); + } + // mainly for use in tests TTabletPercentileCounter& AddFor(ui64 what, ui64 value) { ui32 index = FindSlot(what); @@ -186,7 +221,7 @@ public: } ui32 GetRangeCount() const { - return RangeCount; + return Ranges.size(); } const char* GetRangeName(ui32 index) const { @@ -202,7 +237,7 @@ public: } TVector<TRangeDef> GetRanges() const { - return TVector<TRangeDef>(Ranges, Ranges + RangeCount); + return Ranges; } bool GetIntegral() const { @@ -219,12 +254,12 @@ private: // void AdjustToBaseLine(const TTabletPercentileCounter& baseLine) { // - Y_VERIFY_DEBUG(RangeCount == baseLine.RangeCount); + Y_VERIFY_DEBUG(Ranges.size() == baseLine.Ranges.size()); if (Integral) { return; } - for (ui32 i = 0; i < RangeCount; ++i) { + for (auto i: xrange(Ranges.size())) { Y_VERIFY_DEBUG(Values[i] >= baseLine.Values[i]); Values[i] -= baseLine.Values[i]; } @@ -233,7 +268,8 @@ private: void Initialize(const TTabletPercentileCounter& rp) { // if (rp.IsInitialized()) { - Initialize(rp.RangeCount, rp.Ranges, rp.Integral); + Ranges = rp.Ranges; + Integral = rp.Integral; SetTo(rp); } } @@ -241,52 +277,35 @@ private: // void SetTo(const TTabletPercentileCounter& rp) { // - Y_VERIFY_DEBUG(RangeCount == rp.RangeCount); - for (ui32 i = 0; i < RangeCount; ++i) { - Values[i] = rp.Values[i]; - } + Y_VERIFY_DEBUG(Ranges.size() == rp.Ranges.size()); + Values = rp.Values; } public: - void Initialize(ui32 rangeCount, const TRangeDef* ranges, bool integral) { - Y_VERIFY_DEBUG(!Ranges); - Y_VERIFY_DEBUG(!Values); - Y_VERIFY_DEBUG(rangeCount > 0); - Y_VERIFY_DEBUG(ranges[0].RangeVal == 0); - - RangeCount = rangeCount; - Ranges = ranges; - Integral = integral; - - Y_VERIFY_DEBUG(IsSorted()); - - Values = TArrayHolder<ui64>(new ui64[RangeCount]()); - } - void Clear() { if (IsInitialized()) { - std::fill(&Values[0], &Values[RangeCount], 0); + std::fill(Values.begin(), Values.end(), 0); } } private: // ui32 FindSlot(ui64 what) const { - return Max<ssize_t>(0, std::upper_bound(Ranges, Ranges + RangeCount, what) - Ranges - 1); + return std::lower_bound(Ranges.begin(), Ranges.end(), what) - Ranges.begin(); } bool IsSorted() const { - return std::is_sorted(Ranges, Ranges + RangeCount); + return std::is_sorted(Ranges.begin(), Ranges.end()); } bool IsInitialized() const { - return RangeCount != 0; + return Ranges.size() != 0; } void Populate(const TTabletPercentileCounter& rp) { if (IsInitialized()) { - Y_VERIFY_DEBUG(RangeCount == rp.RangeCount); - for (ui32 i = 0; i < RangeCount; ++i) { + Y_VERIFY_DEBUG(Ranges.size() == rp.Ranges.size()); + for (auto i: xrange(Ranges.size())) { Values[i] += rp.Values[i]; } } else { @@ -294,12 +313,11 @@ private: } } - // - ui32 RangeCount = 0; - const TRangeDef* Ranges = nullptr; + TVector<TRangeDef> Ranges; + TVector<ui64> Values; bool Integral = false; - TArrayHolder<ui64> Values; + static constexpr const char* InfName = "inf"; }; //////////////////////////////////////////// diff --git a/ydb/core/tablet/tablet_counters_aggregator.cpp b/ydb/core/tablet/tablet_counters_aggregator.cpp index cb3229334b..ce470e1bbe 100644 --- a/ydb/core/tablet/tablet_counters_aggregator.cpp +++ b/ydb/core/tablet/tablet_counters_aggregator.cpp @@ -86,7 +86,7 @@ struct THistogramCounter { } void IncrementFor(ui64 value) { - const size_t i = Max<ssize_t>(0, std::upper_bound(Ranges.begin(), Ranges.end(), value) - Ranges.begin() - 1); + const size_t i = std::lower_bound(Ranges.begin(), Ranges.end(), value) - Ranges.begin(); Values[i]->Inc(); Histogram->Collect(value); @@ -336,7 +336,7 @@ public: PercentileCounters.reserve(hint); Histograms.reserve(hint); IsDerivative.reserve(hint); - ShiftedBucketBounds.reserve(hint); + BucketBounds.reserve(hint); CountersByTabletID.reserve(hint); } @@ -365,25 +365,12 @@ public: rangeCounters.push_back(counter); } - // Note that: - // 1. PercentileCounters always start from 0 range - // 2. Ranges in PercentileCounters are left inclusive, i.e. for ranges 0, 1, 2 buckets will be - // [0; 1), [1; 2), [2; +inf); - // 3. In monitoring's histogram buckets are right inclusive and can be negative, i.e. for ranges 0, 1, 2 - // buckets will be: (-inf; 0], (0; 1], (1; 2], (2; +inf). - // 4. Currently we shift PercentileCounters ranges so that original ranges 0, 1, 2 become 1, 2: - // (-inf; 1], (1; 2], (2; +inf). This is because values in proto are lower bounds - // new style + // note that inf bucket in histogram description is implicit NMonitoring::TBucketBounds bucketBounds; - for (ui32 r = 1; r < rangeCount; ++r) { - bucketBounds.push_back(percentileCounter.GetRangeBound(r)); - } - - // since we shift we need hack for hists with single bucket (though they are meaningless anyway), - // hist will be (-inf; range0], (range0; +inf). - if (bucketBounds.empty()) { - bucketBounds.push_back(percentileCounter.GetRangeBound(0)); + bucketBounds.reserve(rangeCount); + for (auto i: xrange(rangeCount - 1)) { + bucketBounds.push_back(percentileCounter.GetRangeBound(i)); } auto histogram = CounterGroup->GetHistogram( @@ -400,11 +387,11 @@ public: // we need this hack to access PercentileCounters by index easily skipping // hists we moved to simple/cumulative aggregates TCountersVector().swap(rangeCounters); - ShiftedBucketBounds.emplace_back(); + BucketBounds.emplace_back(); } else { - // note that this bound in histogram is implicit + // now save inf bound (note that in Percentile it is ui64, in Hist - double) bucketBounds.push_back(Max<NMonitoring::TBucketBound>()); - ShiftedBucketBounds.emplace_back(std::move(bucketBounds)); + BucketBounds.emplace_back(std::move(bucketBounds)); } // note that in case of histogramAggregate it will contain reference @@ -511,7 +498,7 @@ private: ui64 oldValue = snapshot->Value(i); ui64 negValue = 0UL - values[i]; ui64 newValue = oldValue + negValue; - histogram->Collect(ShiftedBucketBounds[counterIndex][i], newValue); + histogram->Collect(BucketBounds[counterIndex][i], newValue); } } @@ -520,7 +507,7 @@ private: auto& histogram = Histograms[counterIndex]; for (auto i: xrange(values.size())) { *percentileRanges[i] += values[i]; - histogram->Collect(ShiftedBucketBounds[counterIndex][i], values[i]); + histogram->Collect(BucketBounds[counterIndex][i], values[i]); } } @@ -530,7 +517,7 @@ private: for (auto i: xrange(percentileCounter.GetRangeCount())) { auto value = percentileCounter.GetRangeValue(i); *percentileRanges[i] += value; - histogram->Collect(ShiftedBucketBounds[counterIndex][i], value); + histogram->Collect(BucketBounds[counterIndex][i], value); } } @@ -542,9 +529,8 @@ private: TVector<NMonitoring::THistogramPtr> Histograms; // new style (bins) TVector<bool> IsDerivative; - // per percentile counter bounds. Note the shift: index0 is range1, - // hence array size is 1 less than original ranges count - TVector<NMonitoring::TBucketBounds> ShiftedBucketBounds; + // per percentile counter bounds. + TVector<NMonitoring::TBucketBounds> BucketBounds; // tabletId -> values using TCountersByTabletIDMap = THashMap<ui64, TValuesVec>; diff --git a/ydb/core/tablet/tablet_counters_aggregator_ut.cpp b/ydb/core/tablet/tablet_counters_aggregator_ut.cpp index a055fe1272..68897a5b99 100644 --- a/ydb/core/tablet/tablet_counters_aggregator_ut.cpp +++ b/ydb/core/tablet/tablet_counters_aggregator_ut.cpp @@ -190,12 +190,17 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { static std::vector<ui64> GetOldHistogram(TTestBasicRuntime& runtime, const char* name) { size_t index = PercentileNameToIndex(name); - const auto ranges = RangeDefs[index].first; - const auto rangeCount = RangeDefs[index].second; + auto rangesArray = RangeDefs[index].first; + auto rangeCount = RangeDefs[index].second; + + std::vector<TTabletPercentileCounter::TRangeDef> ranges(rangesArray, rangesArray + rangeCount); + ranges.push_back({}); + ranges.back().RangeName = "inf"; + ranges.back().RangeVal = Max<ui64>(); auto appCounters = GetAppCounters(runtime); std::vector<ui64> buckets; - for (auto i: xrange(rangeCount)) { + for (auto i: xrange(ranges.size())) { auto subGroup = appCounters->GetSubgroup("range", ranges[i].RangeName); auto sensor = subGroup->FindCounter(PercentileCountersMetaInfo[index]); if (sensor) { @@ -311,7 +316,7 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { runtime, "HIST(CountSingleBucket)", {0, 2}, - {2} + {0, 2} ); // sanity check we didn't mess other histograms @@ -319,22 +324,22 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 0, 0, 0}, - {0, 0, 0, 0} + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} ); TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {2, 0, 0, 0}, - {2, 0, 0, 0} + {2, 0, 0, 0, 0}, + {2, 0, 0, 0, 0} ); TTabletWithHist::CheckHistogram( runtime, "MyHistSingleBucket", {0, 0}, - {0} + {0, 0} ); } @@ -362,8 +367,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {1, 0, 0, 0}, - {0, 1, 0, 0} + {0, 1, 0, 0, 0}, + {0, 1, 0, 0, 0} ); TTabletWithHist tablet2(2); @@ -373,8 +378,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {1, 1, 0, 0}, - {0, 1, 1, 0} + {0, 1, 1, 0, 0}, + {0, 1, 1, 0, 0} ); TTabletWithHist tablet3(3); @@ -384,8 +389,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {2, 1, 0, 0}, - {0, 2, 1, 0} + {0, 2, 1, 0, 0}, + {0, 2, 1, 0, 0} ); tablet3.SetSimpleCount("Count", 13); @@ -394,8 +399,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {1, 2, 0, 0}, - {0, 1, 2, 0} + {0, 1, 2, 0, 0}, + {0, 1, 2, 0, 0} ); tablet3.ForgetTablet(runtime, aggregatorId, edge); @@ -403,8 +408,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {1, 1, 0, 0}, - {0, 1, 1, 0} + {0, 1, 1, 0, 0}, + {0, 1, 1, 0, 0} ); // sanity check we didn't mess other histograms @@ -412,22 +417,22 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 0, 0, 0}, - {0, 0, 0, 0} + {0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0} ); TTabletWithHist::CheckHistogram( runtime, "HIST(CountSingleBucket)", {2, 0}, - {2} + {2, 0} ); TTabletWithHist::CheckHistogram( runtime, "MyHistSingleBucket", {0, 0}, - {0} + {0, 0} ); } @@ -458,8 +463,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {0, 0, 0, 1}, - {0, 0, 0, 1} + {0, 0, 0, 0, 1}, + {0, 0, 0, 0, 1} ); TTabletWithHist tablet2(2); @@ -469,8 +474,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {0, 0, 0, 2}, - {0, 0, 0, 2} + {0, 0, 0, 0, 2}, + {0, 0, 0, 0, 2} ); } @@ -499,8 +504,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 1, 0, 0}, - {0, 1, 0, 0} + {0, 1, 0, 0, 0}, + {0, 1, 0, 0, 0} ); tablet1.UpdatePercentile("MyHist", 13); @@ -510,8 +515,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 1, 1, 0}, - {0, 1, 1, 0} + {0, 1, 1, 0, 0}, + {0, 1, 1, 0, 0} ); tablet1.UpdatePercentile("MyHist", 1); @@ -523,8 +528,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 3, 1, 1}, - {0, 3, 1, 1} + {0, 3, 1, 0, 1}, + {0, 3, 1, 0, 1} ); } @@ -560,8 +565,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 3, 1, 0}, // XXX - {0, 3, 1, 0} + {0, 3, 1, 0, 0}, + {0, 3, 1, 0, 0} ); tablet3.ForgetTablet(runtime, aggregatorId, edge); @@ -569,8 +574,8 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 2, 0, 0}, // XXX - {0, 2, 0, 0} + {0, 2, 0, 0, 0}, + {0, 2, 0, 0, 0} ); // sanity check we didn't mess other histograms @@ -578,22 +583,22 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "HIST(Count)", - {2, 0, 0, 0}, - {2, 0, 0, 0} + {2, 0, 0, 0, 0}, + {2, 0, 0, 0, 0} ); TTabletWithHist::CheckHistogram( runtime, "MyHistSingleBucket", {0, 0}, - {0} + {0, 0} ); TTabletWithHist::CheckHistogram( runtime, "HIST(CountSingleBucket)", {2, 0}, - {2} + {2, 0} ); } @@ -628,16 +633,16 @@ Y_UNIT_TEST_SUITE(TTabletCountersAggregator) { TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, v, 0, 0}, - {0, v, 0, 0} + {0, 0, v, 0, 0}, + {0, 0, v, 0, 0} ); tablet1.ForgetTablet(runtime, aggregatorId, edge); TTabletWithHist::CheckHistogram( runtime, "MyHist", - {0, 30, 0, 0}, - {0, 30, 0, 0} + {0, 0, 30, 0, 0}, + {0, 0, 30, 0, 0} ); } } diff --git a/ydb/core/tablet/tablet_counters_ut.cpp b/ydb/core/tablet/tablet_counters_ut.cpp new file mode 100644 index 0000000000..2f63a3225a --- /dev/null +++ b/ydb/core/tablet/tablet_counters_ut.cpp @@ -0,0 +1,153 @@ +#include "tablet_counters.h" + +#include <library/cpp/testing/unittest/registar.h> + +#include <util/generic/xrange.h> + +namespace NKikimr { + +Y_UNIT_TEST_SUITE(TTabletCountersPercentile) { + + static void CheckValues(const TTabletPercentileCounter& counter, const std::vector<ui64>& gold) { + UNIT_ASSERT_VALUES_EQUAL(counter.GetRangeCount(), gold.size()); + + std::vector<ui64> values; + values.reserve(gold.size()); + for (auto i: xrange(gold.size())) { + values.push_back(counter.GetRangeValue(i)); + } + + UNIT_ASSERT_VALUES_EQUAL(values, gold); + } + + static void CheckRanges( + const TTabletPercentileCounter& counter, + const std::vector<TTabletPercentileCounter::TRangeDef>& gold) + { + UNIT_ASSERT_VALUES_EQUAL(counter.GetRangeCount(), gold.size()); + for (auto i: xrange(gold.size())) { + const auto bound = counter.GetRangeBound(i); + const char* name = counter.GetRangeName(i); + UNIT_ASSERT_VALUES_EQUAL(bound, gold[i].RangeVal); + UNIT_ASSERT_VALUES_EQUAL(TStringBuf(name), TStringBuf(gold[i].RangeName)); + } + } + + Y_UNIT_TEST(SingleBucket) { + const TTabletPercentileCounter::TRangeDef ranges[1] = { + {0, "0"}, + }; + + std::vector<TTabletPercentileCounter::TRangeDef> goldRanges(ranges, ranges + 1); + goldRanges.push_back({Max<ui64>(), "inf"}); + + TTabletPercentileCounter counter; + counter.Initialize(ranges, true); + + CheckRanges(counter, goldRanges); + + counter.IncrementFor(0); + counter.IncrementFor(0); + + counter.IncrementFor(1); + counter.IncrementFor(2); + counter.IncrementFor(2); + counter.IncrementFor(3); + counter.IncrementFor(4); + counter.IncrementFor(1000); + + const std::vector<ui64> goldValues = {2, 6}; + CheckValues(counter, goldValues); + } + + Y_UNIT_TEST(WithoutZero) { + const TTabletPercentileCounter::TRangeDef ranges[4] = { + {1, "1"}, + {2, "2"}, + {10, "10"}, + {11, "11"}, + }; + + std::vector<TTabletPercentileCounter::TRangeDef> goldRanges(ranges, ranges + 4); + goldRanges.push_back({Max<ui64>(), "inf"}); + + TTabletPercentileCounter counter; + counter.Initialize(ranges, true); + + CheckRanges(counter, goldRanges); + + counter.IncrementFor(0); + counter.IncrementFor(0); + counter.IncrementFor(1); + + counter.IncrementFor(2); + counter.IncrementFor(2); + counter.IncrementFor(2); + counter.IncrementFor(2); + counter.IncrementFor(2); + + counter.IncrementFor(3); + counter.IncrementFor(4); + counter.IncrementFor(4); + counter.IncrementFor(10); + counter.IncrementFor(10); + counter.IncrementFor(10); + + counter.IncrementFor(11); + + counter.IncrementFor(12); + counter.IncrementFor(13); + counter.IncrementFor(100); + counter.IncrementFor(10000); + + const std::vector<ui64> goldValues = {3, 5, 6, 1, 4}; + CheckValues(counter, goldValues); + } + + Y_UNIT_TEST(StartFromZero) { + const TTabletPercentileCounter::TRangeDef ranges[5] = { + {0, "0"}, + {1, "1"}, + {2, "2"}, + {10, "10"}, + {11, "11"}, + }; + + std::vector<TTabletPercentileCounter::TRangeDef> goldRanges(ranges, ranges + 5); + goldRanges.push_back({Max<ui64>(), "inf"}); + + TTabletPercentileCounter counter; + counter.Initialize(ranges, true); + + CheckRanges(counter, goldRanges); + + counter.IncrementFor(0); + counter.IncrementFor(0); + + counter.IncrementFor(1); + + counter.IncrementFor(2); + counter.IncrementFor(2); + counter.IncrementFor(2); + counter.IncrementFor(2); + counter.IncrementFor(2); + + counter.IncrementFor(3); + counter.IncrementFor(4); + counter.IncrementFor(4); + counter.IncrementFor(10); + counter.IncrementFor(10); + counter.IncrementFor(10); + + counter.IncrementFor(11); + + counter.IncrementFor(13); + counter.IncrementFor(100); + counter.IncrementFor(10000); + + const std::vector<ui64> goldValues = {2, 1, 5, 6, 1, 3}; + CheckValues(counter, goldValues); + } +} + +} // NKikimr diff --git a/ydb/core/tablet/ut/ya.make b/ydb/core/tablet/ut/ya.make index 52440600e1..05c75eeb53 100644 --- a/ydb/core/tablet/ut/ya.make +++ b/ydb/core/tablet/ut/ya.make @@ -25,6 +25,7 @@ YQL_LAST_ABI_VERSION() SRCS( pipe_tracker_ut.cpp resource_broker_ut.cpp + tablet_counters_ut.cpp tablet_counters_aggregator_ut.cpp tablet_metrics_ut.cpp tablet_pipe_ut.cpp diff --git a/ydb/core/tablet_flat/flat_executor_counters.cpp b/ydb/core/tablet_flat/flat_executor_counters.cpp index ddecce5206..df1fd4732c 100644 --- a/ydb/core/tablet_flat/flat_executor_counters.cpp +++ b/ydb/core/tablet_flat/flat_executor_counters.cpp @@ -4,66 +4,62 @@ namespace NKikimr { namespace NTabletFlatExecutor { #define FLAT_EXECUTOR_LATENCY_RANGES(XX) \ - XX(0, "<200 us") \ - XX(200, "200-500 us") \ - XX(500, "0.5-1 ms") \ - XX(1000, "1-5 ms") \ - XX(5000, "5-20 ms") \ - XX(20000, "20-50 ms") \ - XX(50000, "50-200 ms") \ - XX(200000, "0.2-0.5 s") \ - XX(500000, "0.5-1 s") \ - XX(1000000, "1-4 s") \ - XX(40000000, "4-10 s") \ - XX(100000000, "10-30 s") \ - XX(300000000, "> 30s") + XX(500, "200-500 us") \ + XX(1000, "0.5-1 ms") \ + XX(5000, "1-5 ms") \ + XX(20000, "5-20 ms") \ + XX(50000, "20-50 ms") \ + XX(200000, "50-200 ms") \ + XX(500000, "0.2-0.5 s") \ + XX(1000000, "0.5-1 s") \ + XX(40000000, "1-4 s") \ + XX(100000000, "4-10 s") \ + XX(300000000, "10-30 s") #define FLAT_EXECUTOR_TOUCHED_BLOCKS(XX) \ - XX(0, "0 || 1") \ - XX(2, "2-10") \ - XX(10, "10-50") \ - XX(50, "50-200") \ - XX(200, "200-1000") \ - XX(1000, ">1000") + XX(0, "0") \ + XX(1, "1") \ + XX(10, "2-10") \ + XX(50, "10-50") \ + XX(200, "50-200") \ + XX(1000, "200-1000") #define FLAT_EXECUTOR_DATA_SIZE(XX) \ - XX(0ULL, "0") \ - XX(1ULL, "10240") \ - XX(10*1024ULL, "102400") \ - XX(100*1024ULL, "1048576") \ - XX(1024*1024ULL, "10485760") \ - XX(10*1024*1024ULL, "104857600") \ - XX(100*1024*1024ULL, "1073741824") \ - XX(1024*1024*1024ULL, "10737418240") \ - XX(10*1024*1024*1024ULL, "107374182400") \ - XX(100*1024*1024*1024ULL, "1099511627776") \ - XX(1024*1024*1024*1024ULL, "inf") + XX(0ULL, "0") \ + XX(10*1024ULL, "10240") \ + XX(100*1024ULL, "102400") \ + XX(1024*1024ULL, "1048576") \ + XX(10*1024*1024ULL, "10485760") \ + XX(100*1024*1024ULL, "104857600") \ + XX(1024*1024*1024ULL, "1073741824") \ + XX(10*1024*1024*1024ULL, "10737418240") \ + XX(100*1024*1024*1024ULL, "107374182400") \ + XX(1024*1024*1024*1024ULL, "1099511627776") #define FLAT_EXECUTOR_DATA_RATE(XX) \ - XX(0ULL, "0") \ - XX(1ULL, "10240") \ - XX(10*1024ULL, "102400") \ - XX(100*1024ULL, "1048576") \ - XX(1024*1024ULL, "10485760") \ - XX(10*1024*1024ULL, "104857600") \ - XX(100*1024*1024ULL, "1073741824") \ - XX(1024*1024*1024ULL, "10737418240") \ - XX(10*1024*1024*1024ULL, "107374182400") \ - XX(100*1024*1024*1024ULL, "1099511627776") \ - XX(1024*1024*1024*1024ULL, "inf") + XX(0ULL, "0") \ + XX(10*1024ULL, "10240") \ + XX(100*1024ULL, "102400") \ + XX(1024*1024ULL, "1048576") \ + XX(10*1024*1024ULL, "10485760") \ + XX(100*1024*1024ULL, "104857600") \ + XX(1024*1024*1024ULL, "1073741824") \ + XX(10*1024*1024*1024ULL, "10737418240") \ + XX(100*1024*1024*1024ULL, "107374182400") \ + XX(1024*1024*1024*1024ULL, "1099511627776") #define FLAT_EXECUTOR_CONSUMED_CPU_RANGES(XX) \ - XX(0, "0%") \ - XX(100, "10%") \ - XX(100000, "20%") \ - XX(200000, "30%") \ - XX(300000, "40%") \ - XX(400000, "50%") \ - XX(500000, "60%") \ - XX(600000, "70%") \ - XX(700000, "80%") \ - XX(800000, "90%") \ - XX(900000, "100%") + XX(0, "0%") \ + XX(100000, "10%") \ + XX(200000, "20%") \ + XX(300000, "30%") \ + XX(400000, "40%") \ + XX(500000, "50%") \ + XX(600000, "60%") \ + XX(700000, "70%") \ + XX(800000, "80%") \ + XX(900000, "90%") \ + XX(1000000, "100%") const char* TExecutorCounters::SimpleCounterNames[TExecutorCounters::SIMPLE_COUNTER_SIZE] = {FLAT_EXECUTOR_SIMPLE_COUNTERS_MAP(COUNTER_TEXT_ARRAY)}; |