[
https://issues.apache.org/jira/browse/GEODE-1494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dan Smith reassigned GEODE-1494:
--------------------------------
Assignee: Dan Smith
> Allow users to provide callbacks to sample statistics
> -----------------------------------------------------
>
> Key: GEODE-1494
> URL: https://issues.apache.org/jira/browse/GEODE-1494
> Project: Geode
> Issue Type: Improvement
> Reporter: Dan Smith
> Assignee: Dan Smith
>
> The Statistics interface has methods to increment, set, and get the value of
> various statistics. The statistics are sampled at the sample-rate by the stat
> sampling thread.
> We should add a way to provide a callback that computes the value of the
> statistic. The callback can be called by the stat sampling thread to compute
> the value at the sample time.
> This is useful because some statistics are hard to update correctly using
> using increment operations. For example, tracking the total number of entries
> in a parallel async event queue is tricky, because buckets may move on and
> off of a node while concurrent operations are also adding entries. But
> measuring the current size of the queue is easy by just calling size on the
> underlying regions.
> Here are the proposed new methods on the statistics interface:
> {code}
> /**
> * Provide a callback to compute the value of this statistic
> * every sample interval and use that as the value of the stat.
> *
> */
> public void sampleInt(int id, IntSupplier sampler);
> public void sampleLong(int id, LongSupplier supplier);
> public void sampleDouble(int id, DoubleSupplier supplier);
> public void sampleInt(String name, IntSupplier sampler);
> public void sampleLong(String name, LongSupplier supplier);
> public void sampleDouble(String name, DoubleSupplier supplier);
> public void sampleInt(StatisticDescriptor descriptor, IntSupplier sampler);
> public void sampleLong(StatisticDescriptor descriptor, LongSupplier
> supplier);
> public void sampleDouble(StatisticDescriptor descriptor, DoubleSupplier
> supplier);
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)