Nikolay, I also agree with your approach thank, you for the explanation.

One minor remark: maybe it will be better to explicitly indicate in config
the type of the metric?

In nutshell:
HistrogramMetric: cache.my-cahe.GetLatency=50,100,250,500
HitRateMetric: cache.my-cache.RebalancingKeysRate=60000

It will simplify work for administrators and let us possibility do not
write additional comments for each config and go to metric docs for
clarifying - the most information about metric is clear from config.
Moreover, it will be easier to order metrics in the config file by type.

чт, 27 июн. 2019 г. в 13:55, Nikolay Izhikov <nizhi...@apache.org>:

> Hello, Anton.
>
> Thanks for an answer!
>
> > Let's just make sure this syntax is extendable.
>
> Yes, I ~can~ will!
>
> > I'd like to count only latency greater than 37ms (0-37 -
> > ignored, 37-52, 52-infinity - recorded), it should be possible to skip
> some
> > values.
>
> Currently, histogram metric don't support this feature.
> I have no plans to add it.
>
> Your contribution are welcome, as always.
>
> > Another case is to specify 2+ windows for same metric
>
> AFAIK you are talking about HitRateMetrics.
> I have no plans to improve this legacy metric somehow.
>
> Can you file a ticket with the features you want to add?
>
> В Чт, 27/06/2019 в 12:56 +0300, Anton Vinogradov пишет:
> > Nikolay,
> >
> > The approach looks good to me.
> > Let's just make sure this syntax is extendable.
> > For example, I'd like to count only latency greater than 37ms (0-37 -
> > ignored, 37-52, 52-infinity - recorded), it should be possible to skip
> some
> > values.
> > Another case is to specify 2+ windows for same metric, eg. puts for last
> > hour, minute, 5 seconds.
> >
> > On Thu, Jun 27, 2019 at 12:30 PM Nikolay Izhikov <nizhi...@apache.org>
> > wrote:
> >
> > > Hello, Igniters.
> > >
> > > As you may know, I've contributed Phase1 [1] for IEP-35 [2].
> > > Now we have metrics subsystem and can create and export any metrics
> from
> > > Ignite.
> > >
> > > I think user(administrator of Ignite) should be able to configure some
> > > metrics params in a common way [3]
> > >
> > > I propose to use the same way from logging frameworks.
> > > We should define some file format Ignite can understand.
> > > An administrator fills configuration file to configure one or several
> > > metrics.
> > > Ignite will analyze the file and use provided params during metrics
> > > creation.
> > >
> > > For now, we have 2 types of metrics that should be configured:
> > >
> > >         *       HistrogramMetric [4]
> > >                 This metric is a count of measurement that falls into
> > > predefined intervals.
> > >                 An example is "Request processing time distribution".
> > >                 We want to calculate a count of requests processed
> quicker
> > > then 50ms, 50-100, 100-250, 250-500 and slower.
> > >
> > >         *       HitRateMetric [5]
> > >                 This metric is a count of events in the last time
> interval.
> > >                 An example is the "Count of requests processed in the
> last
> > > 5 seconds".
> > >
> > > Example of file content:
> > >
> > > ````
> > > cache.my-cahe.GetLatency=50,100,250,500 #Params for the histogram
> metric
> > > with the name `cache.my-cahe.get`
> > > cache.my-cache.RebalancingKeysRate=60000 #Param for existing
> HitRateMetric
> > > that hold "Estimated rebalancing speed in keys".
> > > ````
> > >
> > > Please, share your vision.
> > >
> > > [1]
> > >
> https://github.com/apache/ignite/commit/fdaa310430aefff07994eb35510d3416886b5bbe
> > > [2]
> > >
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=112820392
> > > [3] https://issues.apache.org/jira/browse/IGNITE-11927
> > > [4]
> > >
> https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/impl/HistogramMetric.java
> > > [5]
> > >
> https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/metric/impl/HitRateMetric.java
> > >
>


-- 
Ivan Fedotov.

ivanan...@gmail.com

Reply via email to