The purpose of normalizing addresses #4664
-
Hi! While studying Parca sources I noticed that addresses in locations get normalized, i.e translated from virtual addresses to symbol table addresses. I got two questions:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Due to unknown memory regions and layout across multiple processes and hosts (including things like ASLR), we may get the same address from two processes that may actually be the same once normalized. This is helpful because it means that we can duplicate locations across processes which saves storage and memory during querying. And in the future, we intend to use this same property to duplicate entire stacks so that the agent hashes stacks, sends only the stack hash to the server side, and only sends the entire stack with all its details if the server doesn't already know about it. |
Beta Was this translation helpful? Give feedback.
-
Thank you! It makes sense now |
Beta Was this translation helpful? Give feedback.
Due to unknown memory regions and layout across multiple processes and hosts (including things like ASLR), we may get the same address from two processes that may actually be the same once normalized. This is helpful because it means that we can duplicate locations across processes which saves storage and memory during querying.
And in the future, we intend to use this same property to duplicate entire stacks so that the agent hashes stacks, sends only the stack hash to the server side, and only sends the entire stack with all its details if the server doesn't already know about it.