Search in sources :

Example 1 with SpanBlockFilter

use of com.wavefront.agent.preprocessor.SpanBlockFilter in project java by wavefrontHQ.

the class SpanUtilsTest method testSpanTagBlockPreprocessor.

@Test
public void testSpanTagBlockPreprocessor() {
    Supplier<ReportableEntityPreprocessor> preprocessorSupplier = () -> {
        ReportableEntityPreprocessor preprocessor = new ReportableEntityPreprocessor();
        PreprocessorRuleMetrics preprocessorRuleMetrics = new PreprocessorRuleMetrics(null, null, null);
        preprocessor.forSpan().addFilter(new SpanBlockFilter(SERVICE_TAG_KEY, "^test.*", null, preprocessorRuleMetrics));
        return preprocessor;
    };
    String spanLine = "\"valid.metric\" \"source\"=\"localdev\" " + "\"spanId\"=\"4217104a-690d-4927-baff-d9aa779414c2\" " + "\"traceId\"=\"d5355bf7-fc8d-48d1-b761-75b170f396e0\" " + "\"application\"=\"app\" \"service\"=\"test\" " + startTime + " 100";
    mockTraceHandler.block(new Span("valid.metric", "4217104a-690d-4927-baff" + "-d9aa779414c2", "d5355bf7-fc8d-48d1-b761-75b170f396e0", startTime, 100L, "localdev", "dummy", ImmutableList.of(new Annotation("application", "app"), new Annotation("service", "test"))));
    expectLastCall();
    replay(mockTraceHandler, mockTraceSpanLogsHandler);
    preprocessAndHandleSpan(spanLine, spanDecoder, mockTraceHandler, mockTraceHandler::report, preprocessorSupplier, null, span -> true);
    verify(mockTraceHandler);
}
Also used : PreprocessorRuleMetrics(com.wavefront.agent.preprocessor.PreprocessorRuleMetrics) ReportableEntityPreprocessor(com.wavefront.agent.preprocessor.ReportableEntityPreprocessor) SpanBlockFilter(com.wavefront.agent.preprocessor.SpanBlockFilter) SpanUtils.preprocessAndHandleSpan(com.wavefront.agent.listeners.tracing.SpanUtils.preprocessAndHandleSpan) Span(wavefront.report.Span) Annotation(wavefront.report.Annotation) Test(org.junit.Test)

Example 2 with SpanBlockFilter

use of com.wavefront.agent.preprocessor.SpanBlockFilter in project java by wavefrontHQ.

the class SpanUtilsTest method testSpanLineDataBlockPreprocessor.

@Test
public void testSpanLineDataBlockPreprocessor() {
    Supplier<ReportableEntityPreprocessor> preprocessorSupplier = () -> {
        ReportableEntityPreprocessor preprocessor = new ReportableEntityPreprocessor();
        PreprocessorRuleMetrics preprocessorRuleMetrics = new PreprocessorRuleMetrics(null, null, null);
        preprocessor.forPointLine().addFilter(new LineBasedAllowFilter("^valid.*", preprocessorRuleMetrics));
        preprocessor.forSpan().addFilter(new SpanBlockFilter(SERVICE_TAG_KEY, "^test.*", null, preprocessorRuleMetrics));
        return preprocessor;
    };
    String spanLine = "\"valid.metric\" \"source\"=\"localdev\" " + "\"spanId\"=\"4217104a-690d-4927-baff-d9aa779414c2\" " + "\"traceId\"=\"d5355bf7-fc8d-48d1-b761-75b170f396e0\" " + "\"application\"=\"app\" \"service\"=\"svc\" " + startTime + " 100";
    mockTraceHandler.block(null, spanLine);
    expectLastCall();
    replay(mockTraceHandler, mockTraceSpanLogsHandler);
    preprocessAndHandleSpan(spanLine, spanDecoder, mockTraceHandler, mockTraceHandler::report, preprocessorSupplier, null, span -> true);
    verify(mockTraceHandler);
}
Also used : PreprocessorRuleMetrics(com.wavefront.agent.preprocessor.PreprocessorRuleMetrics) ReportableEntityPreprocessor(com.wavefront.agent.preprocessor.ReportableEntityPreprocessor) LineBasedAllowFilter(com.wavefront.agent.preprocessor.LineBasedAllowFilter) SpanBlockFilter(com.wavefront.agent.preprocessor.SpanBlockFilter) Test(org.junit.Test)

Example 3 with SpanBlockFilter

