Skip to content

Conversation

@cheb0
Copy link
Member

@cheb0 cheb0 commented Dec 30, 2025

Description

For some search requests, trace file looks like that:
Screenshot_20251230_113216

i.e. there are holes when we wait for wait group in Searcher. I decided to expand explain entry as follows:

          {
            "duration": "302.14541ms",
            "message": "store/Search",
            "children": [
              {
                "duration": "17.553µs",
                "message": "parse query"
              },
              {
                "duration": "301.703205ms",
                "message": "search iteratively"
              },
              {
                "duration": "928.536095ms",
                "message": "search iteratively (cpu time)"
              },
              {
                "duration": "265.08246ms",
                "message": "waiting goroutines (all cores)"
              }
            ]
          }

i.e. number waiting goroutines shows how much time we spent waiting and we could do (and probable did) other work. However, if we processing a single search request at a time, then this time is essentially wasted. Obviously, this metric is not absolutely honest, system might have been significantly overloaded.

Numbers track times across all cores and do look odd, but I didn't find any other better way. I suppose we could do that, because explain entries are not loaded to tracing storage and we do not visualize them anywhere.


  • I have read and followed all requirements in CONTRIBUTING.md;
  • I used LLM/AI assistance to make this pull request;

@codecov-commenter
Copy link

codecov-commenter commented Dec 30, 2025

Codecov Report

❌ Patch coverage is 67.74194% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.40%. Comparing base (660acaf) to head (0c70ee4).

Files with missing lines Patch % Lines
fracmanager/searcher.go 66.66% 9 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #305      +/-   ##
==========================================
- Coverage   71.60%   71.40%   -0.21%     
==========================================
  Files         204      204              
  Lines       14737    14763      +26     
==========================================
- Hits        10553    10541      -12     
- Misses       3431     3470      +39     
+ Partials      753      752       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@eguguchkin eguguchkin added this to the v0.65.0 milestone Jan 19, 2026
@github-actions
Copy link
Contributor

🔴 Performance Degradation

Some benchmarks have degraded compared to the previous run.
Click on Show table button to see full list of degraded benchmarks.

Show table
Name Previous Current Ratio Verdict
FindSequence_Random/medium-4 660aca cea676
8453.30 MB/s 6996.09 MB/s 0.83 🔴
121.10 ns/op 146.40 ns/op 1.21 🔴
Indexer-4 660aca cea676
544073502.00 B/op 644523841.00 B/op 1.18 🔴

@eguguchkin eguguchkin merged commit a81b353 into main Jan 22, 2026
8 checks passed
@eguguchkin eguguchkin deleted the 0-fix-track-searcher-holes branch January 22, 2026 10:00
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.

5 participants