Event-Stats
view release on metacpan or search on metacpan
lib/Event/Stats.xs view on Meta::CPAN
HV *stash = gv_stashpv("Event::Stats", 1);
newCONSTSUB(stash, "MINTIME", newSViv(PE_STAT_SECONDS));
newCONSTSUB(stash, "MAXTIME",
newSViv(PE_STAT_SECONDS * PE_STAT_I1 * PE_STAT_I2));
I_EVENT_API(HvNAME(stash));
GEventAPI->install_stats(&Myvtbl);
}
void
_enforcing_max_callback_time()
PPCODE:
{
XPUSHs(boolSV(EnforceMaxCBTime));
}
void
_enforce_max_callback_time(yes)
bool yes
PPCODE:
{
XPUSHs(boolSV(EnforceMaxCBTime));
if (!EnforceMaxCBTime ^ !yes)
use_stats(yes? 1:-1);
EnforceMaxCBTime = yes;
if (!yes) alarm(0);
}
int
round_seconds(sec)
lib/Event/Stats.xs view on Meta::CPAN
RETVAL = PE_STAT_SECONDS * PE_STAT_I1 * PE_STAT_I2;
OUTPUT:
RETVAL
void
idle_time(sec)
int sec
PREINIT:
int ran, die;
double elapse;
PPCODE:
if (!Stats) croak("Event::Stats are not enabled");
pe_stat_query(&idleStats, sec, &ran, &die, &elapse);
XPUSHs(sv_2mortal(newSViv(ran)));
XPUSHs(sv_2mortal(newSViv(die)));
XPUSHs(sv_2mortal(newSVnv(elapse)));
void
total_time(sec)
int sec
PREINIT:
int ran,die;
double elapse;
PPCODE:
if (!Stats) croak("Event::Stats are not enabled");
pe_stat_query(&totalStats, sec, &ran, &die, &elapse);
XPUSHs(sv_2mortal(newSVnv(elapse)));
int
collect(yes)
int yes
CODE:
{
use_stats(yes);
lib/Event/Stats.xs view on Meta::CPAN
MODULE = Event::Stats PACKAGE = Event::Watcher
void
stats(obj, sec)
SV *obj
int sec
PREINIT:
int ran, die;
double elapse;
pe_watcher *THIS;
PPCODE:
if (!Stats)
croak("Event::Stats are not enabled");
THIS = (pe_watcher*) GEventAPI->sv_2watcher(obj);
if (THIS->stats)
pe_stat_query(THIS->stats, sec, &ran, &die, &elapse);
else
ran = die = elapse = 0;
XPUSHs(sv_2mortal(newSViv(ran)));
XPUSHs(sv_2mortal(newSViv(die)));
XPUSHs(sv_2mortal(newSVnv(elapse)));
( run in 1.315 second using v1.01-cache-2.11-cpan-5511b514fd6 )