diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2024-10-22 11:34:46 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2024-10-22 11:34:46 -0400 |
commit | b0645835595f3517223329ba62f46277d3e3a9dd (patch) | |
tree | a2b523c3beff518dcbec55663185d6ff70ae5097 /indra/llmessage/llcachename.h | |
parent | 8e737a5d45157426cb84927170a78baea2106813 (diff) |
Make llcoro::scheduler log coros that run too long between yields.
Introduce LLCoros::CoroData::mHistogram, a map of cutoff times (bucket
breakpoints) with counts of occurrences. The idea is that mHistogram counts
how many times the real time taken by a particular coroutine resumption falls
into one of those buckets. Initialize the map with guessed buckets; these are
set in llcoros.cpp so they can be changed without requiring extensive rebuilds.
scheduler::pick_next() now records the timestamp and fiber context just before
the fiber manager resumes the next coroutine. If the next pick_next() call
reveals that the previous resumption took longer than the minimum bucket
breakpoint, it increments the appropriate bucket counter and logs the instance.
LLCoros::toplevel() reports nonzero mHistogram entries on coroutine
termination.
Diffstat (limited to 'indra/llmessage/llcachename.h')
0 files changed, 0 insertions, 0 deletions