mirror of
https://github.com/matrix-construct/construct
synced 2024-09-30 04:38:52 +02:00
ircd::ios: Add a queued handler counter to stats.
This commit is contained in:
parent
1d45f0bc5b
commit
74778bd024
3 changed files with 11 additions and 1 deletions
|
@ -97,6 +97,7 @@ struct ircd::ios::descriptor
|
|||
|
||||
struct ircd::ios::descriptor::stats
|
||||
{
|
||||
uint64_t queued {0};
|
||||
uint64_t calls {0};
|
||||
uint64_t faults {0};
|
||||
uint64_t allocs {0};
|
||||
|
@ -160,7 +161,10 @@ ircd::ios::handle<function>::handle(ios::descriptor &d,
|
|||
function&& f)
|
||||
:handler{&d}
|
||||
,f{std::forward<function>(f)}
|
||||
{}
|
||||
{
|
||||
assert(d.stats);
|
||||
d.stats->queued++;
|
||||
}
|
||||
|
||||
template<class function>
|
||||
template<class... args>
|
||||
|
@ -168,6 +172,9 @@ void
|
|||
ircd::ios::handle<function>::operator()(args&&... a)
|
||||
const
|
||||
{
|
||||
assert(descriptor && descriptor->stats);
|
||||
assert(descriptor->stats->queued > 0);
|
||||
descriptor->stats->queued--;
|
||||
f(std::forward<args>(a)...);
|
||||
}
|
||||
|
||||
|
|
|
@ -175,6 +175,7 @@ struct ircd::ios::descriptor::stats &
|
|||
ircd::ios::descriptor::stats::operator+=(const stats &o)
|
||||
&
|
||||
{
|
||||
queued += o.queued;
|
||||
calls += o.calls;
|
||||
faults += o.faults;
|
||||
allocs += o.allocs;
|
||||
|
|
|
@ -837,6 +837,7 @@ console_cmd__ios(opt &out, const string_view &line)
|
|||
<< " " << std::right << std::setw(10) << "FREES"
|
||||
<< " " << std::right << std::setw(26) << "ALLOCATED"
|
||||
<< " " << std::right << std::setw(26) << "FREED"
|
||||
<< " " << std::right << std::setw(8) << "QUEUED"
|
||||
<< " " << std::right << std::setw(8) << "FAULTS"
|
||||
<< std::endl
|
||||
;
|
||||
|
@ -852,6 +853,7 @@ console_cmd__ios(opt &out, const string_view &line)
|
|||
<< " " << std::right << std::setw(10) << s.frees
|
||||
<< " " << std::right << std::setw(26) << pretty(iec(s.alloc_bytes))
|
||||
<< " " << std::right << std::setw(26) << pretty(iec(s.free_bytes))
|
||||
<< " " << std::right << std::setw(8) << s.queued
|
||||
<< " " << std::right << std::setw(8) << s.faults
|
||||
;
|
||||
}};
|
||||
|
|
Loading…
Reference in a new issue