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);
}

...

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();
}

...

Examples of updatable metrics

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

...



public

...

 interface ObjectValueMetric<T> extends ObjectMetric<T> {
    void value(T value);

...


}

...



public interface DoubleValueMetric extends DoubleMetric {

...


    void add(double value);

...


    void value(double value);

...


}

...



public interface LongSumMetric extends LongMetric {

...


    void add(long value);

...


    void increment();

...


    void decrement();

...


}

...



public interface LongValueMetric extends LongSumMetric {

...


    void value(long value);

...


}


API alternative: single minimal facade

...