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
We are duplicating the profiles per unit, when the profiles apply at the process level and they should likely be at the component level. For example looking at a log component implemented by Filebeat will show the following where the per unit profiles don't add any value.
Running into this while working on #2140, and there's a series of implementation and API issues that kind of lead to this:
In implementation, the elastic-agent-client will run any diagnostic callback (including the pprof diagnostics mentioned above) that are registered at the client level, and run them per-unit
in the protobuf API between the agent CLI and the agent server, the actual API call is DiagnosticUnits and it operates at the level of individual units; there's no component-level DiagnosticComponents protobuf call or anything.
In the protobuf API between the agent and the components, the diagnostic gets compressed down to a single ActionRequest_DIAGNOSTICS type.
So, I feel like the correct way to fix this would be to have a DiagnosticComponents API call, and then leverage the ActionRequest struct in some way so the client can differentiate between unit and component-level diagnostics. At that point we can properly fix the first issue of client-level callback registration.
Yeah I think the diagnostics API should have accounted for component diagnostics initially, but since it didn't the next best option is a DiagnosticsComponents API call.
We need a way to support process global diagnostics like CPU and heap profiles and this is the only way that makes sense long term.
We are duplicating the profiles per unit, when the profiles apply at the process level and they should likely be at the component level. For example looking at a log component implemented by Filebeat will show the following where the per unit profiles don't add any value.
The text was updated successfully, but these errors were encountered: