THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
public interface PluginMetrics extends Closeable {
/**
* Create a {@link MetricName} with the given name, description and tags. The group will be set to "plugins"
* Tags to uniquely identify the plugins are automatically added to the provided tags
*
* @param name The name of the metric
* @param description A human-readable description to include in the metric
* @param tags additional key/value attributes of the metric
*/
MetricName metricName(String name, String description, Map<String, String> tags);
/**
* Add a metric to monitor an object that implements {@link MetricValueProvider}. This metric won't be associated with any
* sensor. This is a way to expose existing values as metrics.
*
* @param metricName The name of the metric
* @param metricValueProvider The metric value provider associated with this metric
* @throws IllegalArgumentException if a metric with same name already exists.
*/
void addMetric(MetricName metricName, MetricValueProvider<?> metricValueProvider);
/**
* Remove a metric if it exists.
*
* @param metricName The name of the metric
*/
void removeMetric(MetricName metricName);
/**
* Create a sensor with the given unique name. The name must only be unique for the plugin, so different plugins can use the same names.
*
* @param name The sensor name
* @return The sensor
* @throws IllegalArgumentException if a sensor with same name already exists.
*/
Sensor sensor(String name);
/**
* Remove a sensor (if it exists) and its associated metrics.
*
* @param name The name of the sensor to be removed
*/
void removeSensor(String name);
} |
...