int ft_needs_stats(ffsb_thread_t *ft, syscall_t sys) { int ret = 0; if (ft && ft->fsd.config && !fsc_ignore_sys(ft->fsd.config, sys)) ret = 1; return ret; }
void ffsb_add_data(ffsb_statsd_t *fsd, syscall_t s, uint32_t value) { unsigned num_buckets, i; struct stat_bucket *bucket_defs; if (!fsd || fsc_ignore_sys(fsd->config, s)) return; if (value < fsd->mins[s]) fsd->mins[s] = value; if (value > fsd->maxs[s]) fsd->maxs[s] = value; fsd->counts[s]++; fsd->totals[s] += value; if (fsd->config->num_buckets == 0) return; num_buckets = fsd->config->num_buckets; bucket_defs = fsd->config->buckets; for (i = 0; i < num_buckets; i++) { struct stat_bucket *b = &bucket_defs[i]; if (value <= b->max && value >= b->min) { fsd->buckets[s][i]++; break; } } }