aclysma / profiling

Provides a very thin abstraction over instrumented profiling crates like puffin, optick, tracy, and superluminal-perf.
Apache License 2.0
319 stars 39 forks source link

Upgrade to tracy-client 0.14 #38

Closed LPGhatguy closed 1 year ago

LPGhatguy commented 2 years ago

tracy-client 0.14 released recently, compatible with Tracy 0.8.1.

LPGhatguy commented 2 years ago

My hope with this PR was to add support for Tracy 0.8.2, but even tracy-client doesn't support that yet. Oops.

aclysma commented 1 year ago

Sorry I keep forgetting to come back to this. I'm tempted to skip this version because the changes since 0.13 seem like code cleanup and doesn't really affect the behavior to an end-user. It also doesn't support 0.8.2, which I think is what you were really after. What do you think?

LPGhatguy commented 1 year ago

Seems reasonable to me. I'm really after 0.8.2 support, yeah, so this is probably not a very materially-interesting upgrade unless the broader ecosystem wants to upgrade for some other reason.

aclysma commented 1 year ago

Wanted to mention 0.18 of tracy-client-sys was recently published and it works with tracy 0.8.2, but doing this:

tracy-client = { version = "0.14", optional = true }
tracy-client-sys = { version = "0.18.0", optional = true }

Doesn't result in actually using the newer tracy-client-sys library. tracy-client needs to be republished for this to take effect. I would ping the author of tracy-client if there is something important in the new code you are wanting to use.

% cargo tree --features="profile-with-tracy"
profiling v1.0.6 (/Users/pmd/dev/rust/profiling)
├── profiling-procmacros v1.0.6 (proc-macro) (/Users/pmd/dev/rust/profiling/profiling-procmacros)
│   ├── quote v1.0.21
│   │   └── proc-macro2 v1.0.43
│   │       └── unicode-ident v1.0.4
│   └── syn v1.0.100
│       ├── proc-macro2 v1.0.43 (*)
│       ├── quote v1.0.21 (*)
│       └── unicode-ident v1.0.4
├── tracy-client v0.14.0
│   ├── once_cell v1.15.0
│   └── tracy-client-sys v0.17.1
│       [build-dependencies]
│       └── cc v1.0.73
│           └── jobserver v0.1.24
│               └── libc v0.2.133
└── tracy-client-sys v0.18.0
    [build-dependencies]
    └── cc v1.0.73 (*)

I'm going to close the PR for now since I think we are going to wait until at least 0.8.2 bindings are available before updating.

Latias94 commented 1 year ago

After the tracy-client v0.14.1 has released, I think the 0.8.2 tracy binding should work now.