- local stats = {
- samples = events;
- sample_count = n_stored_events;
- count = n_actual_events,
- rate = n_actual_events/(new_time-since);
- average = n_stored_events > 0 and sum/n_stored_events or 0,
- min = events[1],
- max = events[n_stored_events],
- };
+ return function (value)
+ n_actual_events = n_actual_events + 1;
+ if n_actual_events%duration_sample_interval == 1 then
+ last_event = (last_event%duration_max_samples) + 1;
+ events[last_event] = value;
+ end
+ end;
+ end;
+ sizes = function (name)
+ return methods.distribution(name, "bytes", "size");
+ end;
+ times = function (name)
+ local events, last_event = {}, 0;
+ local n_actual_events = 0;
+ local since = time();