我正在使用性能辅助试验(PCP)框架提供的MMV库。我需要在定期间隔的基础上重置MMV实例中的值。我偶然看到了PCP的mmv_stats_interval_start() api。请解释这个api是如何工作的,以及如何在间隔过去时得到通知。
mmv_stats_interval_start(void *addr, pmAtomValue *value,
const char *metric, const char *instance)
{
if (addr) {
if (value == NULL)
value = mmv_lookup_value_desc(addr, metric, instance);
if (value) {
struct timeval tv;
__pmtimevalNow(&tv);
mmv_inc_value(addr, value, -(tv.tv_sec*1e6 + tv.tv_usec));
}
}
return value;
}五氯苯酚的github页面中的一个例子是genstats.c
发布于 2014-11-19 13:35:16
mmv_stats_interval_start函数对与mmv_stats_interval_end在这些调用的匹配对之间积累时间间隔(微秒)。参见例如genstats.c;hb=HEAD
MMV不是关于通知,而是关于有效地公开使用-lpcp_mmv的程序的内部统计信息。通知必须来自另一个PCP客户端,如pmie。
https://stackoverflow.com/questions/27011416
复制相似问题