|
29 | 29 | import datadog.trace.bootstrap.instrumentation.api.ScopeSource; |
30 | 30 | import datadog.trace.bootstrap.instrumentation.api.Tags; |
31 | 31 | import datadog.trace.core.CoreTracer; |
32 | | -import java.util.ArrayList; |
33 | | -import java.util.List; |
34 | 32 | import java.util.stream.Stream; |
35 | 33 | import org.junit.jupiter.api.Assertions; |
36 | 34 | import org.junit.jupiter.api.Test; |
@@ -84,23 +82,24 @@ public void noDebugSession() { |
84 | 82 | @Test |
85 | 83 | public void budgets() { |
86 | 84 | BudgetSink sink = new BudgetSink(getConfig(), mock(ProbeStatusSink.class)); |
87 | | - |
88 | 85 | DebuggerAgentHelper.injectSink(sink); |
89 | | - assertEquals(0, sink.captures.size()); |
| 86 | + |
90 | 87 | TracerAPI tracer = |
91 | 88 | CoreTracer.builder().idGenerationStrategy(IdGenerationStrategy.fromName("random")).build(); |
92 | 89 | AgentTracer.registerIfAbsent(tracer); |
93 | 90 | int runs = 100; |
94 | 91 | for (int i = 0; i < runs; i++) { |
95 | 92 | runTrace(tracer, true); |
96 | 93 | } |
97 | | - assertEquals(runs * LogProbe.CAPTURING_PROBE_BUDGET, sink.captures.size()); |
| 94 | + assertEquals(runs * LogProbe.CAPTURING_PROBE_BUDGET, sink.captures); |
98 | 95 |
|
99 | | - runs = 2000; |
| 96 | + sink = new BudgetSink(getConfig(), mock(ProbeStatusSink.class)); |
| 97 | + DebuggerAgentHelper.injectSink(sink); |
| 98 | + runs = 1010; |
100 | 99 | for (int i = 0; i < runs; i++) { |
101 | 100 | runTrace(tracer, false); |
102 | 101 | } |
103 | | - assertEquals(runs * LogProbe.NON_CAPTURING_PROBE_BUDGET, sink.highRate.size()); |
| 102 | + assertEquals(runs * LogProbe.NON_CAPTURING_PROBE_BUDGET, sink.highRate); |
104 | 103 | } |
105 | 104 |
|
106 | 105 | private void runTrace(TracerAPI tracer, boolean captureSnapshot) { |
@@ -312,21 +311,21 @@ private Builder createLog(String template) { |
312 | 311 |
|
313 | 312 | private static class BudgetSink extends DebuggerSink { |
314 | 313 |
|
315 | | - public List<Snapshot> captures = new ArrayList<>(); |
316 | | - public List<Snapshot> highRate = new ArrayList<>(); |
| 314 | + public int captures; |
| 315 | + public int highRate; |
317 | 316 |
|
318 | 317 | public BudgetSink(Config config, ProbeStatusSink probeStatusSink) { |
319 | 318 | super(config, probeStatusSink); |
320 | 319 | } |
321 | 320 |
|
322 | 321 | @Override |
323 | 322 | public void addHighRateSnapshot(Snapshot snapshot) { |
324 | | - highRate.add(snapshot); |
| 323 | + highRate++; |
325 | 324 | } |
326 | 325 |
|
327 | 326 | @Override |
328 | 327 | public void addSnapshot(Snapshot snapshot) { |
329 | | - captures.add(snapshot); |
| 328 | + captures++; |
330 | 329 | } |
331 | 330 |
|
332 | 331 | @Override |
|
0 commit comments