Package org.apache.solr.metrics
Class MetricsMap
- java.lang.Object
-
- org.apache.solr.metrics.MetricsMap
-
- All Implemented Interfaces:
com.codahale.metrics.Gauge<Map<String,Object>>,com.codahale.metrics.Metric,DynamicMBean,MapSerializable,MapWriter,NavigableObject
public class MetricsMap extends Object implements com.codahale.metrics.Gauge<Map<String,Object>>, MapWriter, DynamicMBean
Dynamically constructed map of metrics, intentionally different fromMetricSetwhere each metric had to be known in advance and registered separately inMetricRegistry.Note: this awkwardly extends
Gaugeand notMetricbecause awkwardlyMetricinstances are not supported byMetricRegistryListener:(Note 2: values added to this metric map should belong to the list of types supported by JMX:
OpenType.ALLOWED_CLASSNAMES_LIST, otherwise only their toString() representation will be shown in JConsole.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriter
MapWriter.EntryWriter
-
-
Constructor Summary
Constructors Constructor Description MetricsMap(BiConsumer<Boolean,Map<String,Object>> mapInitializer)Deprecated.useMetricsMap(MapWriter)instead.MetricsMap(MapWriter initializer)Create an instance that reports values to a MapWriter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectgetAttribute(String attribute)AttributeListgetAttributes(String[] attributes)MBeanInfogetMBeanInfo()Map<String,Object>getValue()Map<String,Object>getValue(boolean detailed)Objectinvoke(String actionName, Object[] params, String[] signature)voidsetAttribute(Attribute attribute)AttributeListsetAttributes(AttributeList attributes)StringtoString()voidwriteMap(MapWriter.EntryWriter ew)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.solr.common.NavigableObject
_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size
-
-
-
-
Constructor Detail
-
MetricsMap
@Deprecated(since="8.7") public MetricsMap(BiConsumer<Boolean,Map<String,Object>> mapInitializer)
Deprecated.useMetricsMap(MapWriter)instead.Create an instance that reports values to a Map.- Parameters:
mapInitializer- function to populate the Map result.
-
MetricsMap
public MetricsMap(MapWriter initializer)
Create an instance that reports values to a MapWriter.- Parameters:
initializer- function to populate the MapWriter result.
-
-
Method Detail
-
getAttribute
public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
- Specified by:
getAttributein interfaceDynamicMBean- Throws:
AttributeNotFoundExceptionMBeanExceptionReflectionException
-
setAttribute
public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
- Specified by:
setAttributein interfaceDynamicMBean- Throws:
AttributeNotFoundExceptionInvalidAttributeValueExceptionMBeanExceptionReflectionException
-
getAttributes
public AttributeList getAttributes(String[] attributes)
- Specified by:
getAttributesin interfaceDynamicMBean
-
setAttributes
public AttributeList setAttributes(AttributeList attributes)
- Specified by:
setAttributesin interfaceDynamicMBean
-
invoke
public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
- Specified by:
invokein interfaceDynamicMBean- Throws:
MBeanExceptionReflectionException
-
getMBeanInfo
public MBeanInfo getMBeanInfo()
- Specified by:
getMBeanInfoin interfaceDynamicMBean
-
writeMap
public void writeMap(MapWriter.EntryWriter ew) throws IOException
- Specified by:
writeMapin interfaceMapWriter- Throws:
IOException
-
-