1
1
package com .datadog .debugger .agent ;
2
2
3
+ import com .datadog .debugger .probe .DebuggerProbe ;
3
4
import com .datadog .debugger .probe .ExceptionProbe ;
4
5
import com .datadog .debugger .probe .LogProbe ;
5
6
import com .datadog .debugger .probe .MetricProbe ;
@@ -65,6 +66,7 @@ public int hashCode() {
65
66
private final Collection <MetricProbe > metricProbes ;
66
67
private final Collection <LogProbe > logProbes ;
67
68
private final Collection <SpanProbe > spanProbes ;
69
+ private final Collection <DebuggerProbe > debuggerProbes ;
68
70
private final Collection <SpanDecorationProbe > spanDecorationProbes ;
69
71
private final FilterList allowList ;
70
72
private final FilterList denyList ;
@@ -79,14 +81,15 @@ public Configuration(
79
81
Collection <MetricProbe > metricProbes ,
80
82
Collection <LogProbe > logProbes ,
81
83
Collection <SpanProbe > spanProbes ) {
82
- this (serviceName , metricProbes , logProbes , spanProbes , null , null , null , null );
84
+ this (serviceName , metricProbes , logProbes , spanProbes , null , null , null , null , null );
83
85
}
84
86
85
87
public Configuration (
86
88
String serviceName ,
87
89
Collection <MetricProbe > metricProbes ,
88
90
Collection <LogProbe > logProbes ,
89
91
Collection <SpanProbe > spanProbes ,
92
+ Collection <DebuggerProbe > debuggerProbes ,
90
93
Collection <SpanDecorationProbe > spanDecorationProbes ,
91
94
FilterList allowList ,
92
95
FilterList denyList ,
@@ -95,6 +98,7 @@ public Configuration(
95
98
this .metricProbes = metricProbes ;
96
99
this .logProbes = logProbes ;
97
100
this .spanProbes = spanProbes ;
101
+ this .debuggerProbes = debuggerProbes ;
98
102
this .spanDecorationProbes = spanDecorationProbes ;
99
103
this .allowList = allowList ;
100
104
this .denyList = denyList ;
@@ -117,6 +121,10 @@ public Collection<SpanProbe> getSpanProbes() {
117
121
return spanProbes ;
118
122
}
119
123
124
+ public Collection <DebuggerProbe > getDebuggerProbes () {
125
+ return debuggerProbes ;
126
+ }
127
+
120
128
public Collection <SpanDecorationProbe > getSpanDecorationProbes () {
121
129
return spanDecorationProbes ;
122
130
}
@@ -135,6 +143,9 @@ public LogProbe.Sampling getSampling() {
135
143
136
144
public Collection <ProbeDefinition > getDefinitions () {
137
145
Collection <ProbeDefinition > result = new ArrayList <>();
146
+ if (debuggerProbes != null ) {
147
+ result .addAll (debuggerProbes );
148
+ }
138
149
if (metricProbes != null ) {
139
150
result .addAll (metricProbes );
140
151
}
@@ -198,6 +209,7 @@ public static class Builder {
198
209
private List <MetricProbe > metricProbes = null ;
199
210
private List <LogProbe > logProbes = null ;
200
211
private List <SpanProbe > spanProbes = null ;
212
+ private List <DebuggerProbe > debuggerProbes = null ;
201
213
private List <SpanDecorationProbe > spanDecorationProbes = null ;
202
214
private FilterList allowList = null ;
203
215
private FilterList denyList = null ;
@@ -214,6 +226,7 @@ public Configuration.Builder add(Collection<? extends ProbeDefinition> definitio
214
226
}
215
227
for (ProbeDefinition definition : definitions ) {
216
228
if (definition instanceof MetricProbe ) add ((MetricProbe ) definition );
229
+ if (definition instanceof DebuggerProbe ) add ((DebuggerProbe ) definition );
217
230
if (definition instanceof LogProbe ) add ((LogProbe ) definition );
218
231
if (definition instanceof SpanProbe ) add ((SpanProbe ) definition );
219
232
if (definition instanceof SpanDecorationProbe ) add ((SpanDecorationProbe ) definition );
@@ -245,6 +258,14 @@ public Configuration.Builder add(SpanProbe probe) {
245
258
return this ;
246
259
}
247
260
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
+
248
269
public Configuration .Builder add (SpanDecorationProbe probe ) {
249
270
if (spanDecorationProbes == null ) {
250
271
spanDecorationProbes = new ArrayList <>();
@@ -300,6 +321,16 @@ public Configuration.Builder addSpanProbes(Collection<SpanProbe> probes) {
300
321
return this ;
301
322
}
302
323
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
+
303
334
public Configuration .Builder addSpanDecorationProbes (Collection <SpanDecorationProbe > probes ) {
304
335
if (probes == null ) {
305
336
return this ;
@@ -346,6 +377,7 @@ public Configuration.Builder add(Configuration other) {
346
377
addMetricProbes (other .getMetricProbes ());
347
378
addLogProbes (other .getLogProbes ());
348
379
addSpanProbes (other .getSpanProbes ());
380
+ addDebuggerProbes (other .getDebuggerProbes ());
349
381
addSpanDecorationProbes (other .getSpanDecorationProbes ());
350
382
addAllowList (other .getAllowList ());
351
383
addDenyList (other .getDenyList ());
@@ -359,6 +391,7 @@ public Configuration build() {
359
391
metricProbes ,
360
392
logProbes ,
361
393
spanProbes ,
394
+ debuggerProbes ,
362
395
spanDecorationProbes ,
363
396
allowList ,
364
397
denyList ,
0 commit comments