Skip to content

Commit 1155d58

Browse files
committed
changefeedccl: clean up blocking buffer metrics
This commit removes the blocking buffer metrics that were not broken down by buffer type (rangefeed and aggregator), with the exception of the memory accounting metrics, which have had the broken down versions removed because the breakdown was incorrect in their case. Fixes #147624 Removed because the buffer type breakdown was inappropriate: - changefeed.buffer_entries.allocated_mem.aggregator - changefeed.buffer_entries.allocated_mem.rangefeed - changefeed.buffer_entries_mem.acquired.aggregator - changefeed.buffer_entries_mem.acquired.rangefeed - changefeed.buffer_entries_mem.released.aggregator - changefeed.buffer_entries_mem.released.rangefeed Removed because the buffer type breakdown (eg changefeed.buffer_entries.flush.rangefeed) is sufficient: - changefeed.buffer_entries.flush - changefeed.buffer_entries.in - changefeed.buffer_entries.out - changefeed.buffer_entries.kv - changefeed.buffer_entries.released - changefeed.buffer_pushback_nanos Release note (ops change): Cleaned up several redundant and misleading metrics.
1 parent d94e6a6 commit 1155d58

File tree

10 files changed

+121
-266
lines changed

10 files changed

+121
-266
lines changed

docs/generated/metrics/metrics.yaml

