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 >