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
-
-