Versions Compared

Key

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

...

package org.apache.ignite.metric;

/**
* Allows to manage custom metrics.
*
* Note: Names of custom metric registries are required to start with 'custom.' (lower case) and may have additional
* dot-separated qualifiers. The prefix 'custom' is automatically added if missed. For example, if provided custom registry name
* is "a.b.c.mname", it is automatically extended to "custom.a.b.c.mname".
*
* Any custom name or dot-separated name part can't have any spaces and must not be empty.
*
* Examples of custom metric registry names: "custom.admin", "custom.admin.sessions", "custom.processes", etc.
*/
@IgniteExperimental
public interface IgniteMetrics extends Iterable<ReadOnlyMetricRegistry> {
    /**
    * Gets or creates custom metric registry named "custom." + {@code registryName}.
    *
    * @return {@link IgniteMetricRegistry} registry.

    */
    IgniteMetricRegistry customRegistry(String registryName);
    /**
    * Gets custom metric registry.
    *
    * @return Certain read-only metric registry.

    */
    @Nullable ReadOnlyMetricRegistry findRegistry(String registryName);


    /** Removes custom metric registry named "custom." + {@code registryName}. */    void  void removeCustomRegistry(String registryName);
}

...

package org.apache.ignite.metric;
/**
* Metric registry. Allows to get, add or remove metrics.
* * @see IgniteMetrics
* @see ReadOnlyMetricRegistry
*/


@IgniteExperimental
public interface IgniteMetricRegistry extends ReadOnlyMetricRegistry {
    /** @return New or previously registered {@link IntMetric}. */
    IntMetric register(String name, IntSupplier supplier, @Nullable String desc)*/;
    /** @return New or previously registered {@link LongMetric}.

    LongMetric register(String name, LongSupplier supplier, @Nullable String desc)*/;
    /** @return New or previously registered {@link DoubleMetric}.

    DoubleMetric register(String name, DoubleSupplier supplier, @Nullable String desc)*/;
    /** @return New or previously registered {@link ObjectMetric}.

    <T> ObjectMetric<T> register(String name, Supplier<T> supplier, Class<T> type, @Nullable String desc)*/;
    /** @return New or previously registered {@link BooleanMetric}.

    BooleanMetric register(String name, BooleanSupplier supplier, @Nullable String desc);


    /** @return New {@link IntValueMetric } or previous one with the same name. */
    IntValueMetric intMetric(String name, @Nullable String desc)*/;
    /** @return New {@link LongValueMetric} or previous one with the same name. 

    LongValueMetric longMetric(String name, @Nullable String desc);
    /** @return New {@link LongValueMetric} or previous one with the same name.
  */
    LongSumMetric longAdderMetric(String name, @Nullable String desc);
    /** @return New {@link DoubleValueMetric} or previous one with the same name.  */

    DoubleValueMetric doubleMetric(String name, @Nullable String desc);

    /** @return New {@link ObjectValueMetric} or previous one with the same name. */
    <T> ObjectValueMetric<T> objectMetric(String name, Class<T> type, @Nullable String desc);
    /** Removes metrics with the {@code name}.*/

    void remove(String name);
    /** Resets all metrics of this metric registry. */

    void reset();
}

Updatable metric interfaces list

...

package org.apache.ignite.metric;
/** Updatable object value metric. */

@IgniteExperimental
public interface ObjectValueMetric<T> extends ObjectMetric<T> {
    /** Sets object metric value./
    void value(T value);
}
/** Updatable simple double value metric. */

@IgniteExperimental
public interface DoubleValueMetric extends DoubleMetric {
    /** Raises metric value. */
    void add(double value);
    /** Sets double metric value. */

    void value(double value);
}

/** Updatable long metric which is efficient with adding values. Calculates sum in {@link LongMetric#value()}. */
@IgniteExperimental
public interface LongSumMetric extends LongMetric {
    /** Raises metric value. */
    void add(long value);
    /** Increments metric value with 1L. */

    void increment();
    /** Decrements metric value with -1L. */

    void decrement();
}
/** Updatable simple long value metric. */

@IgniteExperimental
public interface LongValueMetric extends LongSumMetric {
    /** Sets long metric value. */
    void value(long value);
}

...

package org.apache.ignite;

/**
* Allows to manage custom metrics.
* <p>
* Metrics are grouped into registries (groups). Every metric has full name which is the conjunction of registry name
* and the metric short name. Within a registry metric has only its own short name.
* <p>
* Note: Names of custom metric registries are required to start with 'custom.' (lower case) and may have additional
* dot-separated qualifiers. The prefix is automatically added if missed. For example, if provided custom registry name
* is "a.b.c.mname", it is automatically extended to "custom.a.b.c.mname".
* <p>
* Any custom name or dot-separated name part cannot have spaces and must not be empty.
* <p>
* Examples of custom metric registry names: "custom.admin", "custom.admin.sessions", "custom.processes", etc.
*/
@IgniteExperimental
public interface IgniteMetrics extends Iterable<ReadOnlyMetricRegistry> {    /** @return New or previously registered long metric. */

    LongConsumer longMetric(String registryName, String metricName, @Nullable String description);
    /** @return New or previously registered double metric. */

    DoubleConsumer doubleMetric(String registryName, String metricName, @Nullable String description);

    /** @return New or previously registered int metric. */
    IntConsumer booleanMetric(String registryName, String metricName, @Nullable String description)*/;
    /** Adds a long custom metric with the value supplier.

    void longMetric(String registryName, String metricName, LongSupplier supplier, @Nullable String description)*/;
    /** Adds a double custom metric with the value supplier.

     void doubleMetric(String registryName, String metricName, DoubleSupplier supplier, @Nullable String description);

    /** Adds a int custom metric with the value supplier. */
    void intMetric(String registryName, String metricName, BooleanSupplier supplier, @Nullable String description);
    /** Removes certain custom metric. */

    void removeCustomMetric(String registryName, String metricName);

    /** Removes entire custom metric registry. */
    void removeCustomRegistry(String registryName);
    /** Provides custom read-only metric registry. */

    @Nullable ReadOnlyMetricRegistry findRegistry(String registryName);
}

...