parca-agent icon indicating copy to clipboard operation
parca-agent copied to clipboard

When agent sends profiling to backend, it always wait for backend to return the stacktrace IDs needing symbolization

Open lingpeng0314 opened this issue 8 months ago • 3 comments

Just didn't get why we design the behavior:

When agent sends profiling to backend, it always wait for backend to return the stacktrace IDs needing symbolization. Then returns the stacktraces to backend again.

And checking parca server code, it always returns all IDs in request to fetch the symbolization directly.

Why don't we just send profiling data with symbolization directly? Because seems except native code, all symbolization is finished in agent side right?

lingpeng0314 avatar Apr 27 '25 03:04 lingpeng0314

The one reason i can understand is, after we send the symbolization info to backed first time, server can cache them and for additional request, no need to do the symbolization job in agent side again to save resource.

lingpeng0314 avatar Apr 27 '25 03:04 lingpeng0314

And we should have no metadata creation in backend right? The bager cache should only be cached when query.

lingpeng0314 avatar Apr 27 '25 10:04 lingpeng0314

You're exactly right, that backends have the option to cache stacks, and that allows the network bandwidth to be reduced. It's essentially a memory to network bandwidth trade-off.

brancz avatar Apr 29 '25 15:04 brancz