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 <[email protected]>: > 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 <[email protected]> > > 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. [email protected]
