Versions Compared

Key

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

...

These two approaches are shown below.

The APIs are supposed to be experimental.

Obtaining Custom Metrics

package org.apache.ignite;

...

package org.apache.ignite.metric;
@IgniteExperimental


public interface IgniteMetrics extends Iterable<ReadOnlyMetricRegistry> {

...

package org.apache.ignite.metric;


@IgniteExperimental
public interface IgniteMetricRegistry 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);

...

package org.apache.ignite.metric;
@IgniteExperimental


public interface ObjectValueMetric<T> extends ObjectMetric<T> {
    void value(T value);
}
@IgniteExperimental


public interface DoubleValueMetric extends DoubleMetric {
    void add(double value);
    void value(double value);
}


@IgniteExperimental
public interface LongSumMetric extends LongMetric {
    void add(long value);
    void increment();
    void decrement();
}


@IgniteExperimental
public interface LongValueMetric extends LongSumMetric {
    void value(long value);
}

...

package org.apache.ignite;@IgniteExperimental


public interface IgniteMetrics extends Iterable<ReadOnlyMetricRegistry> {

...