You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In general, if the VM contains introspection data, we extract it from the VM ELF directly. This is the case for e.g. HotSpot, V8 and to some pieces of Python.
However, several interpreters (Perl, PHP, Ruby, pieces of Python) need to track the introspection data (structure member offsets, sizes etc.) to be able to extract the symbolization information. This information is recorded in the HA code and looked up based on the VM version.
Tracking this information is currently manual work to some extent. Some gdb scripting that can automate extracting this from the debug data is done already for PHP and Ruby.
Success Criteria
Ideally we construct a consistent framework so that this information can be automatically extracted and stored in a database (e.g. JSON encoded file, some local database, or even some network accessible database).
The HA interpreter plugin code should be updated to use the framework to get the introspection data from this database.
If a new interpreter version comes and there is no breaking changing on the internals, adding support for it should be as easy as running the scripting to builds new introspection data entry and committing it. Code changes should not be required.
Some interpreters like perl may have build-time options that affect the layout of the structures. This should be accommodated in the design.
The text was updated successfully, but these errors were encountered:
Problem Statement
In general, if the VM contains introspection data, we extract it from the VM ELF directly. This is the case for e.g. HotSpot, V8 and to some pieces of Python.
However, several interpreters (Perl, PHP, Ruby, pieces of Python) need to track the introspection data (structure member offsets, sizes etc.) to be able to extract the symbolization information. This information is recorded in the HA code and looked up based on the VM version.
Tracking this information is currently manual work to some extent. Some gdb scripting that can automate extracting this from the debug data is done already for PHP and Ruby.
Success Criteria
Ideally we construct a consistent framework so that this information can be automatically extracted and stored in a database (e.g. JSON encoded file, some local database, or even some network accessible database).
The HA interpreter plugin code should be updated to use the framework to get the introspection data from this database.
If a new interpreter version comes and there is no breaking changing on the internals, adding support for it should be as easy as running the scripting to builds new introspection data entry and committing it. Code changes should not be required.
Some interpreters like perl may have build-time options that affect the layout of the structures. This should be accommodated in the design.
The text was updated successfully, but these errors were encountered: