- 
                Notifications
    You must be signed in to change notification settings 
- Fork 701
fix: add read-path stub creation for unsymbolized profiles #4494
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
Conversation
| Check #4470 - this case may be already covered | 
689424b    to
    971291a      
    Compare
  
    971291a    to
    dad7f49      
    Compare
  
    a95c059    to
    7820238      
    Compare
  
    7820238    to
    fbfe8f3      
    Compare
  
    There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
| does this only fix pprof query? and not tree query? | 
| 
 Yes, you're right. It needs to be applied to tree as well to update the flamegraph. It'll just work for pprof (export)... Going to update it | 
| Closing this PR since this needs to be done at the query backend level since we skip the locations there; so we don't have them available in the query frontend. Since this would imply a bigger change, I'm closing this and creating an issue to address it in the future. Closing this PR since this needs to be done at the query backend level, where we skip the locations; so we don't have them available in the query frontend. Since this would imply a bigger change, I'm closing this and creating an issue to properly address it. | 

Fixes #4383
Problem
After commit ac947a1 removed stub creation, unsymbolized OTLP profiles were skipped when symbolizer is disabled. If the symbolizer is enabled, symbolizer itself will populate those stubs.
Fix
Create stubs at query time. When symbolizer is disabled and blocks have
unsymbolized profiles, generate stubs functions like
"libjvm.so 0xcafebabe".Why read-path? Preserves raw profiles in storage, allowing future symbolization when users toggle the symbolizer on.
Considerations
We could also try adding those stubs at ingest time. However, if symbolizer is enabled, the system would skip stub functions preventing real symbolization unless we re-process data or implement stub detection logic