[ 
https://issues.apache.org/jira/browse/IGNITE-11926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16867693#comment-16867693
 ] 

Nikolay Izhikov edited comment on IGNITE-11926 at 6/19/19 2:19 PM:
-------------------------------------------------------------------

I've prepared PR for this ticket.
I think we shouldn't migrate all the metrics from {{GridJobMetrics}}

1. We shouldn't migrate aggregate metrics - max*, avg*
Aggregation should be done with the metric collect system(Prometheus, Graphite, 
etc.).

 2. We shouldn't migrate {{cpuLoadAvg}}
Metrics for CPU should be available from separate sources(system sensors or 
similar).

3. We shouldn't migrate {{curidleTime}}, {{totalIdleTime}}.
Idle metrics doesn't make sense for me.
* They can be obtained from regularly scrapped {{activeJobs}} value.
* Seems, they can't be used in the real world. Imagine 32 CPU server with only 
one active job. Idle time will be 0 for this scenario.

4. Execution(waiting) time should be available per job in the job list.

So my PR contains counters for the following numbers.
 All the code belongs to the {{GridJobProcessor}} becomes deprecated.
{code:java}
    /** Number of started jobs. */
    final LongMetricImpl startedJobsMetric;

     /** Number of active jobs currently executing. */
    final LongMetricImpl activeJobsMetric;

     /** Number of currently queued jobs waiting to be executed. */
    final LongMetricImpl waitingJobsMetric;

     /** Number of cancelled jobs that are still running. */
    final LongMetricImpl canceledJobsMetric;

     /** Number of jobs rejected after more recent collision resolution 
operation. */
    final LongMetricImpl rejectedJobsMetric;

     /** Number of finished jobs. */
    final LongMetricImpl finishedJobsMetric;
 {code}


was (Author: nizhikov):
I've prepared PR for this ticket.
I think we shouldn't migrate all the metrics from {{GridJobMetrics}}

1. We shouldn't migrate aggregate metrics - max*, avg*
Aggregation should be done with the metric collect system(Prometheus, Graphite, 
etc.).

 2. We shouldn't migrate {{cpuLoadAvg}}
Metrics for CPU should be available from separate sources(system sensors or 
similar).

3. We shouldn't migrate {{curidleTime}}, {{totalIdleTime}}.
Idle metrics doesn't make sense for me.
* They can be obtained from regularly scrapped {{activeJobs}} value.
* Seems, they can't be used in the real world. Imagine 32 CPU server with only 
one active job. Idle time will be 0 for this scenario.

So my PR contains counters for the following numbers.
 All the code belongs to the {{GridJobProcessor}} becomes deprecated.
{code:java}
    /** Number of started jobs. */
    final LongMetricImpl startedJobsMetric;

     /** Number of active jobs currently executing. */
    final LongMetricImpl activeJobsMetric;

     /** Number of currently queued jobs waiting to be executed. */
    final LongMetricImpl waitingJobsMetric;

     /** Number of cancelled jobs that are still running. */
    final LongMetricImpl canceledJobsMetric;

     /** Number of jobs rejected after more recent collision resolution 
operation. */
    final LongMetricImpl rejectedJobsMetric;

     /** Number of finished jobs. */
    final LongMetricImpl finishedJobsMetric;
 {code}

> [IEP-35] Migrage GridJobMetricsProcessor
> ----------------------------------------
>
>                 Key: IGNITE-11926
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11926
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Nikolay Izhikov
>            Assignee: Nikolay Izhikov
>            Priority: Major
>              Labels: IEP-35
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> After merging of IGNITE-11848 we should migrate `GridJobMetricsProcessor` to 
> the new metric framework.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to