cdqp / anyloop

Simple, extensible, plugin-based feedback loop software, with a primary focus on supporting adaptive optics applications.
Mozilla Public License 2.0
3 stars 3 forks source link

add device profiler #5

Closed wooosh closed 1 year ago

wooosh commented 1 year ago

Implements the -p/--profile flags, and prints a summary of the mean, min, and max times it took each device to complete its processing step.

Example output:

13:17:26 INFO  ../libaylp/profile.c:85:                           URI |        mean |         min |         max
13:17:26 INFO  ../libaylp/profile.c:92: file:build/plugin_example.so  |   0.0269 ms |   0.0019 ms |   0.0390 ms
13:17:26 INFO  ../libaylp/profile.c:92: anyloop:vonkarman_stream      |   0.0017 ms |   0.0005 ms |   0.0041 ms
13:17:26 INFO  ../libaylp/profile.c:92: anyloop:delay                 | 100.0644 ms | 100.0596 ms | 100.0704 ms
13:17:26 INFO  ../libaylp/profile.c:92: anyloop:udp_sink              |   0.0603 ms |   0.0435 ms |   0.0812 ms
13:17:26 INFO  ../libaylp/profile.c:92: anyloop:file_sink             |   0.0054 ms |   0.0010 ms |   0.0164 ms
13:17:26 INFO  ../libaylp/profile.c:92: anyloop:stop_after_count      |   0.0004 ms |   0.0002 ms |   0.0006 ms
13:17:26 INFO  ../libaylp/profile.c:92: anyloop:delay                 | 400.0678 ms | 400.0664 ms | 400.0685 ms
imyxh commented 1 year ago

looks great! thanks so much :)