Dmitriy, thanks for your feedback. >> 1. Are these metrics going to be available as MBean? >> 4. Do we need an MBean for queryMetricsHIstor()? Yes. I will create sub-ticket for that or implement as part of IGNITE-3443 if it is easy to do.
>> 2. QueryDetailsMetrics -> QueryMetrics This name is already busy. We already have interface with name QueryMetrics. >>3. getCompletions() -> getSuccesses() - to be consistent with getFailures() Will rename. On Tue, Oct 25, 2016 at 12:00 AM, Dmitriy Setrakyan <[email protected]> wrote: > Several comments: > > 1. Are these metrics going to be available as MBean? > 2. QueryDetailsMetrics -> QueryMetrics > 3. getCompletions() -> getSuccesses() - to be consistent with > getFailures() > 4. Do we need an MBean for queryMetricsHIstor()? > > D. > > On Mon, Oct 24, 2016 at 3:58 AM, Alexey Kuznetsov <[email protected]> > wrote: > > > Igniters, > > > > I'm working on IGNITE-3443: Implement collecting what SQL statements > > executed on cluster and their metrics [1]. (I also updated issue > > description with text below.) > > > > And I would like that my changes of public API looks good. > > > > Please, give your feedback. > > > > So, I introduced interface org.apache.ignite.cache.query.QueryDetailsMetrics > with > > metrics: > > > > /** > > * Query metrics aggregated by query type and its textual representation. > > */ > > public interface QueryDetailsMetrics { > > /** > > * @return Query type. > > */ > > public String getQueryType(); > > > > /** > > * @return Textual representation of query. > > */ > > public String getQuery(); > > > > /** > > * @return Cache where query was executed. > > */ > > public String getCache(); > > > > /** > > * Gets total number execution of query. > > * > > * @return Number of executions. > > */ > > public int getExecutions(); > > > > /** > > * Gets number of completed execution of query. > > * > > * @return Number of completed executions. > > */ > > public int getCompletions(); > > > > /** > > * Gets number of times a query execution failed. > > * > > * @return Number of times a query execution failed. > > */ > > public int getFailures(); > > > > /** > > * Gets minimum execution time of query. > > * > > * @return Minimum execution time of query. > > */ > > public long getMinimumTime(); > > > > /** > > * Gets maximum execution time of query. > > * > > * @return Maximum execution time of query. > > */ > > public long getMaximumTime(); > > > > /** > > * Gets average execution time of query. > > * > > * @return Average execution time of query. > > */ > > public double getAverageTime(); > > > > /** > > * Gets total time of all query executions. > > * > > * @return Total time of all query executions. > > */ > > public long getTotalTime(); > > > > /** > > * Gets latest query start time. > > * > > * @return Latest time query was stared. > > */ > > public long getLastStartTime(); > > } > > > > > > And added method on org.apache.ignite.IgniteCache: > > > > /** > > * Gets query metrics details. > > * > > * @return Metrics. > > */ > > public Collection<? extends QueryDetailsMetrics> queryMetricsHistory(); > > > > > > And also I added new property on org.apache.ignite.configuration. > CacheConfiguration: > > > > /** > > * Gets size of queries metrics history that will be stored in memory > for monitoring purposes. > > * If {@code 0} then history will not be collected. > > * Note, Larger number may lead to higher memory consumption. > > * > > * @return Maximum number of query metrics that will be stored in memory. > > */ > > public int getQueryMetricsHistorySize() { > > return qryMetricsHistSz; > > } > > > > /** > > * Sets size of queries metrics history that will be stored in memory > for monitoring purposes. > > * > > * @param qryMetricsHistSz Maximum number of latest queries metrics that > will be stored in memory. > > * @return {@code this} for chaining. > > */ > > public CacheConfiguration<K, V> setQueryMetricsHistorySize(int > qryMetricsHistSz) { > > this.qryMetricsHistSz = qryMetricsHistSz; > > > > return this; > > } > > > > > > > > [1] https://issues.apache.org/jira/browse/IGNITE-3443 > > > > -- > > Alexey Kuznetsov > > > -- Alexey Kuznetsov
