-
Notifications
You must be signed in to change notification settings - Fork 424
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
feat!: data field decode types #4353
base: main
Are you sure you want to change the base?
Conversation
|
||
switch argType { | ||
case u8T: | ||
case trace.U8_T: |
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.
How about reducing the size of readArgFromBuff()
by replacing the switch/if branches with an already initialized array containing pointer functions for each type (ebpfMsgDecoder.Decode*
)?
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.
This is basically the planned next step. I plan to move the decoding mapping to a hash map similar to the processor and derive functions. In this way we, and plugin authors, can easily introduce new decoding strategies.
A useful example already exists in the code: we have two different submission formats for string arrays. Therefore we have a single "presentation type" with two "decoding strategies".
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.
@geyslan I've opted not to make this step in this PR but rather in a followup so that we merge smaller chunks at a time as this is a large scale change.
15f5ce3
to
d48f44c
Compare
74d839d
to
9df64bd
Compare
9df64bd
to
03e90d1
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.
Not sure what we are trying to achieve in this PR
The PR has two goals:
Currently only the first goal is achieved. |
f56e9bc
to
8fc7341
Compare
5fe70f2
to
c951d66
Compare
ecc5fde
to
ba4d5e8
Compare
ba4d5e8
to
9e4e121
Compare
9e4e121
to
4787f8f
Compare
1. Reduce the type variance in data fields via hardcoding possible types decodable from the kernel. 2. Move data field decode types to the types/trace package 3. Make corresponding changes in eBPF and test code
Move some functions around, rename and improve documentation.
(Almost) all event data type field names (post-decode) should now conform to go type names. This will ensure a more consistent and simpler format for event data.
4787f8f
to
5ea5944
Compare
1. Explain what the PR does
9e4e121 chore(integration): align to data decode types
14aa920 feat!(events): normalise data presentation types
d915bdd chore(bufferdecoder): readability refactors
d4892fa feat(events): streamline event data decoding types
14aa920 feat!(events): normalise data presentation types
d915bdd chore(bufferdecoder): readability refactors
d4892fa feat(events): streamline event data decoding types
2. Explain how to test it
3. Other comments