[ 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)