use of com.amazon.dataprepper.model.record.Record in project data-prepper by opensearch-project.
the class AbstractBufferTest method testWriteAllMetrics.
@Test
public void testWriteAllMetrics() throws Exception {
// Given
final AbstractBuffer<Record<String>> abstractBuffer = new AbstractBufferImpl(testPluginSetting);
final Collection<Record<String>> testRecords = new ArrayList<>();
for (int i = 0; i < 5; i++) {
testRecords.add(new Record<>(UUID.randomUUID().toString()));
}
// When
abstractBuffer.writeAll(testRecords, 1000);
// Then
final List<Measurement> recordsWrittenMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(PIPELINE_NAME).add(BUFFER_NAME).add(MetricNames.RECORDS_WRITTEN).toString());
final List<Measurement> writeTimeMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(PIPELINE_NAME).add(BUFFER_NAME).add(MetricNames.WRITE_TIME_ELAPSED).toString());
Assert.assertEquals(1, recordsWrittenMeasurements.size());
Assert.assertEquals(5.0, recordsWrittenMeasurements.get(0).getValue(), 0);
Assert.assertEquals(1.0, MetricsTestUtil.getMeasurementFromList(writeTimeMeasurements, Statistic.COUNT).getValue(), 0);
Assert.assertTrue(MetricsTestUtil.isBetween(MetricsTestUtil.getMeasurementFromList(writeTimeMeasurements, Statistic.TOTAL_TIME).getValue(), 0.05, 0.25));
}
use of com.amazon.dataprepper.model.record.Record in project data-prepper by opensearch-project.
the class AbstractBufferTest method testWriteMetrics.
@Test
public void testWriteMetrics() throws TimeoutException {
// Given
final AbstractBuffer<Record<String>> abstractBuffer = new AbstractBufferImpl(testPluginSetting);
// When
for (int i = 0; i < 5; i++) {
abstractBuffer.write(new Record<>(UUID.randomUUID().toString()), 1000);
}
// Then
final List<Measurement> recordsWrittenMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(PIPELINE_NAME).add(BUFFER_NAME).add(MetricNames.RECORDS_WRITTEN).toString());
final List<Measurement> writeTimeMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(PIPELINE_NAME).add(BUFFER_NAME).add(MetricNames.WRITE_TIME_ELAPSED).toString());
Assert.assertEquals(1, recordsWrittenMeasurements.size());
Assert.assertEquals(5.0, recordsWrittenMeasurements.get(0).getValue(), 0);
Assert.assertEquals(5.0, MetricsTestUtil.getMeasurementFromList(writeTimeMeasurements, Statistic.COUNT).getValue(), 0);
Assert.assertTrue(MetricsTestUtil.isBetween(MetricsTestUtil.getMeasurementFromList(writeTimeMeasurements, Statistic.TOTAL_TIME).getValue(), 0.45, 0.65));
}
use of com.amazon.dataprepper.model.record.Record in project data-prepper by opensearch-project.
the class AbstractBufferTest method testWriteTimeoutMetric.
@Test
public void testWriteTimeoutMetric() throws TimeoutException {
// Given
final AbstractBuffer<Record<String>> abstractBuffer = new AbstractBufferTimeoutImpl(testPluginSetting);
// When/Then
Assert.assertThrows(TimeoutException.class, () -> abstractBuffer.write(new Record<>(UUID.randomUUID().toString()), 1000));
final List<Measurement> timeoutMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(PIPELINE_NAME).add(BUFFER_NAME).add(MetricNames.WRITE_TIMEOUTS).toString());
Assert.assertEquals(1, timeoutMeasurements.size());
Assert.assertEquals(1.0, timeoutMeasurements.get(0).getValue(), 0);
}
use of com.amazon.dataprepper.model.record.Record in project data-prepper by opensearch-project.
the class AbstractPrepperTest method testMetrics.
@Test
public void testMetrics() {
final String prepperName = "testPrepper";
final String pipelineName = "pipelineName";
MetricsTestUtil.initMetrics();
PluginSetting pluginSetting = new PluginSetting(prepperName, Collections.emptyMap());
pluginSetting.setPipelineName(pipelineName);
AbstractPrepper<Record<String>, Record<String>> prepper = new PrepperImpl(pluginSetting);
prepper.execute(Arrays.asList(new Record<>("Value1"), new Record<>("Value2"), new Record<>("Value3")));
final List<Measurement> recordsInMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(pipelineName).add(prepperName).add(MetricNames.RECORDS_IN).toString());
final List<Measurement> recordsOutMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(pipelineName).add(prepperName).add(MetricNames.RECORDS_OUT).toString());
final List<Measurement> elapsedTimeMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(pipelineName).add(prepperName).add(MetricNames.TIME_ELAPSED).toString());
Assert.assertEquals(1, recordsInMeasurements.size());
Assert.assertEquals(3.0, recordsInMeasurements.get(0).getValue(), 0);
Assert.assertEquals(1, recordsOutMeasurements.size());
Assert.assertEquals(6.0, recordsOutMeasurements.get(0).getValue(), 0);
Assert.assertEquals(3, elapsedTimeMeasurements.size());
Assert.assertEquals(1.0, MetricsTestUtil.getMeasurementFromList(elapsedTimeMeasurements, Statistic.COUNT).getValue(), 0);
Assert.assertTrue(MetricsTestUtil.isBetween(MetricsTestUtil.getMeasurementFromList(elapsedTimeMeasurements, Statistic.TOTAL_TIME).getValue(), 0.1, 0.2));
}
use of com.amazon.dataprepper.model.record.Record in project data-prepper by opensearch-project.
the class AbstractProcessorTest method testMetricsWithPluginMetricsConstructor.
@Test
public void testMetricsWithPluginMetricsConstructor() {
final String processorName = "testProcessor";
final String pipelineName = "testPipeline";
MetricsTestUtil.initMetrics();
PluginMetrics pluginMetrics = PluginMetrics.fromNames(processorName, pipelineName);
AbstractProcessor<Record<String>, Record<String>> processor = new ProcessorImpl(pluginMetrics);
processor.execute(Arrays.asList(new Record<>("Value1"), new Record<>("Value2"), new Record<>("Value3")));
final List<Measurement> recordsInMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(pipelineName).add(processorName).add(MetricNames.RECORDS_IN).toString());
final List<Measurement> recordsOutMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(pipelineName).add(processorName).add(MetricNames.RECORDS_OUT).toString());
final List<Measurement> elapsedTimeMeasurements = MetricsTestUtil.getMeasurementList(new StringJoiner(MetricNames.DELIMITER).add(pipelineName).add(processorName).add(MetricNames.TIME_ELAPSED).toString());
Assertions.assertEquals(1, recordsInMeasurements.size());
Assertions.assertEquals(3.0, recordsInMeasurements.get(0).getValue(), 0);
Assertions.assertEquals(1, recordsOutMeasurements.size());
Assertions.assertEquals(6.0, recordsOutMeasurements.get(0).getValue(), 0);
Assertions.assertEquals(3, elapsedTimeMeasurements.size());
Assertions.assertEquals(1.0, MetricsTestUtil.getMeasurementFromList(elapsedTimeMeasurements, Statistic.COUNT).getValue(), 0);
Assertions.assertTrue(MetricsTestUtil.isBetween(MetricsTestUtil.getMeasurementFromList(elapsedTimeMeasurements, Statistic.TOTAL_TIME).getValue(), 0.1, 0.2));
}
Aggregations