Lines changed: 14 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,32 +1245,9 @@ layers:
12451245
unit: BYTES
12461246
aggregation: AVG
12471247
derivative: NONE
1248-
- name: changefeed.buffer_entries.allocated_mem.aggregator
1249-
exported_name: changefeed_buffer_entries_allocated_mem_aggregator
1250-
description: Current quota pool memory allocation - between the kvfeed and the sink
1251-
y_axis_label: Bytes
1252-
type: GAUGE
1253-
unit: BYTES
1254-
aggregation: AVG
1255-
derivative: NONE
1256-
- name: changefeed.buffer_entries.allocated_mem.rangefeed
1257-
exported_name: changefeed_buffer_entries_allocated_mem_rangefeed
1258-
description: Current quota pool memory allocation - between the rangefeed and the kvfeed
1259-
y_axis_label: Bytes
1260-
type: GAUGE
1261-
unit: BYTES
1262-
aggregation: AVG
1263-
derivative: NONE
1264-
- name: changefeed.buffer_entries.flush
1265-
exported_name: changefeed_buffer_entries_flush
1266-
description: Number of flush elements added to the buffer
1267-
y_axis_label: Events
1268-
type: COUNTER
1269-
unit: COUNT
1270-
aggregation: AVG
1271-
derivative: NON_NEGATIVE_DERIVATIVE
12721248
- name: changefeed.buffer_entries.flush.aggregator
12731249
exported_name: changefeed_buffer_entries_flush_aggregator
1250+
labeled_name: 'changefeed.buffer_entries.flush{buffer_type: aggregator}'
12741251
description: Number of flush elements added to the buffer - between the kvfeed and the sink
12751252
y_axis_label: Events
12761253
type: COUNTER
@@ -1279,22 +1256,16 @@ layers:
12791256
derivative: NON_NEGATIVE_DERIVATIVE
12801257
- name: changefeed.buffer_entries.flush.rangefeed
12811258
exported_name: changefeed_buffer_entries_flush_rangefeed
1259+
labeled_name: 'changefeed.buffer_entries.flush{buffer_type: rangefeed}'
12821260
description: Number of flush elements added to the buffer - between the rangefeed and the kvfeed
12831261
y_axis_label: Events
12841262
type: COUNTER
12851263
unit: COUNT
12861264
aggregation: AVG
12871265
derivative: NON_NEGATIVE_DERIVATIVE
1288-
- name: changefeed.buffer_entries.in
1289-
exported_name: changefeed_buffer_entries_in
1290-
description: Total entries entering the buffer between raft and changefeed sinks
1291-
y_axis_label: Entries
1292-
type: COUNTER
1293-
unit: COUNT
1294-
aggregation: AVG
1295-
derivative: NON_NEGATIVE_DERIVATIVE
12961266
- name: changefeed.buffer_entries.in.aggregator
12971267
exported_name: changefeed_buffer_entries_in_aggregator
1268+
labeled_name: 'changefeed.buffer_entries.in{buffer_type: aggregator}'
12981269
description: Total entries entering the buffer between raft and changefeed sinks - between the kvfeed and the sink
12991270
y_axis_label: Entries
13001271
type: COUNTER
@@ -1303,22 +1274,16 @@ layers:
13031274
derivative: NON_NEGATIVE_DERIVATIVE
13041275
- name: changefeed.buffer_entries.in.rangefeed
13051276
exported_name: changefeed_buffer_entries_in_rangefeed
1277+
labeled_name: 'changefeed.buffer_entries.in{buffer_type: rangefeed}'
13061278
description: Total entries entering the buffer between raft and changefeed sinks - between the rangefeed and the kvfeed
13071279
y_axis_label: Entries
13081280
type: COUNTER
13091281
unit: COUNT
13101282
aggregation: AVG
13111283
derivative: NON_NEGATIVE_DERIVATIVE
1312-
- name: changefeed.buffer_entries.kv
1313-
exported_name: changefeed_buffer_entries_kv
1314-
description: Number of kv elements added to the buffer
1315-
y_axis_label: Events
1316-
type: COUNTER
1317-
unit: COUNT
1318-
aggregation: AVG
1319-
derivative: NON_NEGATIVE_DERIVATIVE
13201284
- name: changefeed.buffer_entries.kv.aggregator
13211285
exported_name: changefeed_buffer_entries_kv_aggregator
1286+
labeled_name: 'changefeed.buffer_entries.kv{buffer_type: aggregator}'
13221287
description: Number of kv elements added to the buffer - between the kvfeed and the sink
13231288
y_axis_label: Events
13241289
type: COUNTER
@@ -1327,22 +1292,16 @@ layers:
13271292
derivative: NON_NEGATIVE_DERIVATIVE
13281293
- name: changefeed.buffer_entries.kv.rangefeed
13291294
exported_name: changefeed_buffer_entries_kv_rangefeed
1295+
labeled_name: 'changefeed.buffer_entries.kv{buffer_type: rangefeed}'
13301296
description: Number of kv elements added to the buffer - between the rangefeed and the kvfeed
13311297
y_axis_label: Events
13321298
type: COUNTER
13331299
unit: COUNT
13341300
aggregation: AVG
13351301
derivative: NON_NEGATIVE_DERIVATIVE
1336-
- name: changefeed.buffer_entries.out
1337-
exported_name: changefeed_buffer_entries_out
1338-
description: Total entries leaving the buffer between raft and changefeed sinks
1339-
y_axis_label: Entries
1340-
type: COUNTER
1341-
unit: COUNT
1342-
aggregation: AVG
1343-
derivative: NON_NEGATIVE_DERIVATIVE
13441302
- name: changefeed.buffer_entries.out.aggregator
13451303
exported_name: changefeed_buffer_entries_out_aggregator
1304+
labeled_name: 'changefeed.buffer_entries.out{buffer_type: aggregator}'
13461305
description: Total entries leaving the buffer between raft and changefeed sinks - between the kvfeed and the sink
13471306
y_axis_label: Entries
13481307
type: COUNTER
@@ -1351,22 +1310,16 @@ layers:
13511310
derivative: NON_NEGATIVE_DERIVATIVE
13521311
- name: changefeed.buffer_entries.out.rangefeed
13531312
exported_name: changefeed_buffer_entries_out_rangefeed
1313+
labeled_name: 'changefeed.buffer_entries.out{buffer_type: rangefeed}'
13541314
description: Total entries leaving the buffer between raft and changefeed sinks - between the rangefeed and the kvfeed
13551315
y_axis_label: Entries
13561316
type: COUNTER
13571317
unit: COUNT
13581318
aggregation: AVG
13591319
derivative: NON_NEGATIVE_DERIVATIVE
1360-
- name: changefeed.buffer_entries.released
1361-
exported_name: changefeed_buffer_entries_released
1362-
description: Total entries processed, emitted and acknowledged by the sinks
1363-
y_axis_label: Entries
1364-
type: COUNTER
1365-
unit: COUNT
1366-
aggregation: AVG
1367-
derivative: NON_NEGATIVE_DERIVATIVE
13681320
- name: changefeed.buffer_entries.released.aggregator
13691321
exported_name: changefeed_buffer_entries_released_aggregator
1322+
labeled_name: 'changefeed.buffer_entries.released{buffer_type: aggregator}'
13701323
description: Total entries processed, emitted and acknowledged by the sinks - between the kvfeed and the sink
13711324
y_axis_label: Entries
13721325
type: COUNTER
@@ -1375,22 +1328,16 @@ layers:
13751328
derivative: NON_NEGATIVE_DERIVATIVE
13761329
- name: changefeed.buffer_entries.released.rangefeed
13771330
exported_name: changefeed_buffer_entries_released_rangefeed
1331+
labeled_name: 'changefeed.buffer_entries.released{buffer_type: rangefeed}'
13781332
description: Total entries processed, emitted and acknowledged by the sinks - between the rangefeed and the kvfeed
13791333
y_axis_label: Entries
13801334
type: COUNTER
13811335
unit: COUNT
13821336
aggregation: AVG
13831337
derivative: NON_NEGATIVE_DERIVATIVE
1384-
- name: changefeed.buffer_entries.resolved
1385-
exported_name: changefeed_buffer_entries_resolved
1386-
description: Number of resolved elements added to the buffer
1387-
y_axis_label: Events
1388-
type: COUNTER
1389-
unit: COUNT
1390-
aggregation: AVG
1391-
derivative: NON_NEGATIVE_DERIVATIVE
13921338
- name: changefeed.buffer_entries.resolved.aggregator
13931339
exported_name: changefeed_buffer_entries_resolved_aggregator
1340+
labeled_name: 'changefeed.buffer_entries.resolved{buffer_type: aggregator}'
13941341
description: Number of resolved elements added to the buffer - between the kvfeed and the sink
13951342
y_axis_label: Events
13961343
type: COUNTER
@@ -1399,6 +1346,7 @@ layers:
13991346
derivative: NON_NEGATIVE_DERIVATIVE
14001347
- name: changefeed.buffer_entries.resolved.rangefeed
14011348
exported_name: changefeed_buffer_entries_resolved_rangefeed
1349+
labeled_name: 'changefeed.buffer_entries.resolved{buffer_type: rangefeed}'
14021350
description: Number of resolved elements added to the buffer - between the rangefeed and the kvfeed
14031351
y_axis_label: Events
14041352
type: COUNTER
@@ -1413,22 +1361,6 @@ layers:
14131361
unit: COUNT
14141362
aggregation: AVG
14151363
derivative: NON_NEGATIVE_DERIVATIVE
1416-
- name: changefeed.buffer_entries_mem.acquired.aggregator
1417-
exported_name: changefeed_buffer_entries_mem_acquired_aggregator
1418-
description: Total amount of memory acquired for entries as they enter the system - between the kvfeed and the sink
1419-
y_axis_label: Entries
1420-
type: COUNTER
1421-
unit: COUNT
1422-
aggregation: AVG
1423-
derivative: NON_NEGATIVE_DERIVATIVE
1424-
- name: changefeed.buffer_entries_mem.acquired.rangefeed
1425-
exported_name: changefeed_buffer_entries_mem_acquired_rangefeed
1426-
description: Total amount of memory acquired for entries as they enter the system - between the rangefeed and the kvfeed
1427-
y_axis_label: Entries
1428-
type: COUNTER
1429-
unit: COUNT
1430-
aggregation: AVG
1431-
derivative: NON_NEGATIVE_DERIVATIVE
14321364
- name: changefeed.buffer_entries_mem.released
14331365
exported_name: changefeed_buffer_entries_mem_released
14341366
description: Total amount of memory released by the entries after they have been emitted
@@ -1437,32 +1369,9 @@ layers:
14371369
unit: COUNT
14381370
aggregation: AVG
14391371
derivative: NON_NEGATIVE_DERIVATIVE
1440-
- name: changefeed.buffer_entries_mem.released.aggregator
1441-
exported_name: changefeed_buffer_entries_mem_released_aggregator
1442-
description: Total amount of memory released by the entries after they have been emitted - between the kvfeed and the sink
1443-
y_axis_label: Entries
1444-
type: COUNTER
1445-
unit: COUNT
1446-
aggregation: AVG
1447-
derivative: NON_NEGATIVE_DERIVATIVE
1448-
- name: changefeed.buffer_entries_mem.released.rangefeed
1449-
exported_name: changefeed_buffer_entries_mem_released_rangefeed
1450-
description: Total amount of memory released by the entries after they have been emitted - between the rangefeed and the kvfeed
1451-
y_axis_label: Entries
1452-
type: COUNTER
1453-
unit: COUNT
1454-
aggregation: AVG
1455-
derivative: NON_NEGATIVE_DERIVATIVE
1456-
- name: changefeed.buffer_pushback_nanos
1457-
exported_name: changefeed_buffer_pushback_nanos
1458-
description: Total time spent waiting while the buffer was full
1459-
y_axis_label: Nanoseconds
1460-
type: COUNTER
1461-
unit: NANOSECONDS
1462-
aggregation: AVG
1463-
derivative: NON_NEGATIVE_DERIVATIVE
14641372
- name: changefeed.buffer_pushback_nanos.aggregator
14651373
exported_name: changefeed_buffer_pushback_nanos_aggregator
1374+
labeled_name: 'changefeed.buffer_pushback_nanos{buffer_type: aggregator}'
14661375
description: Total time spent waiting while the buffer was full - between the kvfeed and the sink
14671376
y_axis_label: Nanoseconds
14681377
type: COUNTER
@@ -1471,6 +1380,7 @@ layers:
14711380
derivative: NON_NEGATIVE_DERIVATIVE
14721381
- name: changefeed.buffer_pushback_nanos.rangefeed
14731382
exported_name: changefeed_buffer_pushback_nanos_rangefeed
1383+
labeled_name: 'changefeed.buffer_pushback_nanos{buffer_type: rangefeed}'
14741384
description: Total time spent waiting while the buffer was full - between the rangefeed and the kvfeed
14751385
y_axis_label: Nanoseconds
14761386
type: COUNTER

