11package com .datadog .debugger .agent ;
22
3+ import com .datadog .debugger .probe .DebuggerProbe ;
34import com .datadog .debugger .probe .ExceptionProbe ;
45import com .datadog .debugger .probe .LogProbe ;
56import com .datadog .debugger .probe .MetricProbe ;
@@ -65,6 +66,7 @@ public int hashCode() {
6566 private final Collection <MetricProbe > metricProbes ;
6667 private final Collection <LogProbe > logProbes ;
6768 private final Collection <SpanProbe > spanProbes ;
69+ private final Collection <DebuggerProbe > debuggerProbes ;
6870 private final Collection <SpanDecorationProbe > spanDecorationProbes ;
6971 private final FilterList allowList ;
7072 private final FilterList denyList ;
@@ -79,14 +81,15 @@ public Configuration(
7981 Collection <MetricProbe > metricProbes ,
8082 Collection <LogProbe > logProbes ,
8183 Collection <SpanProbe > spanProbes ) {
82- this (serviceName , metricProbes , logProbes , spanProbes , null , null , null , null );
84+ this (serviceName , metricProbes , logProbes , spanProbes , null , null , null , null , null );
8385 }
8486
8587 public Configuration (
8688 String serviceName ,
8789 Collection <MetricProbe > metricProbes ,
8890 Collection <LogProbe > logProbes ,
8991 Collection <SpanProbe > spanProbes ,
92+ Collection <DebuggerProbe > debuggerProbes ,
9093 Collection <SpanDecorationProbe > spanDecorationProbes ,
9194 FilterList allowList ,
9295 FilterList denyList ,
@@ -95,6 +98,7 @@ public Configuration(
9598 this .metricProbes = metricProbes ;
9699 this .logProbes = logProbes ;
97100 this .spanProbes = spanProbes ;
101+ this .debuggerProbes = debuggerProbes ;
98102 this .spanDecorationProbes = spanDecorationProbes ;
99103 this .allowList = allowList ;
100104 this .denyList = denyList ;
@@ -117,6 +121,10 @@ public Collection<SpanProbe> getSpanProbes() {
117121 return spanProbes ;
118122 }
119123
124+ public Collection <DebuggerProbe > getDebuggerProbes () {
125+ return debuggerProbes ;
126+ }
127+
120128 public Collection <SpanDecorationProbe > getSpanDecorationProbes () {
121129 return spanDecorationProbes ;
122130 }
@@ -135,6 +143,9 @@ public LogProbe.Sampling getSampling() {
135143
136144 public Collection <ProbeDefinition > getDefinitions () {
137145 Collection <ProbeDefinition > result = new ArrayList <>();
146+ if (debuggerProbes != null ) {
147+ result .addAll (debuggerProbes );
148+ }
138149 if (metricProbes != null ) {
139150 result .addAll (metricProbes );
140151 }
@@ -198,6 +209,7 @@ public static class Builder {
198209 private List <MetricProbe > metricProbes = null ;
199210 private List <LogProbe > logProbes = null ;
200211 private List <SpanProbe > spanProbes = null ;
212+ private List <DebuggerProbe > debuggerProbes = null ;
201213 private List <SpanDecorationProbe > spanDecorationProbes = null ;
202214 private FilterList allowList = null ;
203215 private FilterList denyList = null ;
@@ -214,6 +226,7 @@ public Configuration.Builder add(Collection<? extends ProbeDefinition> definitio
214226 }
215227 for (ProbeDefinition definition : definitions ) {
216228 if (definition instanceof MetricProbe ) add ((MetricProbe ) definition );
229+ if (definition instanceof DebuggerProbe ) add ((DebuggerProbe ) definition );
217230 if (definition instanceof LogProbe ) add ((LogProbe ) definition );
218231 if (definition instanceof SpanProbe ) add ((SpanProbe ) definition );
219232 if (definition instanceof SpanDecorationProbe ) add ((SpanDecorationProbe ) definition );
@@ -245,6 +258,14 @@ public Configuration.Builder add(SpanProbe probe) {
245258 return this ;
246259 }
247260
261+ public Configuration .Builder add (DebuggerProbe probe ) {
262+ if (debuggerProbes == null ) {
263+ debuggerProbes = new ArrayList <>();
264+ }
265+ debuggerProbes .add (probe );
266+ return this ;
267+ }
268+
248269 public Configuration .Builder add (SpanDecorationProbe probe ) {
249270 if (spanDecorationProbes == null ) {
250271 spanDecorationProbes = new ArrayList <>();
@@ -300,6 +321,16 @@ public Configuration.Builder addSpanProbes(Collection<SpanProbe> probes) {
300321 return this ;
301322 }
302323
324+ public Configuration .Builder addDebuggerProbes (Collection <DebuggerProbe > probes ) {
325+ if (probes == null ) {
326+ return this ;
327+ }
328+ for (DebuggerProbe probe : probes ) {
329+ add (probe );
330+ }
331+ return this ;
332+ }
333+
303334 public Configuration .Builder addSpanDecorationProbes (Collection <SpanDecorationProbe > probes ) {
304335 if (probes == null ) {
305336 return this ;
@@ -346,6 +377,7 @@ public Configuration.Builder add(Configuration other) {
346377 addMetricProbes (other .getMetricProbes ());
347378 addLogProbes (other .getLogProbes ());
348379 addSpanProbes (other .getSpanProbes ());
380+ addDebuggerProbes (other .getDebuggerProbes ());
349381 addSpanDecorationProbes (other .getSpanDecorationProbes ());
350382 addAllowList (other .getAllowList ());
351383 addDenyList (other .getDenyList ());
@@ -359,6 +391,7 @@ public Configuration build() {
359391 metricProbes ,
360392 logProbes ,
361393 spanProbes ,
394+ debuggerProbes ,
362395 spanDecorationProbes ,
363396 allowList ,
364397 denyList ,
0 commit comments