Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
package org.apache.ignite.metric;

public interface IgniteMetrics extends Iterable<ReadOnlyMetricRegistry> {
    MetricRegistry customRegistry(String registryName);
    @Nullable ReadOnlyMetricRegistry findRegistry(String registryName);
    void removeCustomRegistry(String registryName);
}

Names like "LongMetric" or "ObjectMetric" we already have in the package "org.apache.ignite.spi.metric".

Code Block
languagejava
package org.apache.ignite.metric;

public interface MetricRegistry extends ReadOnlyMetricRegistry {
    IntMetric register(String name, IntSupplier supplier, @Nullable String desc);
    LongMetric register(String name, LongSupplier supplier, @Nullable String desc);
    DoubleMetric register(String name, DoubleSupplier supplier, @Nullable String desc);
    <T> ObjectMetric<T> register(String name, Supplier<T> supplier, Class<T> type, @Nullable String desc);
    BooleanMetric register(String name, BooleanSupplier supplier, @Nullable String desc);
    IntValueMetric intMetric(String name, @Nullable String desc);
    LongValueMetric longMetric(String name, @Nullable String desc);
    LongSumMetric longAdderMetric(String name, @Nullable String desc);
    DoubleValueMetric doubleMetric(String name, @Nullable String desc);
    <T> ObjectValueMetric<T> objectMetric(String name, Class<T> type, @Nullable String desc);
    void remove(String name);
    void reset();
}

Updatable metric interfaces list

To the package "org.apache.ignite.metric" we add:

  • BooleanValueMetric
  • IntValueMetric
  • LongValueMetric
  • LongSumMetric (a long adder)
  • DoubleValueMetric
  • ObjectValueMetric<T> (an object metric)

...

Examples of updatable metrics

...