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

Vyacheslav Koptilin updated IGNITE-25422:
-----------------------------------------
    Description: 
*Motivation*

Currently there are just these metrics:

 
{code:java}
public DisruptorMetrics disruptorMetrics(String name) {
    return new DisruptorMetrics(
            (DistributionMetric) metrics.get(name + ".Batch"),
            (DistributionMetric) metrics.get(name + ".Stripes")
    );
} {code}
which means batch size and stripe hits.

 

We need to add the count of pending tasks (there is a separate queue (ring 
buffer) for each stripe):
{code:java}
long cursor = rb.getCursor();
long minConsumer = rb.getMinimumGatingSequence();
long pending = cursor - minConsumer; {code}
This will allow us to make conclusions about the possible delays for task 
processing. 

 

Also, the time of processing might be useful.

*Definition of done*

Additional disruptor metrics are created:
 - pending tasks (for each stripe, maximum, minimum, median)

 - time of processing

 

  was:
*Motivation*

Currently there are jsut these metrics:

 
{code:java}
public DisruptorMetrics disruptorMetrics(String name) {
    return new DisruptorMetrics(
            (DistributionMetric) metrics.get(name + ".Batch"),
            (DistributionMetric) metrics.get(name + ".Stripes")
    );
} {code}
which means batch size and stripe hits.

 

We need to add the count of pending tasks (there is a separate queue (ring 
buffer) for each stripe):
{code:java}
long cursor = rb.getCursor();
long minConsumer = rb.getMinimumGatingSequence();
long pending = cursor - minConsumer; {code}
This will allow us to make conclusions about the possible delays for task 
processing. 

 

Also, the time of processing might be useful.

*Definition of done*

Additional disruptor metrics are created:

- pending tasks (for each stripe, maximum, minimum, median)

- time of processing

 


> Add metrics for raft disruptors
> -------------------------------
>
>                 Key: IGNITE-25422
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25422
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *Motivation*
> Currently there are just these metrics:
>  
> {code:java}
> public DisruptorMetrics disruptorMetrics(String name) {
>     return new DisruptorMetrics(
>             (DistributionMetric) metrics.get(name + ".Batch"),
>             (DistributionMetric) metrics.get(name + ".Stripes")
>     );
> } {code}
> which means batch size and stripe hits.
>  
> We need to add the count of pending tasks (there is a separate queue (ring 
> buffer) for each stripe):
> {code:java}
> long cursor = rb.getCursor();
> long minConsumer = rb.getMinimumGatingSequence();
> long pending = cursor - minConsumer; {code}
> This will allow us to make conclusions about the possible delays for task 
> processing. 
>  
> Also, the time of processing might be useful.
> *Definition of done*
> Additional disruptor metrics are created:
>  - pending tasks (for each stripe, maximum, minimum, median)
>  - time of processing
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to