use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class MetricsPluginSummaryTest method testSummaryProcessing.
@Test
public void testSummaryProcessing() throws JsonProcessingException {
SummaryDataPoint dataPoint = SummaryDataPoint.newBuilder().addQuantileValues(SummaryDataPoint.ValueAtQuantile.newBuilder().setQuantile(0.5).setValue(100).build()).addQuantileValues(SummaryDataPoint.ValueAtQuantile.newBuilder().setQuantile(0.7).setValue(250).build()).build();
Summary summary = Summary.newBuilder().addDataPoints(dataPoint).build();
Metric metric = Metric.newBuilder().setSummary(summary).setUnit("seconds").setName("name").setDescription("description").build();
InstrumentationLibraryMetrics instLib = InstrumentationLibraryMetrics.newBuilder().addMetrics(metric).build();
Resource resource = Resource.newBuilder().addAttributes(KeyValue.newBuilder().setKey("service.name").setValue(AnyValue.newBuilder().setStringValue("service").build())).build();
ResourceMetrics resourceMetrics = ResourceMetrics.newBuilder().setResource(resource).addInstrumentationLibraryMetrics(instLib).build();
ExportMetricsServiceRequest exportMetricRequest = ExportMetricsServiceRequest.newBuilder().addResourceMetrics(resourceMetrics).build();
Record record = new Record<>(exportMetricRequest);
List<Record<Event>> rec = (List<Record<Event>>) rawProcessor.doExecute(Arrays.asList(record));
Record<Event> firstRecord = rec.get(0);
ObjectMapper objectMapper = new ObjectMapper();
Map map = objectMapper.readValue(firstRecord.getData().toJsonString(), Map.class);
assertSumProcessing(map);
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ServiceMapStatefulPrepper method addServiceMapRelationship.
private void addServiceMapRelationship(final Collection<Record<Event>> serviceDependencyRecords, final ServiceMapRelationship serviceMapRelationship) {
if (!RELATIONSHIP_STATE.contains(serviceMapRelationship)) {
try {
final Event destinationRelationshipEvent = JacksonEvent.builder().withEventType(EVENT_TYPE).withData(serviceMapRelationship).build();
serviceDependencyRecords.add(new Record<>(destinationRelationshipEvent));
RELATIONSHIP_STATE.add(serviceMapRelationship);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class OpenSearchSinkIT method testEventOutput.
@Test
public void testEventOutput() throws IOException, InterruptedException {
final Event testEvent = JacksonEvent.builder().withData("{\"log\": \"foobar\"}").withEventType("event").build();
final List<Record<Object>> testRecords = Collections.singletonList(new Record<>(testEvent));
final PluginSetting pluginSetting = generatePluginSetting(true, false, null, null);
final OpenSearchSink sink = new OpenSearchSink(pluginSetting);
sink.output(testRecords);
final String expIndexAlias = IndexConstants.TYPE_TO_DEFAULT_ALIAS.get(IndexType.TRACE_ANALYTICS_RAW);
final List<Map<String, Object>> retSources = getSearchResponseDocSources(expIndexAlias);
final Map<String, Object> expectedContent = new HashMap<>();
expectedContent.put("log", "foobar");
MatcherAssert.assertThat(retSources.size(), equalTo(1));
MatcherAssert.assertThat(retSources.containsAll(Arrays.asList(expectedContent)), equalTo(true));
MatcherAssert.assertThat(getDocumentCount(expIndexAlias, "log", "foobar"), equalTo(Integer.valueOf(1)));
sink.shutdown();
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class DateProcessorTests method from_time_received_with_default_destination_test.
@Test
void from_time_received_with_default_destination_test() {
when(mockDateProcessorConfig.getFromTimeReceived()).thenReturn(true);
when(mockDateProcessorConfig.getDestinationZoneId()).thenReturn(ZoneId.systemDefault());
expectedInstant = Instant.now();
dateProcessor = createObjectUnderTest();
Map<String, Object> testData = getTestData();
final Record<Event> record = new Record<>(JacksonEvent.builder().withData(testData).withEventType("event").withTimeReceived(expectedInstant).build());
final List<Record<Event>> processedRecords = (List<Record<Event>>) dateProcessor.doExecute(Collections.singletonList(record));
ZonedDateTime actualZonedDateTime = processedRecords.get(0).getData().get(TIMESTAMP_KEY, ZonedDateTime.class);
Assertions.assertEquals(0, actualZonedDateTime.toInstant().compareTo(expectedInstant.truncatedTo(ChronoUnit.MILLIS)));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class DateProcessorTests method match_with_missing_hours_minutes_seconds_adds_zeros_test.
@Test
void match_with_missing_hours_minutes_seconds_adds_zeros_test() {
when(mockDateMatch.getKey()).thenReturn("logDate");
when(mockDateMatch.getPatterns()).thenReturn(Collections.singletonList(pattern1));
List<DateProcessorConfig.DateMatch> dateMatches = Collections.singletonList(mockDateMatch);
when(mockDateProcessorConfig.getMatch()).thenReturn(dateMatches);
when(mockDateProcessorConfig.getSourceZoneId()).thenReturn(ZoneId.of("UTC"));
when(mockDateProcessorConfig.getDestinationZoneId()).thenReturn(ZoneId.systemDefault());
when(mockDateProcessorConfig.getSourceLocale()).thenReturn(Locale.ROOT);
dateProcessor = createObjectUnderTest();
LocalDate localDate = LocalDate.now(ZoneId.of("UTC"));
testData = getTestData();
testData.put("logDate", localDate.toString());
final Record<Event> record = buildRecordWithEvent(testData);
final List<Record<Event>> processedRecords = (List<Record<Event>>) dateProcessor.doExecute(Collections.singletonList(record));
ZonedDateTime actualZonedDateTime = processedRecords.get(0).getData().get(TIMESTAMP_KEY, ZonedDateTime.class);
ZonedDateTime expectedZonedDateTime = localDate.atStartOfDay().atZone(ZoneId.of("UTC"));
Assertions.assertTrue(actualZonedDateTime.isEqual(expectedZonedDateTime));
verify(dateProcessingMatchSuccessCounter, times(1)).increment();
}
Aggregations