ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Kuznetsov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-3443) Implement collecting what SQL statements executed on cluster and their metrics.
Date Tue, 08 Nov 2016 08:40:58 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-3443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Alexey Kuznetsov updated IGNITE-3443:
-------------------------------------
    Fix Version/s: 1.8

> Implement collecting what SQL statements executed on cluster and their metrics.
> -------------------------------------------------------------------------------
>
>                 Key: IGNITE-3443
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3443
>             Project: Ignite
>          Issue Type: Task
>          Components: SQL
>            Reporter: Alexey Kuznetsov
>            Assignee: Alexey Kuznetsov
>             Fix For: 1.8
>
>
> We could collect last 1000 (maybe configurable) sql statements with per  statement statistics:
count, min time, max time, avg time,....
> May be execution plan (explain) ?
> -------------------
> Proposed API changes:
> So, I introduced interface org.apache.ignite.cache.query.QueryDetailsMetrics with metrics:
> {code}
> /**
>  * 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();
> }
> {code}
> And added method on org.apache.ignite.IgniteCache:
> {code}
> /**
>  * Gets query metrics details.
>  *
>  * @return Metrics.
>  */
> public Collection<? extends QueryDetailsMetrics> queryMetricsHistory();
> {code}
> And also I added new property on org.apache.ignite.configuration.CacheConfiguration:
> {code}
> /**
>  * 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;
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message