As I mentioned at today's IRC meeting - we have a need to include measuring the performance of the OVN control channel under scale as part of our CI/CD test suite, which is driving us to examine the feasibility of some sort of lightweight instrumentation of ovsdb-server, ovn-controller, and ovn-northd. While I'm familiar with the counters that are dumped during an excessive poll cycle, those don't entirely meet our needs, as I am looking for something that allows for the amount of clock time spent in each method as our starting point.
The reason for the "lightweight" adjective above is that we are looking to run the same code base in both CI/CD and production, and that means attaching a profiler to the code base is contra-indicated. My initial thought is to create a new general arg (--profile) that sets a boolean (for example is_profiling), then define a macro like the following: #define INSTRUMENT(x) (if (is_profiling) { VLOG_DEBUG(x); }) and then decorating methods with INSTRUMENT at its start and exit. But, this is an awful lot of decorating and visual noise and so before pushing a large patch series, I wanted to throw the idea on the table and let people pick it apart. Ryan (regXboi)
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss