16 Commits

Author SHA1 Message Date
gmega
5d0c201882
refactor asyncprofiler to make it more testable 2023-12-07 09:08:24 -03:00
gmega
256d0e7270
add some hacks to allow enabling profiling on specific threads, and guarding against enabling it on multiple 2023-12-07 09:07:00 -03:00
gmega
23f63251f5
add assertions to try to track threading errors 2023-12-07 09:07:00 -03:00
gmega
3c6ef3019f
allow configuration of profiler output volume from CLI option 2023-12-07 09:06:59 -03:00
gmega
e70c40cb45
fix counter update bug 2023-12-07 09:06:59 -03:00
gmega
b795d8a3f5
revert threadvars and add initialization to collector global instance 2023-12-07 09:06:59 -03:00
gmega
f048404cb7
add callback to eliminate the need for an async timer in metric updates 2023-12-07 09:06:59 -03:00
gmega
29d36b51f2
modify metrics collector so it uses standard gauges 2023-12-07 09:06:58 -03:00
gmega
b50469f6cc
rename metrics to follow codex conventions 2023-12-07 09:06:58 -03:00
gmega
c809af7dc7
add tests to main test suite, add global async profiler info collector 2023-12-07 09:06:58 -03:00
gmega
c4adc65823
rename ProfilingCollector => AsyncProfilerInfo to match nim-metrics naming convention 2023-12-07 09:06:57 -03:00
gmega
f16bccfcb6
add labeled top-k slowest async procs to prometheus collector 2023-12-07 09:06:57 -03:00
gmega
613e4c4038
add basic prometheus profiling metrics tracker 2023-12-07 09:06:57 -03:00
gmega
19d90191d8
order api results by descending totalExecTime (with option of adding a query parameter) 2023-12-07 09:06:56 -03:00
gmega
f99a516203
add simple profiling API 2023-12-07 09:06:51 -03:00
gmega
91d186b717
WiP 2023-12-07 09:04:47 -03:00