BMC Performance Profiler
andrew at aj.id.au
Mon Oct 26 13:02:27 AEDT 2020
> Requirements and Scalability:
> * Should provide the adequate functionalities to filter, visualize the
> events timeline, and group the DBus traffic based on multiple criteria
> such as type, source, destination, path, interface, demon signatures,
> and more.
Probably the most common thing I've used dbus-pcap for is finding ugly latencies in long IPC call chains (i.e. more than one hop). This, among other insane ideas (boot process simulation via IPMI message replay), was the motivation for writing it.
Probably the most useful thing I've implemented in dbus-pcap (aside from the general filtering capabilities) was method call tracking. A harder problem is identifying complete call trees in the message timeline (filtering out unrelated messages). Generally this requires a bunch of manual work with getting the filters right in the dbus-pcap invocation, as it requires knowledge of the implementation of each daemon. Did you have any ideas for making this easier? My brief thought is to recursively identify the service targeted by a method call and to track calls from this service until it sends the reply message to the caller, though this gets messier with ASIO-based daemons.
More information about the openbmc