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. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
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]
whereuid
andmsg
are 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:Beta Was this translation helpful? Give feedback.
All reactions