pkg/ccl/changefeedccl/changefeed_processors.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ func (ca *changeAggregator) startKVFeed(
502502
}
503503
buf := kvevent.NewThrottlingBuffer(
504504
kvevent.NewMemBuffer(kvFeedMemMon.MakeBoundAccount(), &cfg.Settings.SV,
505-
&ca.metrics.KVFeedMetrics.AggregatorBufferMetricsWithCompat, options...),
505+
&ca.metrics.KVFeedMetrics.AggregatorBufferMetrics, options...),
506506
cdcutils.NodeLevelThrottler(&cfg.Settings.SV, &ca.metrics.ThrottleMetrics))
507507

508508
// KVFeed takes ownership of the kvevent.Writer portion of the buffer, while

pkg/ccl/changefeedccl/changefeed_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6411,10 +6411,10 @@ func TestChangefeedMonitoring(t *testing.T) {
64116411
if c := s.Server.MustGetSQLCounter(`changefeed.max_behind_nanos`); c != 0 {
64126412
t.Errorf(`expected %d got %d`, 0, c)
64136413
}
6414-
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.in`); c != 0 {
6414+
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.in.rangefeed`); c != 0 {
64156415
t.Errorf(`expected 0 got %d`, c)
64166416
}
6417-
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.out`); c != 0 {
6417+
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.out.rangefeed`); c != 0 {
64186418
t.Errorf(`expected 0 got %d`, c)
64196419
}
64206420
if c := s.Server.MustGetSQLCounter(`changefeed.schemafeed.table_metadata_nanos`); c != 0 {
@@ -6447,10 +6447,10 @@ func TestChangefeedMonitoring(t *testing.T) {
64476447
if c := s.Server.MustGetSQLCounter(`changefeed.max_behind_nanos`); c <= 0 {
64486448
return errors.Errorf(`expected > 0 got %d`, c)
64496449
}
6450-
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.in`); c <= 0 {
6450+
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.in.rangefeed`); c <= 0 {
64516451
return errors.Errorf(`expected > 0 got %d`, c)
64526452
}
6453-
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.out`); c <= 0 {
6453+
if c := s.Server.MustGetSQLCounter(`changefeed.buffer_entries.out.rangefeed`); c <= 0 {
64546454
return errors.Errorf(`expected > 0 got %d`, c)
64556455
}
64566456
switch c := s.Server.MustGetSQLCounter(`changefeed.schemafeed.table_history_scans`); {

pkg/ccl/changefeedccl/kvevent/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ go_test(
5959
"//pkg/util/hlc",
6060
"//pkg/util/leaktest",
6161
"//pkg/util/log",
62+
"//pkg/util/metric",
6263
"//pkg/util/mon",
6364
"//pkg/util/quotapool",
6465
"//pkg/util/randutil",

pkg/ccl/changefeedccl/kvevent/bench_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func BenchmarkMemBuffer(b *testing.B) {
4949
b.ResetTimer()
5050
b.ReportAllocs()
5151

52-
metrics := kvevent.MakeMetrics(time.Minute).AggregatorBufferMetricsWithCompat
52+
metrics := kvevent.MakeMetrics(time.Minute).AggregatorBufferMetrics
5353
st := cluster.MakeTestingClusterSettings()
5454

5555
buf := kvevent.NewMemBuffer(ba, &st.SV, &metrics)

pkg/ccl/changefeedccl/kvevent/blocking_buffer.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
// from a mon.BoundAccount and blocks if no resources are available.
2626
type blockingBuffer struct {
2727
sv *settings.Values
28-
metrics *PerBufferMetricsWithCompat
28+
metrics *PerBufferMetrics
2929
qp allocPool // Pool for memory allocations.
3030
signalCh chan struct{} // Signal when new events are available.
3131

@@ -54,7 +54,7 @@ type blockingBuffer struct {
5454
func NewMemBuffer(
5555
acc mon.BoundAccount,
5656
sv *settings.Values,
57-
metrics *PerBufferMetricsWithCompat,
57+
metrics *PerBufferMetrics,
5858
options ...BlockingBufferOption,
5959
) Buffer {
6060
return newMemBuffer(acc, sv, metrics, nil, options...)
@@ -65,7 +65,7 @@ func NewMemBuffer(
6565
func TestingNewMemBuffer(
6666
acc mon.BoundAccount,
6767
sv *settings.Values,
68-
metrics *PerBufferMetricsWithCompat,
68+
metrics *PerBufferMetrics,
6969
onWaitStart quotapool.OnWaitStartFunc,
7070
) Buffer {
7171
return newMemBuffer(acc, sv, metrics, onWaitStart)
@@ -74,7 +74,7 @@ func TestingNewMemBuffer(
7474
func newMemBuffer(
7575
acc mon.BoundAccount,
7676
sv *settings.Values,
77-
metrics *PerBufferMetricsWithCompat,
77+
metrics *PerBufferMetrics,
7878
onWaitStart quotapool.OnWaitStartFunc,
7979
options ...BlockingBufferOption,
8080
) Buffer {
@@ -488,7 +488,7 @@ func (r *memRequest) ShouldWait() bool {
488488

489489
type allocPool struct {
490490
*quotapool.AbstractPool
491-
metrics *PerBufferMetricsWithCompat
491+
metrics *PerBufferMetrics
492492
sv *settings.Values
493493
}
494494

0 commit comments

Comments
 (0)