use of com.wavefront.agent.preprocessor.SpanBlockFilter in project java by wavefrontHQ.

the class SpanUtilsTest method testSpanLogsTagBlockPreprocessor.

@Test
public void testSpanLogsTagBlockPreprocessor() {
    Supplier<ReportableEntityPreprocessor> preprocessorSupplier = () -> {
        ReportableEntityPreprocessor preprocessor = new ReportableEntityPreprocessor();
        PreprocessorRuleMetrics preprocessorRuleMetrics = new PreprocessorRuleMetrics(null, null, null);
        preprocessor.forSpan().addFilter(new SpanBlockFilter(SERVICE_TAG_KEY, "^test.*", null, preprocessorRuleMetrics));
        return preprocessor;
    };
    String spanLine = "\"invalid.metric\" \"source\"=\"localdev\" " + "\"spanId\"=\"4217104a-690d-4927-baff-d9aa779414c2\" " + "\"traceId\"=\"d5355bf7-fc8d-48d1-b761-75b170f396e0\" " + "\"application\"=\"app\" \"service\"=\"test\" " + startTime + " 100";
    String spanLogsLine = "{" + "\"customer\":\"dummy\"," + "\"traceId\":\"d5355bf7-fc8d-48d1-b761-75b170f396e0\"," + "\"spanId\":\"4217104a-690d-4927-baff-d9aa779414c2\"," + "\"logs\":[{\"timestamp\":" + startTime + ",\"fields\":{\"error" + ".kind\":\"exception\", \"event\":\"error\"}}]," + "\"span\":\"\\\"invalid.metric\\\" \\\"source\\\"=\\\"localdev\\\" " + "\\\"spanId\\\"=\\\"4217104a-690d-4927-baff-d9aa779414c2\\\" " + "\\\"traceId\\\"=\\\"d5355bf7-fc8d-48d1-b761-75b170f396e0\\\" " + "\\\"application\\\"=\\\"app\\\" \\\"service\\\"=\\\"test\\\" " + startTime + " 100\"" + "}";
    SpanLogs spanLogs = SpanLogs.newBuilder().setSpan(spanLine).setTraceId("d5355bf7-fc8d-48d1-b761-75b170f396e0").setSpanId("4217104a-690d-4927-baff-d9aa779414c2").setCustomer("dummy").setLogs(ImmutableList.of(SpanLog.newBuilder().setFields(new HashMap<String, String>() {

        {
            put("error.kind", "exception");
            put("event", "error");
        }
    }).setTimestamp(startTime).build())).build();
    mockTraceSpanLogsHandler.block(spanLogs);
    expectLastCall();
    replay(mockTraceHandler, mockTraceSpanLogsHandler);
    handleSpanLogs(spanLogsLine, spanLogsDocoder, spanDecoder, mockTraceSpanLogsHandler, preprocessorSupplier, null, span -> true);
    verify(mockTraceSpanLogsHandler);
}
Also used : PreprocessorRuleMetrics(com.wavefront.agent.preprocessor.PreprocessorRuleMetrics) ReportableEntityPreprocessor(com.wavefront.agent.preprocessor.ReportableEntityPreprocessor) HashMap(java.util.HashMap) SpanLogs(wavefront.report.SpanLogs) SpanUtils.handleSpanLogs(com.wavefront.agent.listeners.tracing.SpanUtils.handleSpanLogs) SpanBlockFilter(com.wavefront.agent.preprocessor.SpanBlockFilter) Test(org.junit.Test)

Aggregations

PreprocessorRuleMetrics (com.wavefront.agent.preprocessor.PreprocessorRuleMetrics)3 ReportableEntityPreprocessor (com.wavefront.agent.preprocessor.ReportableEntityPreprocessor)3 SpanBlockFilter (com.wavefront.agent.preprocessor.SpanBlockFilter)3 Test (org.junit.Test)3 SpanUtils.handleSpanLogs (com.wavefront.agent.listeners.tracing.SpanUtils.handleSpanLogs)1 SpanUtils.preprocessAndHandleSpan (com.wavefront.agent.listeners.tracing.SpanUtils.preprocessAndHandleSpan)1 LineBasedAllowFilter (com.wavefront.agent.preprocessor.LineBasedAllowFilter)1 HashMap (java.util.HashMap)1 Annotation (wavefront.report.Annotation)1 Span (wavefront.report.Span)1 SpanLogs (wavefront.report.SpanLogs)1