-
Notifications
You must be signed in to change notification settings - Fork 29
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
Support pre-populating caches (pre-parsing data structures etc.) #433
Comments
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 10, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 10, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 10, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 10, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 10, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 11, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 11, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 11, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
d-e-s-o
added a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 11, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
danielocfb
pushed a commit
to d-e-s-o/blazesym
that referenced
this issue
Feb 11, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: libbpf#433 Signed-off-by: Daniel Müller <[email protected]>
danielocfb
pushed a commit
that referenced
this issue
Feb 11, 2025
Users may legitimately be interested in being able to symbolize addresses inside a process even if the process has exited in the meantime. To support such use cases, introduce a new top-level API to the Symbolizer: the cache() method allows for caching various data pertaining a symbolization source. At this point we only support caching of process VMA metadata, but in the future we can support pre-parsing ELF and DWARF metadata and similar, which could speed up symbolization requests significantly. Refs: #433 Signed-off-by: Daniel Müller <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently we only populate caches as part of the symbolization (or inspection) process. However, it may be beneficial to add support for pre-populating caches, so that symbolization (or inspection...) can be as fast as possible, even on the first run. This is more of an advanced use case, but it could be useful in some setups.
A bit of a complication may be that for DWARF at least, parsing of data structures is on-demand. So we only cache data structures necessary to satisfy a specific request. But with pre-population there is no request. So presumably we'd need to parse everything. But I'd think that's fine.
The text was updated successfully, but these errors were encountered: