Class OpenMetricsExporter
- java.lang.Object
-
- fish.payara.microprofile.metrics.writer.OpenMetricsExporter
-
- All Implemented Interfaces:
MetricExporter
- Direct Known Subclasses:
FilteredMetricsExporter
public class OpenMetricsExporter extends Object implements MetricExporter
WritesMetric
s according to the OpenMetrics standard as defined in microprofile-metrics-spec-2.3.pdf. Theappend
method code is organised so that its output is reflected in the use ofappendHELP(String, Metadata)
,appendTYPE(String, OpenMetricsType)
andappendValue(String, Tag[], Number)
which each emit a single output line.- Since:
- 5.202
- Author:
- Jan Bernitt
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
OpenMetricsExporter.OpenMetricsType
-
Field Summary
Fields Modifier and Type Field Description protected Set<String>
helpWrittenByGlobalName
protected PrintWriter
out
protected org.eclipse.microprofile.metrics.MetricRegistry.Type
scope
protected Set<String>
typeWrittenByGlobalName
-
Fields inherited from interface fish.payara.microprofile.metrics.writer.MetricExporter
LOGGER
-
-
Constructor Summary
Constructors Modifier Constructor Description OpenMetricsExporter(Writer out)
protected
OpenMetricsExporter(org.eclipse.microprofile.metrics.MetricRegistry.Type scope, PrintWriter out, Set<String> typeWrittenByGlobalName, Set<String> helpWrittenByGlobalName)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
appendHELP(String globalName, org.eclipse.microprofile.metrics.Metadata metadata)
protected void
appendTYPE(String globalName, OpenMetricsExporter.OpenMetricsType type)
protected void
appendValue(String globalName, org.eclipse.microprofile.metrics.Tag[] tags, Number value)
void
export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.ConcurrentGauge gauge, org.eclipse.microprofile.metrics.Metadata metadata)
void
export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Counter counter, org.eclipse.microprofile.metrics.Metadata metadata)
void
export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Gauge<?> gauge, org.eclipse.microprofile.metrics.Metadata metadata)
void
export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Histogram histogram, org.eclipse.microprofile.metrics.Metadata metadata)
void
export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Meter meter, org.eclipse.microprofile.metrics.Metadata metadata)
void
export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.SimpleTimer timer, org.eclipse.microprofile.metrics.Metadata metadata)
void
export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Timer timer, org.eclipse.microprofile.metrics.Metadata metadata)
void
exportComplete()
MetricExporter
in(org.eclipse.microprofile.metrics.MetricRegistry.Type scope, boolean asNode)
Creates a newMetricExporter
with the provided scope.protected String
roundValue(Number value)
static String
sanitizeMetricName(String name)
protected static String
tagsToString(org.eclipse.microprofile.metrics.Tag[] tags)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface fish.payara.microprofile.metrics.writer.MetricExporter
export, in
-
-
-
-
Field Detail
-
scope
protected final org.eclipse.microprofile.metrics.MetricRegistry.Type scope
-
out
protected final PrintWriter out
-
-
Method Detail
-
in
public MetricExporter in(org.eclipse.microprofile.metrics.MetricRegistry.Type scope, boolean asNode)
Description copied from interface:MetricExporter
Creates a newMetricExporter
with the provided scope.- Specified by:
in
in interfaceMetricExporter
- Parameters:
scope
- the scope to use in the export, most likely on of theMetricRegistry.Type
s- Returns:
- A new instance of this
MetricExporter
with the provided scope set, this instance is kept unchanged and will continue to use its current scope. Both, thisMetricExporter
and the returned one will however share other internal state that is related to the output written so far.
-
exportComplete
public void exportComplete()
- Specified by:
exportComplete
in interfaceMetricExporter
-
export
public void export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Counter counter, org.eclipse.microprofile.metrics.Metadata metadata)
- Specified by:
export
in interfaceMetricExporter
-
export
public void export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.ConcurrentGauge gauge, org.eclipse.microprofile.metrics.Metadata metadata)
- Specified by:
export
in interfaceMetricExporter
-
export
public void export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Gauge<?> gauge, org.eclipse.microprofile.metrics.Metadata metadata)
- Specified by:
export
in interfaceMetricExporter
-
export
public void export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Histogram histogram, org.eclipse.microprofile.metrics.Metadata metadata)
- Specified by:
export
in interfaceMetricExporter
-
export
public void export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Meter meter, org.eclipse.microprofile.metrics.Metadata metadata)
- Specified by:
export
in interfaceMetricExporter
-
export
public void export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.SimpleTimer timer, org.eclipse.microprofile.metrics.Metadata metadata)
- Specified by:
export
in interfaceMetricExporter
-
export
public void export(org.eclipse.microprofile.metrics.MetricID metricID, org.eclipse.microprofile.metrics.Timer timer, org.eclipse.microprofile.metrics.Metadata metadata)
- Specified by:
export
in interfaceMetricExporter
-
appendTYPE
protected void appendTYPE(String globalName, OpenMetricsExporter.OpenMetricsType type)
-
appendHELP
protected void appendHELP(String globalName, org.eclipse.microprofile.metrics.Metadata metadata)
-
appendValue
protected void appendValue(String globalName, org.eclipse.microprofile.metrics.Tag[] tags, Number value)
-
tagsToString
protected static String tagsToString(org.eclipse.microprofile.metrics.Tag[] tags)
-
-