Package org.apache.kafka.common
Class MetricName
- java.lang.Object
-
- org.apache.kafka.common.MetricName
-
public final class MetricName extends java.lang.Object
TheMetricName
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 Summary
Constructors Constructor 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 methodMetrics.metricName(String, String, String, Map)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
description()
boolean
equals(java.lang.Object obj)
java.lang.String
group()
int
hashCode()
java.lang.String
name()
java.util.Map<java.lang.String,java.lang.String>
tags()
java.lang.String
toString()
-
-
-
Constructor Detail
-
MetricName
public 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 methodMetrics.metricName(String, String, String, Map)
- Parameters:
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 metric
-
-
Method Detail
-
name
public java.lang.String name()
-
group
public java.lang.String group()
-
tags
public java.util.Map<java.lang.String,java.lang.String> tags()
-
description
public java.lang.String description()
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-