Search in sources :

Example 6 with PreprocessorRuleMetrics

use of com.wavefront.agent.preprocessor.PreprocessorRuleMetrics 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 7 with PreprocessorRuleMetrics

use of com.wavefront.agent.preprocessor.PreprocessorRuleMetrics 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 8 with PreprocessorRuleMetrics

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

the class SpanUtilsTest method testSpanLogsLineDataBlockPreprocessor.

@Test
public void testSpanLogsLineDataBlockPreprocessor() {
    Supplier<ReportableEntityPreprocessor> preprocessorSupplier = () -> {
        ReportableEntityPreprocessor preprocessor = new ReportableEntityPreprocessor();
        PreprocessorRuleMetrics preprocessorRuleMetrics = new PreprocessorRuleMetrics(null, null, null);
        preprocessor.forPointLine().addFilter(new LineBasedBlockFilter(".*invalid.*", preprocessorRuleMetrics));
        return preprocessor;
    };
    String spanLine = "\"invalid.metric\" \"source\"=\"localdev\" " + "\"spanId\"=\"4217104a-690d-4927-baff-d9aa779414c2\" " + "\"traceId\"=\"d5355bf7-fc8d-48d1-b761-75b170f396e0\" " + "\"application\"=\"app\" \"service\"=\"svc\" " + 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\\\"=\\\"svc\\\" " + 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) LineBasedBlockFilter(com.wavefront.agent.preprocessor.LineBasedBlockFilter) HashMap(java.util.HashMap) SpanLogs(wavefront.report.SpanLogs) SpanUtils.handleSpanLogs(com.wavefront.agent.listeners.tracing.SpanUtils.handleSpanLogs) Test(org.junit.Test)

Example 9 with PreprocessorRuleMetrics

use of com.wavefront.agent.preprocessor.PreprocessorRuleMetrics 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)9 ReportableEntityPreprocessor (com.wavefront.agent.preprocessor.ReportableEntityPreprocessor)8 Test (org.junit.Test)8 HashMap (java.util.HashMap)6 SpanSampler (com.wavefront.agent.sampler.SpanSampler)5 Annotation (wavefront.report.Annotation)5 SpanReplaceRegexTransformer (com.wavefront.agent.preprocessor.SpanReplaceRegexTransformer)4 RateSampler (com.wavefront.sdk.entities.tracing.sampling.RateSampler)4 Span (wavefront.report.Span)4 SpanBlockFilter (com.wavefront.agent.preprocessor.SpanBlockFilter)3 SpanLogs (wavefront.report.SpanLogs)3 ImmutableList (com.google.common.collect.ImmutableList)2 HealthCheckManagerImpl (com.wavefront.agent.channel.HealthCheckManagerImpl)2 NoopHealthCheckManager (com.wavefront.agent.channel.NoopHealthCheckManager)2 ReportableEntityHandler (com.wavefront.agent.handlers.ReportableEntityHandler)2 SpanUtils.handleSpanLogs (com.wavefront.agent.listeners.tracing.SpanUtils.handleSpanLogs)2 ByteBuf (io.netty.buffer.ByteBuf)2 DefaultFullHttpRequest (io.netty.handler.codec.http.DefaultFullHttpRequest)2 FullHttpRequest (io.netty.handler.codec.http.FullHttpRequest)2 ImmutableMap (com.google.common.collect.ImmutableMap)1