Reconsider Profiling #284
andre-merzky
started this conversation in
Ideas
Replies: 1 comment 2 replies
|
As we previously discussed, I would use the opportunity to change the way in which we record and write to disk events in RCT at runtime. The idea would be to have a centralized 'tracer' component that get all the events from all the other components via ZMQ. This would have multiple benefits, notably: reducing/eliminating the overhead of component-level profiler; avoiding to have to deal with 'thread-safety' issues when writing to disk the traces; and, relevant to this discussion, enable configurable events for each component. |
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The number of entries in our profiles is becoming unwieldy - it is increasingly difficult to compute the required performance metrics (durations, utilizations) from those profiles.
Here is a proposal on how to reduce the number of events, the size of events, and the required computational effort.
Current profile entries are structured like this:
Some observations:
comp_*), and are only interested in events for stateful entities (pilot, tasks, pipelines, stages, requests, etc)I would suggest to reduce the above profile to this format:
and thus limit the recorded fields to
[time, event, uid, msg]whereuidandmsgare optional, and entries w/ouid's should be rare. State transitions are special named events, so it is easier to address them in the same analysis:All reactions