Skip to content

Commit 029a36e

Browse files
committed
feat(metarepos): add metric for count of commit result history
This patch defines metrics for count of commif result hostory.
1 parent b88a6c1 commit 029a36e

18 files changed

+267
-152
lines changed

internal/metarepos/metadata_repository_metrics.go

+15-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ type metricsBag struct {
1111
requests metric.Int64UpDownCounter
1212
records sync.Map
1313
counts sync.Map
14+
gauges sync.Map
1415
}
1516

1617
func newMetricsBag(mt metric.Meter) *metricsBag {
@@ -44,8 +45,21 @@ func (mb *metricsBag) Counts(name string) metric.Int64Counter {
4445
if err != nil {
4546
panic(err)
4647
}
47-
f, _ = mb.records.LoadOrStore(name, r)
48+
f, _ = mb.counts.LoadOrStore(name, r)
4849
}
4950

5051
return f.(metric.Int64Counter)
5152
}
53+
54+
func (mb *metricsBag) Gauges(name string) metric.Int64Gauge {
55+
f, ok := mb.gauges.Load(name)
56+
if !ok {
57+
r, err := mb.mt.Int64Gauge(name)
58+
if err != nil {
59+
panic(err)
60+
}
61+
f, _ = mb.gauges.LoadOrStore(name, r)
62+
}
63+
64+
return f.(metric.Int64Gauge)
65+
}

internal/metarepos/raft_metadata_repository.go

+3
Original file line numberDiff line numberDiff line change
@@ -965,6 +965,9 @@ func (mr *RaftMetadataRepository) applyCommit(r *mrpb.Commit, appliedIndex uint6
965965
mr.storage.TrimLogStreamCommitHistory(trimVer) //nolint:errcheck,revive // TODO:: Handle an error returned.
966966
}
967967

968+
mr.tmStub.mb.Gauges("mr.commit.history.count").Record(ctx,
969+
int64(mr.storage.getLastCommitResultsNoLock().GetVersion())-int64(mr.storage.getFirstCommitResultsNoLock().GetVersion())+1)
970+
968971
mr.reportCollector.Commit()
969972

970973
// TODO:: trigger next commit

proto/admpb/admin.pb.go

+9-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/errpb/errors.pb.go

+2-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/mrpb/management.pb.go

+6-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/mrpb/metadata_repository.pb.go

+8-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/mrpb/mock/mrpb_mock.go

+70
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/mrpb/raft_entry.pb.go

+7-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/mrpb/raft_metadata_repository.pb.go

+5-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/rpcbenchpb/rpcbench.pb.go

+4-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/snpb/log_io.pb.go

+7-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

proto/snpb/log_iopb_test.go

+6-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)