authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2023-11-21 11:04:05 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2023-11-21 11:04:05 -08:00
log8a131831d745b58fa687f10917e0b7fb60600122
tree9c2f6a40c28a991e3d86ee4b2d02c026eefba9d0
parente5b21467c891fe9a2956358a38b496a5d9a174fc

add dir param to init_thread to not hardcode path in chrome+spall


7 files changed, 16 insertions(+), 12 deletions(-)

README.md+1-1
...@@ -55,7 +55,7 @@ Any custom backend may also be used that defines the following functions:...@@ -55,7 +55,7 @@ Any custom backend may also be used that defines the following functions:
5555
56- `pub fn init() !void`56- `pub fn init() !void`
57- `pub fn deinit() void`57- `pub fn deinit() void`
58- `pub fn init_thread() !void`58- `pub fn init_thread(dir: std.fs.Dir) !void`
59- `pub fn deinit_thread() void`59- `pub fn deinit_thread() void`
60- `pub inline fn trace_begin(ctx: tracer.Ctx, comptime ifmt: []const u8, iargs: anytype) void`60- `pub inline fn trace_begin(ctx: tracer.Ctx, comptime ifmt: []const u8, iargs: anytype) void`
61- `pub inline fn trace_end(ctx: tracer.Ctx) void`61- `pub inline fn trace_end(ctx: tracer.Ctx) void`
src/chrome.zig+3-3
...@@ -19,11 +19,11 @@ pub fn deinit() void {...@@ -19,11 +19,11 @@ pub fn deinit() void {
19 //19 //
20}20}
2121
22pub fn init_thread() !void {22pub fn init_thread(dir: std.fs.Dir) !void {
23 tid = std.os.linux.gettid();23 tid = std.os.linux.gettid();
2424
25 path = try std.fmt.allocPrint(alloc, "/data/trace.{d}.{d}.chrome.json", .{ pid, tid });25 path = try std.fmt.allocPrint(alloc, "trace.{d}.{d}.chrome.json", .{ pid, tid });
26 file = try std.fs.cwd().createFile(path, .{});26 file = try dir.createFile(path, .{});
27 buffered_writer = std.io.bufferedWriter(file.writer());27 buffered_writer = std.io.bufferedWriter(file.writer());
2828
29 try buffered_writer.writer().writeAll("[\n");29 try buffered_writer.writer().writeAll("[\n");
src/log.zig+3-1
...@@ -6,7 +6,9 @@ pub fn init() !void {}...@@ -6,7 +6,9 @@ pub fn init() !void {}
66
7pub fn deinit() void {}7pub fn deinit() void {}
88
9pub fn init_thread() !void {}9pub fn init_thread(dir: std.fs.Dir) !void {
10 _ = dir;
11}
1012
11pub fn deinit_thread() void {}13pub fn deinit_thread() void {}
1214
src/main.zig+1-1
...@@ -17,7 +17,7 @@ pub fn main() !void {...@@ -17,7 +17,7 @@ pub fn main() !void {
17 // main loop17 // main loop
18 var go = false;18 var go = false;
19 while (go) {19 while (go) {
20 try tracer.init_thread();20 try tracer.init_thread(std.fs.cwd());
21 defer tracer.deinit_thread();21 defer tracer.deinit_thread();
2222
23 handler();23 handler();
src/mod.zig+2-2
...@@ -17,8 +17,8 @@ pub fn deinit() void {...@@ -17,8 +17,8 @@ pub fn deinit() void {
17 impl.deinit();17 impl.deinit();
18}18}
1919
20pub fn init_thread() !void {20pub fn init_thread(dir: ?std.fs.Dir) !void {
21 try impl.init_thread();21 try impl.init_thread(dir orelse std.fs.cwd());
22 started = true;22 started = true;
23}23}
2424
src/none.zig+3-1
...@@ -6,7 +6,9 @@ pub fn init() !void {}...@@ -6,7 +6,9 @@ pub fn init() !void {}
66
7pub fn deinit() void {}7pub fn deinit() void {}
88
9pub fn init_thread() !void {}9pub fn init_thread(dir: std.fs.Dir) !void {
10 _ = dir;
11}
1012
11pub fn deinit_thread() void {}13pub fn deinit_thread() void {}
1214
src/spall.zig+3-3
...@@ -19,11 +19,11 @@ pub fn deinit() void {...@@ -19,11 +19,11 @@ pub fn deinit() void {
19 //19 //
20}20}
2121
22pub fn init_thread() !void {22pub fn init_thread(dir: std.fs.Dir) !void {
23 tid = std.os.linux.gettid();23 tid = std.os.linux.gettid();
2424
25 path = try std.fmt.allocPrint(alloc, "/data/trace.{d}.{d}.spall", .{ pid, tid });25 path = try std.fmt.allocPrint(alloc, "{d}.{d}.spall", .{ pid, tid });
26 file = try std.fs.cwd().createFile(path, .{});26 file = try dir.createFile(path, .{});
27 buffered_writer = std.io.bufferedWriter(file.writer());27 buffered_writer = std.io.bufferedWriter(file.writer());
2828
29 try buffered_writer.writer().writeStruct(Header{});29 try buffered_writer.writer().writeStruct(Header{});