https://github.com/nektro/zig-tracy
Zig bindings for the Tracy profiler.
https://github.com/nektro/zig-tracy
zig-package
Last synced: 8 months ago
JSON representation
Zig bindings for the Tracy profiler.
- Host: GitHub
- URL: https://github.com/nektro/zig-tracy
- Owner: nektro
- License: mit
- Created: 2021-01-07T05:40:12.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-04-09T09:41:58.000Z (about 3 years ago)
- Last Synced: 2025-04-04T08:11:11.641Z (about 1 year ago)
- Topics: zig-package
- Language: Zig
- Homepage:
- Size: 23.4 KB
- Stars: 75
- Watchers: 3
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-zig - zig-tracy🗒️Zig bindings for the Tracy profiler
README
# zig-tracy

[](https://github.com/nektro/zig-tracy/blob/master/LICENSE)
[](https://discord.gg/P6Y4zQC)
Zig integration for the Tracy profiler.
https://github.com/wolfpld/tracy
Currently uses tracy v0.7.8
## Adding to your project
Using the https://github.com/nektro/zigmod package manager.
```yml
root_dependencies:
- src: git https://github.com/nektro/zig-tracy
```
## Adding it to your code
```zig
const tracy = @import("tracy");
fn function_i_wish_to_trace() void {
const t = tracy.trace(@src(), null);
defer t.end();
// ...
// the rest of the function body
}
```
The second parameter to `trace` can be used to give a name to the zone,
otherwise it will simply be the inferred function name and location in the
source code.
```zig
const tracy = @import("tracy");
fn main() !void {
var quit = false;
while (!quit) {
const frame = tracy.frame(null);
defer frame.end();
// ...
// the rest of the loop
}
}
```
## Building
```
$ zigmod fetch
$ zig build -Dtarget=native-native-gnu.2.18
```
## License
MIT