tiny.memtrace.Context
Defined in context.
API (15)
Actions
Public operations.
disabledenabledenterenterIntervalinitrecordrecordCountrecordCountPrefixedrecordPrefixedrecordsCensustracesAllocationswithIntervals
Fields and members
Public fields and members.
Source
Source: lib/memtrace/src/context.zig:52
zig
pub const Context = struct { tracer: ?*tracer_mod.Tracer = null, census: ?*census_mod.Census = null, intervals: ?IntervalSink = null, pub fn init(tracer: ?*tracer_mod.Tracer, census: ?*census_mod.Census) Context { return .{ .tracer = tracer, .census = census, }; } pub fn disabled() Context { return .{}; } pub fn tracesAllocations(self: Context) bool { return self.tracer != null; } pub fn recordsCensus(self: Context) bool { return self.census != null; } pub fn enabled(self: Context) bool { return self.tracesAllocations() or self.recordsCensus() or self.intervals != null; } pub fn withIntervals(self: Context, intervals: ?IntervalSink) Context { var result = self; result.intervals = intervals; return result; } pub fn enter(self: Context, label: []const u8) !Span { const actual = self.tracer orelse return .{}; return .{ .scope = try actual.enter(label) }; } pub fn enterInterval(self: Context, category: u8) IntervalSpan { const sink = self.intervals orelse return .{}; const token = sink.begin(category); if (token == IntervalSink.invalid_token) return .{}; return .{ .sink = sink, .token = token }; } pub fn record(self: Context, label: []const u8, bytes: usize) !void { const actual = self.census orelse return; try actual.record(label, bytes); } pub fn recordPrefixed(self: Context, prefix: []const u8, label: []const u8, bytes: usize) !void { const actual = self.census orelse return; try actual.recordPrefixed(prefix, label, bytes); } pub fn recordCount(self: Context, label: []const u8, count: usize, bytes: usize) !void { const actual = self.census orelse return; try actual.recordCount(label, count, bytes); } pub fn recordCountPrefixed(self: Context, prefix: []const u8, label: []const u8, count: usize, bytes: usize) !void { const actual = self.census orelse return; try actual.recordCountPrefixed(prefix, label, count, bytes); }};Source: lib/memtrace/src/root.zig:55
zig
pub const Context = context_mod.Context;Audit
| Definitions | 13 |
|---|---|
| Public names | 26 |
| Members | 3 |
| Version | 26.7.0 |
| Revision | daab053ee433 |