Skip to content

Commit 5d8ea32

Browse files
committed
Add metrics on segment merges
1 parent 7fc9907 commit 5d8ea32

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

src/Index.zig

+3
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ const TieredMergePolicy = @import("segment_merge_policy.zig").TieredMergePolicy;
3131

3232
const filefmt = @import("filefmt.zig");
3333

34+
const metrics = @import("metrics.zig");
3435
const Self = @This();
3536

3637
const Options = struct {
@@ -273,6 +274,7 @@ fn maybeMergeFileSegments(self: *Self) !bool {
273274

274275
self.file_segments.commitUpdate(&upd);
275276
// log.debug("committed file segments merge", .{});
277+
metrics.fileSegmentMerge();
276278

277279
return true;
278280
}
@@ -316,6 +318,7 @@ fn maybeMergeMemorySegments(self: *Self) !bool {
316318

317319
self.memory_segments.commitUpdate(&upd);
318320
// log.debug("committed memory segments merge", .{});
321+
metrics.memorySegmentMerge();
319322

320323
self.maybeScheduleCheckpoint();
321324

src/metrics.zig

+16-4
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ const m = @import("metrics");
33
var metrics = m.initializeNoop(Metrics);
44

55
const Metrics = struct {
6-
searches: m.Counter(u32),
7-
updates: m.Counter(u32),
6+
searches: m.Counter(u64),
7+
updates: m.Counter(u64),
8+
memory_segment_merges: m.Counter(u64),
9+
file_segment_merges: m.Counter(u64),
810
};
911

1012
pub fn search() void {
@@ -15,10 +17,20 @@ pub fn update(count: usize) void {
1517
metrics.updates.incrBy(@intCast(count));
1618
}
1719

20+
pub fn memorySegmentMerge() void {
21+
metrics.memory_segment_merges.incr();
22+
}
23+
24+
pub fn fileSegmentMerge() void {
25+
metrics.file_segment_merges.incr();
26+
}
27+
1828
pub fn initializeMetrics(comptime opts: m.RegistryOpts) !void {
1929
metrics = .{
20-
.searches = m.Counter(u32).init("searches_total", .{}, opts),
21-
.updates = m.Counter(u32).init("updates_total", .{}, opts),
30+
.searches = m.Counter(u64).init("searches_total", .{}, opts),
31+
.updates = m.Counter(u64).init("updates_total", .{}, opts),
32+
.memory_segment_merges = m.Counter(u64).init("memory_segment_merges_total", .{}, opts),
33+
.file_segment_merges = m.Counter(u64).init("file_segment_merges_total", .{}, opts),
2234
};
2335
}
2436

0 commit comments

Comments
 (0)