Skip to content

Add frame filters to exclude async and error handling functions#6196

Merged
brancz merged 2 commits into
mainfrom
claude/add-frame-filter-predicates-v81YU
Feb 9, 2026
Merged

Add frame filters to exclude async and error handling functions#6196
brancz merged 2 commits into
mainfrom
claude/add-frame-filter-predicates-v81YU

Conversation

@brancz
Copy link
Copy Markdown
Member

@brancz brancz commented Feb 9, 2026

Summary

This PR adds additional frame filtering rules to two profile filter presets to exclude common async runtime and error handling functions from profiling views.

Key Changes

  • Async preset: Added 5 new filters to exclude:

    • Functions starting with poll (async polling)
    • Closures ({closure#)
    • Async blocks ({async_block#)
    • invoke function calls
    • Async functions ({async_fn#)
  • Default preset: Added 3 new filters to exclude:

    • catch_unwind< (panic catching)
    • call_once< (one-time function calls)
    • do_call< (internal call wrappers)

Implementation Details

These filters use the not_starts_with and not_equal match types on the function_name field to exclude frames that are typically part of the async runtime machinery or error handling infrastructure. This helps reduce noise in profile views by filtering out internal framework functions that are less relevant to application-level performance analysis.

https://claude.ai/code/session_014AR8EUAyaeqpQuAhb5tEA9

Add 5 predicates to hide_rust_futures (poll, {closure#, {async_block#,
invoke, {async_fn#) and 3 to hide_rust_panic_backtrace (catch_unwind<,
call_once<, do_call<) to filter out common Rust async/futures and
panic infrastructure frames from profiles.

https://claude.ai/code/session_014AR8EUAyaeqpQuAhb5tEA9
@brancz brancz requested a review from a team as a code owner February 9, 2026 09:48
@alwaysmeticulous
Copy link
Copy Markdown

alwaysmeticulous Bot commented Feb 9, 2026

✅ Meticulous spotted 0 visual differences across 342 screens tested: view results.

Meticulous evaluated ~4 hours of user flows against your PR.

Expected differences? Click here. Last updated for commit 8474297. This comment will update as new commits are pushed.

Add "not contains tokio::runtime" to hide_tokio_frames, and "not equals
run", "not starts with try_poll" to hide_rust_futures. Skip "not starts
with poll" as it already exists.

https://claude.ai/code/session_014AR8EUAyaeqpQuAhb5tEA9
@brancz brancz merged commit 97ba561 into main Feb 9, 2026
38 checks passed
@brancz brancz deleted the claude/add-frame-filter-predicates-v81YU branch February 9, 2026 10:21
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.

3 participants