public final class MetricName
extends java.lang.Object
MetricName
class encapsulates a metric's name, logical group and its related attributes. It should be constructed using metrics.MetricName(...).
This class captures the following parameters
name The name of the metric group logical group name of the metrics to which this metric belongs. description A human-readable description to include in the metric. This is optional. tags additional key/value attributes of the metric. This is optional.group, tags parameters can be used to create unique metric names while reporting in JMX or any custom reporting.
Ex: standard JMX MBean can be constructed like domainName:type=group,key1=val1,key2=val2
Usage looks something like this:
// set up metrics:
Map<String, String> metricTags = new LinkedHashMap<String, String>();
metricTags.put("client-id", "producer-1");
metricTags.put("topic", "topic");
MetricConfig metricConfig = new MetricConfig().tags(metricTags);
Metrics metrics = new Metrics(metricConfig); // this is the global repository of metrics and sensors
Sensor sensor = metrics.sensor("message-sizes");
MetricName metricName = metrics.metricName("message-size-avg", "producer-metrics", "average message size");
sensor.add(metricName, new Avg());
metricName = metrics.metricName("message-size-max", "producer-metrics");
sensor.add(metricName, new Max());
metricName = metrics.metricName("message-size-min", "producer-metrics", "message minimum size", "client-id", "my-client", "topic", "my-topic");
sensor.add(metricName, new Min());
// as messages are sent we record the sizes
sensor.record(messageSize);
Constructor and Description |
---|
MetricName(java.lang.String name,
java.lang.String group,
java.lang.String description,
java.util.Map<java.lang.String,java.lang.String> tags)
Please create MetricName by method
Metrics.metricName(String, String, String, Map) |
public MetricName(java.lang.String name, java.lang.String group, java.lang.String description, java.util.Map<java.lang.String,java.lang.String> tags)
Metrics.metricName(String, String, String, Map)
name
- The name of the metricgroup
- logical group name of the metrics to which this metric belongsdescription
- A human-readable description to include in the metrictags
- additional key/value attributes of the metricpublic java.lang.String name()
public java.lang.String group()
public java.util.Map<java.lang.String,java.lang.String> tags()
public java.lang.String description()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object