Skip to content

Clarify flamegraph feature measures span timing, not CPU time#84

Merged
johncarmack1984 merged 2 commits into
mainfrom
docs/flamegraph-clarification
Jan 14, 2026
Merged

Clarify flamegraph feature measures span timing, not CPU time#84
johncarmack1984 merged 2 commits into
mainfrom
docs/flamegraph-clarification

Conversation

@johncarmack1984
Copy link
Copy Markdown
Collaborator

Summary

  • Rename "Performance Profiling" to "Span Timing Visualization" throughout docs
  • Explain what the feature actually measures (wall-clock span durations)
  • Document good use cases (understanding call hierarchy, finding latency bottlenecks)
  • Note limitations (not suitable for CPU profiling, especially in async code)
  • Point users to CPU profiling alternatives (Instruments, samply, perf)

This sets correct expectations for users who might otherwise expect traditional CPU profiling.

Update documentation to set correct expectations:
- Rename "Performance Profiling" to "Span Timing Visualization"
- Explain what the feature measures (wall-clock span durations)
- Document good use cases (call hierarchy, latency bottlenecks)
- Note limitations (not suitable for CPU profiling async code)
- Point users to CPU profiling alternatives (Instruments, samply, perf)
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jan 14, 2026

Package Changes Through f92aad0

There are 2 changes which include tracing with prerelease, tracing-js with prerelease

Planned Package Versions

The following package releases are the planned based on the context of changes in this pull request.

package current next
tracing 0.2.0-canary.19 0.2.0-canary.20
tracing-js 0.2.0-canary.19 0.2.0-canary.20

Add another change file through the GitHub UI by following this link.


Read about change files or the docs at github.com/jbolda/covector

@johncarmack1984 johncarmack1984 merged commit 061b015 into main Jan 14, 2026
8 checks passed
@johncarmack1984 johncarmack1984 deleted the docs/flamegraph-clarification branch January 14, 2026 05:53
@github-actions github-actions Bot mentioned this pull request Jan 14, 2026
johncarmack1984 pushed a commit that referenced this pull request Jan 14, 2026
# Version Updates

Merging this PR will release new versions of the following packages
based on your change files.




# tracing

## [0.2.0-canary.20]
- 061b015 (#84 by @johncarmack1984) Clarify that the flamegraph feature
measures span timing (wall-clock time), not CPU time. Updated
documentation with appropriate use cases and limitations.
- 675d209 (#82 by @johncarmack1984) Switch to public package publishing:
Rust on crates.io, npm with public access.



# tracing-js

## [0.2.0-canary.20]
- 061b015 (#84 by @johncarmack1984) Clarify that the flamegraph feature
measures span timing (wall-clock time), not CPU time. Updated
documentation with appropriate use cases and limitations.
- 675d209 (#82 by @johncarmack1984) Switch to public package publishing:
Rust on crates.io, npm with public access.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions Bot mentioned this pull request Jan 14, 2026
johncarmack1984 pushed a commit that referenced this pull request Jan 14, 2026
# Version Updates

Merging this PR will release new versions of the following packages
based on your change files.




# tracing

## [0.3.0]
- 061b015 (#84 by @johncarmack1984) Clarify that the flamegraph feature
measures span timing (wall-clock time), not CPU time. Updated
documentation with appropriate use cases and limitations.
- b059e9f (#73 by @johncarmack1984) Release 0.2.0 stable.
    
    **Highlights:**
    
- Add `flamegraph` feature for performance profiling with
flamegraph/flamechart generation
    -   Add `WebviewLayer` for custom subscriber setups
- Add file logging with rotation (`with_file_logging()`,
`with_rotation()`, `with_max_file_size()`)
- Add `StripAnsiWriter` for clean file output when using colored
terminal output
- Add custom filter support (`filter()`) and custom layer support
(`with_layer()`)
- Add format options (`with_format()`, `with_file()`,
`with_line_number()`, etc.)
    -   Add timezone strategy for log timestamps
    -   Add per-target log level filtering (`with_target()`)
- Add `takeoverConsole()` for full console integration (JS → Rust →
browser)
- Add `interceptConsole()` and `attachConsole()` for flexible console
routing
- Add early initialization support for flamegraph
(`create_flame_layer_with_path()`)
- Add clippy lints to deny `unwrap()`/`expect()` in production code
- Remove `timing` feature (use native `console.time()` or tracing spans
instead)
- 829732c (#87 by @johncarmack1984) Remove private registry
configuration.
- 437dab0 (#85 by @johncarmack1984) Shorten README, link to docs.rs for
details.
- 675d209 (#82 by @johncarmack1984) Switch to public package publishing:
Rust on crates.io, npm with public access.



# tracing-js

## [0.3.0]
- 061b015 (#84 by @johncarmack1984) Clarify that the flamegraph feature
measures span timing (wall-clock time), not CPU time. Updated
documentation with appropriate use cases and limitations.
- b059e9f (#73 by @johncarmack1984) Release 0.2.0 stable.
    
    **Highlights:**
    
- Add `flamegraph` feature for performance profiling with
flamegraph/flamechart generation
    -   Add `WebviewLayer` for custom subscriber setups
- Add file logging with rotation (`with_file_logging()`,
`with_rotation()`, `with_max_file_size()`)
- Add `StripAnsiWriter` for clean file output when using colored
terminal output
- Add custom filter support (`filter()`) and custom layer support
(`with_layer()`)
- Add format options (`with_format()`, `with_file()`,
`with_line_number()`, etc.)
    -   Add timezone strategy for log timestamps
    -   Add per-target log level filtering (`with_target()`)
- Add `takeoverConsole()` for full console integration (JS → Rust →
browser)
- Add `interceptConsole()` and `attachConsole()` for flexible console
routing
- Add early initialization support for flamegraph
(`create_flame_layer_with_path()`)
- Add clippy lints to deny `unwrap()`/`expect()` in production code
- Remove `timing` feature (use native `console.time()` or tracing spans
instead)
- 829732c (#87 by @johncarmack1984) Remove private registry
configuration.
- 437dab0 (#85 by @johncarmack1984) Shorten README, link to docs.rs for
details.
- 675d209 (#82 by @johncarmack1984) Switch to public package publishing:
Rust on crates.io, npm with public access.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.

1 participant