Skip to content
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

Open
danielocfb opened this issue Nov 28, 2023 · 0 comments
Open

Support pre-populating caches (pre-parsing data structures etc.) #433

danielocfb opened this issue Nov 28, 2023 · 0 comments

Comments

@danielocfb
Copy link
Collaborator

danielocfb commented Nov 28, 2023

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.

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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant