Object
CsvMetricExporter
- All Implemented Interfaces:
AggregationTemporalitySelector
,DefaultAggregationSelector
,MetricExporter
,Closeable
,AutoCloseable
Push Metric Exporter to CSV file.
CSV file later can be imported to:
- ElastiSearch: Kibana - Stack Management - Saved Objects - Import
- Grafana using CSV plugin
Currently supporter metric types:
MetricDataType.LONG_SUM
MetricDataType.HISTOGRAM
For each of supported MetricDataType
it produces a separate CSV file like:
counter.csv
METRIC_NAME START_TIME END_TIME VALUE
detected_objects_total 2023-02-12T00:53:45.663Z 2023-02-12T00:53:48.662Z 0
input_tensors_total 2023-02-12T00:53:45.663Z 2023-02-12T00:53:48.662Z 2
detected_objects_total 2023-02-12T00:53:51.662Z 2023-02-12T00:53:54.662Z 0
Usage
var metricReader = PeriodicMetricReader
.builder(new CsvMetricExporter(Paths.get("/tmp/mymetrics")))
.setInterval(Duration.ofSeconds(3))
.build();
var sdkMeterProvider = SdkMeterProvider.builder()
.registerMetricReader(metricReader).build();
OpenTelemetrySdk.builder()
.setMeterProvider(sdkMeterProvider)
.buildAndRegisterGlobal();
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCompletableResultCode
export
(Collection<MetricData> metrics) CompletableResultCode
flush()
AggregationTemporality
getAggregationTemporality
(InstrumentType instrumentType) CompletableResultCode
shutdown()
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface DefaultAggregationSelector
with
Methods inherited from interface MetricExporter
close, getDefaultAggregation, getMemoryMode
-
Constructor Details
-
CsvMetricExporter
- Parameters:
metricsFolder
- path to folder where all CSV files are located- Throws:
IOException
-
-
Method Details
-
export
- Specified by:
export
in interfaceMetricExporter
-
flush
public CompletableResultCode flush()- Specified by:
flush
in interfaceMetricExporter
-
shutdown
public CompletableResultCode shutdown()- Specified by:
shutdown
in interfaceMetricExporter
-
getAggregationTemporality
public AggregationTemporality getAggregationTemporality(InstrumentType instrumentType) - Specified by:
getAggregationTemporality
in interfaceAggregationTemporalitySelector
-