Skip to documentation
SLOP

tiny.tracy.record

Reference tiny.tracy record

Defined in tiny.tracy.

API (4)

Actions

Public operations.

Types and contracts

Public types and contracts.

No direct callersNo direct callstiny.tracyrecord
Static calls · unresolved targets: unknown · external targets: unknown.

Source

Called byCallsNo direct callersrecordparseLinerecordparseEventLine
Static calls · unresolved targets: 0 · external targets: 0.
Called byCallsrecordparseEventLinetest sourcelib.tracy.src.recordtest: record parser dispatches events...test sourcelib.tracy.src.recordtest: record parser rejects unknown s...eventparseLinetransportparseLinerecordparseLine
Static calls · unresolved targets: 0 · external targets: 0.

Source: lib/tracy/src/record.zig

zig
const std = @import("std");const event = @import("event.zig");const transport = @import("transport.zig");pub const Parsed = union(enum) {    event: event.Parsed,    flight: transport.Report,    pub fn deinit(self: *Parsed) void {        switch (self.*) {            .event => |*parsed| parsed.deinit(),            .flight => {},        }        self.* = undefined;    }};pub fn parseLine(allocator: std.mem.Allocator, line: []const u8) !Parsed {    const parsed = event.parseLine(allocator, line) catch |err| switch (err) {        error.UnsupportedTraceSchema => return .{            .flight = try transport.parseLine(allocator, line),        },        else => return err,    };    return .{ .event = parsed };}pub fn parseEventLine(allocator: std.mem.Allocator, line: []const u8) !?event.Parsed {    return switch (try parseLine(allocator, line)) {        .event => |parsed| parsed,        .flight => null,    };}test "record parser dispatches events and flight reports" {    var event_line = std.Io.Writer.Allocating.init(std.testing.allocator);    defer event_line.deinit();    try (event.TraceEvent{ .seq = 7, .kind = .message }).writeJsonLine(&event_line.writer);    var parsed_event = try parseLine(std.testing.allocator, event_line.written());    defer parsed_event.deinit();    try std.testing.expectEqual(@as(u64, 7), parsed_event.event.seq);    var report_line = std.Io.Writer.Allocating.init(std.testing.allocator);    defer report_line.deinit();    const report: transport.Report = .{        .policy = .overwrite_oldest,        .state = .accepting,        .capacity_bytes = 64,        .retained_bytes = 32,        .event_capacity_bytes = 16,        .writer_capacity_bytes = 8,        .observed_events = 5,        .stored_events = 5,        .retained_events = 3,        .overwritten_events = 2,        .dropped_events = 0,        .oversized_events = 0,        .partial_event_bytes = 0,        .discarding_oversized_event = false,    };    try report.writeJsonl(&report_line.writer);    var parsed_report = try parseLine(std.testing.allocator, report_line.written());    defer parsed_report.deinit();    try std.testing.expectEqual(@as(u64, 2), parsed_report.flight.overwritten_events);}test "record parser rejects unknown schemas" {    try std.testing.expectError(        error.UnsupportedTraceSchema,        parseLine(std.testing.allocator, "{\"schema\":\"future/v0\"}"),    );}

Source: lib/tracy/src/root.zig:56

zig
pub const record = @import("record.zig");

Audit

Definitions5
Public names5
Members2
Version26.7.0
Revisiondaab053ee433