Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try to use fiber support to implement proper support for non-hierarchical tracing spans #35

Open
nagisa opened this issue Apr 26, 2022 · 1 comment

Comments

@nagisa
Copy link
Owner

nagisa commented Apr 26, 2022

Tracing spans don't need to be hierarchical, it is entirely possible to have spans looking like this

| -- S1 -- |
   | -- S2 -- |
      | -- S3 -- |

Tracy itself requires however that all spans entered in a single thread share a strong hierarchical relationship and requires that S2 and S3 both terminate before S1.

Tracy recently introduced support for fibers which, to the best of my knowledge, should give enough control to properly represent non-hierarchical spans like these.

@nagisa nagisa changed the title Use fiber support to implement proper support for non-hierarchical tracing spans Try to use fiber support to implement proper support for non-hierarchical tracing spans Apr 26, 2022
nagisa added a commit that referenced this issue Jun 11, 2022
Fibers introduce a significant overhead to each invocation of Tracy
instrumentation calls, which in turn makes all tracing instrumentation
points (with callstack collection disabled) 2x slower than they could
be.

I anticipate that `fibers` still may become unconditional requirement in
the future due to #35, but there's no reason to impose that overhead on
users today.
nagisa added a commit that referenced this issue Jun 11, 2022
Fibers introduce a significant overhead to each invocation of Tracy
instrumentation calls, which in turn makes all tracing instrumentation
points (with callstack collection disabled) 2x slower than they could
be.

I anticipate that `fibers` still may become unconditional requirement in
the future due to #35, but there's no reason to impose that overhead on
users today.
nagisa added a commit that referenced this issue Jun 11, 2022
Fibers introduce a significant overhead to each invocation of Tracy
instrumentation calls, which in turn makes all tracing instrumentation
points (with callstack collection disabled) 2x slower than they could
be.

I anticipate that `fibers` still may become unconditional requirement in
the future due to #35, but there's no reason to impose that overhead on
users today.
@nagisa
Copy link
Owner Author

nagisa commented Jun 11, 2022

A downside to this is a significant increase in instrumentation overhead when the fibers feature is enabled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant