FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Add starts with filter options by brancz · Pull Request #6062 · parca-dev/parca · GitHub

Add starts with filter options - #6062

Merged
brancz merged 4 commits into
mainfrom
claude/add-starts-with-filters-01So4CKa83NkKVG2Zmm1nV1d
Nov 28, 2025
Merged

Add starts with filter options#6062
brancz merged 4 commits into
mainfrom
claude/add-starts-with-filters-01So4CKa83NkKVG2Zmm1nV1d

Conversation

brancz commented Nov 24, 2025

Copy link
Copy Markdown
Member

This commit adds two new string filter types to match "contains" and "does not contain":

  • starts_with: matches strings that start with the specified prefix
  • not_starts_with: matches strings that do not start with the specified prefix

Changes:

  • proto: Added starts_with and not_starts_with fields to StringCondition message
  • backend: Updated matchesStringCondition() to handle new filter types using bytes.HasPrefix
  • frontend UI: Added "Starts With" and "Not Starts With" options to filter dropdown
  • frontend types: Updated ProfileFilter interface and createStringCondition() for new match types
  • tests: Added 4 comprehensive tests covering stack and frame filters with both new filter types

The implementation follows the same pattern as existing contains/not_contains filters, with case-insensitive matching and proper null handling.

brancz requested review from a team as code owners November 24, 2025 12:09

alwaysmeticulous Bot commented Nov 24, 2025
edited
Loading

Copy link
Copy Markdown

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

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

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

claude and others added 4 commits November 26, 2025 15:10
This commit adds two new string filter types to match "contains" and "does not contain":
- starts_with: matches strings that start with the specified prefix
- not_starts_with: matches strings that do not start with the specified prefix

Changes:
- proto: Added starts_with and not_starts_with fields to StringCondition message
- backend: Updated matchesStringCondition() to handle new filter types using bytes.HasPrefix
- frontend UI: Added "Starts With" and "Not Starts With" options to filter dropdown
- frontend types: Updated ProfileFilter interface and createStringCondition() for new match types
- tests: Added 4 comprehensive tests covering stack and frame filters with both new filter types

The implementation follows the same pattern as existing contains/not_contains filters,
with case-insensitive matching and proper null handling.
The NotStartsWith filter was being treated as a positive condition, causing
incorrect filter logic. Stack filters with negative conditions need ALL
functions to not match (AND logic), while positive conditions need ANY
function to match (OR logic).

Fixed in 4 functions:
- handleUnsymbolizedFunctionCondition
- matchesFunctionNameInRange
- matchesSystemNameInRange
- matchesFilenameInRange

This fixes the failing TestStackFilterFunctionNameNotStartsWith test.
NewRecordReader now returns (reader, error) instead of just reader.
Updated all 4 test cases to handle the error return value.
brancz force-pushed the claude/add-starts-with-filters-01So4CKa83NkKVG2Zmm1nV1d branch from 73c3cdf to e29dc18 Compare November 26, 2025 15:11
brancz merged commit 3d45d5d into main Nov 28, 2025
38 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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


Back | FazBrowse Home | New Git URL