Search in sources :

Example 41 with Event

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);
}
Also used : Resource(io.opentelemetry.proto.resource.v1.Resource) InstrumentationLibraryMetrics(io.opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics) ResourceMetrics(io.opentelemetry.proto.metrics.v1.ResourceMetrics) Summary(io.opentelemetry.proto.metrics.v1.Summary) Event(com.amazon.dataprepper.model.event.Event) Metric(io.opentelemetry.proto.metrics.v1.Metric) Record(com.amazon.dataprepper.model.record.Record) List(java.util.List) SummaryDataPoint(io.opentelemetry.proto.metrics.v1.SummaryDataPoint) Map(java.util.Map) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) ExportMetricsServiceRequest(io.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest) Test(org.junit.Test)

Example 42 with Event

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);
        }
    }
}
Also used : JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) Event(com.amazon.dataprepper.model.event.Event) BrokenBarrierException(java.util.concurrent.BrokenBarrierException)

Example 43 with Event

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();
}
Also used : HashMap(java.util.HashMap) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) Event(com.amazon.dataprepper.model.event.Event) Record(com.amazon.dataprepper.model.record.Record) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) PluginSetting(com.amazon.dataprepper.model.configuration.PluginSetting) Map(java.util.Map) HashMap(java.util.HashMap) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 44 with Event

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)));
}
Also used : ZonedDateTime(java.time.ZonedDateTime) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) Event(com.amazon.dataprepper.model.event.Event) Record(com.amazon.dataprepper.model.record.Record) List(java.util.List) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 45 with Event

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();
}
Also used : ZonedDateTime(java.time.ZonedDateTime) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) Event(com.amazon.dataprepper.model.event.Event) Record(com.amazon.dataprepper.model.record.Record) List(java.util.List) LocalDate(java.time.LocalDate) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

Event (com.amazon.dataprepper.model.event.Event)81 Test (org.junit.jupiter.api.Test)52 JacksonEvent (com.amazon.dataprepper.model.event.JacksonEvent)46 Record (com.amazon.dataprepper.model.record.Record)23 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)22 List (java.util.List)12 TestObject (org.opensearch.dataprepper.expression.util.TestObject)11 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)10 ArrayList (java.util.ArrayList)7 HashMap (java.util.HashMap)7 MethodSource (org.junit.jupiter.params.provider.MethodSource)6 ZonedDateTime (java.time.ZonedDateTime)5 Map (java.util.Map)5 ParseTree (org.antlr.v4.runtime.tree.ParseTree)4 AggregateActionInput (com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionInput)3 InputStream (java.io.InputStream)3 LinkedList (java.util.LinkedList)3 Random (java.util.Random)3 Test (org.junit.Test)3 ValueSource (org.junit.jupiter.params.provider.ValueSource)3