-
Notifications
You must be signed in to change notification settings - Fork 301
Request Test Management tests list #8345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request Test Management tests list #8345
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 56 metrics, 7 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1040623
Total [baseline] (10.459 s) : 0, 10458645
Agent [candidate] (1.05 s) : 0, 1049677
Total [candidate] (10.45 s) : 0, 10449500
section appsec
Agent [baseline] (1.188 s) : 0, 1187880
Total [baseline] (10.73 s) : 0, 10730033
Agent [candidate] (1.188 s) : 0, 1188469
Total [candidate] (10.748 s) : 0, 10748366
section iast
Agent [baseline] (1.17 s) : 0, 1169811
Total [baseline] (10.967 s) : 0, 10966814
Agent [candidate] (1.181 s) : 0, 1181371
Total [candidate] (10.985 s) : 0, 10984595
section profiling
Agent [baseline] (1.273 s) : 0, 1272578
Total [baseline] (10.894 s) : 0, 10894288
Agent [candidate] (1.271 s) : 0, 1271067
Total [candidate] (10.902 s) : 0, 10901921
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.291 ms) : 0, 715291
BytebuddyAgent [candidate] (720.742 ms) : 0, 720742
GlobalTracer [baseline] (242.226 ms) : 0, 242226
GlobalTracer [candidate] (245.522 ms) : 0, 245522
AppSec [baseline] (55.213 ms) : 0, 55213
AppSec [candidate] (55.72 ms) : 0, 55720
Remote Config [baseline] (717.02 Β΅s) : 0, 717
Remote Config [candidate] (724.97 Β΅s) : 0, 725
Telemetry [baseline] (12.007 ms) : 0, 12007
Telemetry [candidate] (11.673 ms) : 0, 11673
section appsec
BytebuddyAgent [baseline] (735.468 ms) : 0, 735468
BytebuddyAgent [candidate] (735.457 ms) : 0, 735457
GlobalTracer [baseline] (240.941 ms) : 0, 240941
GlobalTracer [candidate] (241.294 ms) : 0, 241294
AppSec [baseline] (176.415 ms) : 0, 176415
AppSec [candidate] (176.435 ms) : 0, 176435
Remote Config [baseline] (665.3 Β΅s) : 0, 665
Remote Config [candidate] (658.05 Β΅s) : 0, 658
Telemetry [baseline] (8.28 ms) : 0, 8280
Telemetry [candidate] (8.625 ms) : 0, 8625
IAST [baseline] (21.697 ms) : 0, 21697
IAST [candidate] (21.387 ms) : 0, 21387
section iast
BytebuddyAgent [baseline] (832.362 ms) : 0, 832362
BytebuddyAgent [candidate] (841.083 ms) : 0, 841083
GlobalTracer [baseline] (233.126 ms) : 0, 233126
GlobalTracer [candidate] (235.433 ms) : 0, 235433
AppSec [baseline] (56.978 ms) : 0, 56978
AppSec [candidate] (57.244 ms) : 0, 57244
Remote Config [baseline] (617.872 Β΅s) : 0, 618
Remote Config [candidate] (630.784 Β΅s) : 0, 631
Telemetry [baseline] (8.665 ms) : 0, 8665
Telemetry [candidate] (8.753 ms) : 0, 8753
IAST [baseline] (22.833 ms) : 0, 22833
IAST [candidate] (22.832 ms) : 0, 22832
section profiling
ProfilingAgent [baseline] (96.614 ms) : 0, 96614
ProfilingAgent [candidate] (96.819 ms) : 0, 96819
BytebuddyAgent [baseline] (712.133 ms) : 0, 712133
BytebuddyAgent [candidate] (711.316 ms) : 0, 711316
GlobalTracer [baseline] (355.81 ms) : 0, 355810
GlobalTracer [candidate] (355.658 ms) : 0, 355658
AppSec [baseline] (55.662 ms) : 0, 55662
AppSec [candidate] (55.038 ms) : 0, 55038
Remote Config [baseline] (703.876 Β΅s) : 0, 704
Remote Config [candidate] (714.908 Β΅s) : 0, 715
Telemetry [baseline] (8.966 ms) : 0, 8966
Telemetry [candidate] (8.975 ms) : 0, 8975
Profiling [baseline] (96.641 ms) : 0, 96641
Profiling [candidate] (96.846 ms) : 0, 96846
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.049 s) : 0, 1049234
Total [baseline] (8.675 s) : 0, 8675368
Agent [candidate] (1.046 s) : 0, 1045882
Total [candidate] (8.642 s) : 0, 8642146
section iast
Agent [baseline] (1.171 s) : 0, 1170750
Total [baseline] (9.263 s) : 0, 9262891
Agent [candidate] (1.178 s) : 0, 1177757
Total [candidate] (9.238 s) : 0, 9237793
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.172 s) : 0, 1171701
Total [baseline] (9.203 s) : 0, 9202651
Agent [candidate] (1.169 s) : 0, 1168996
Total [candidate] (9.194 s) : 0, 9193654
section iast_TELEMETRY_OFF
Agent [baseline] (1.171 s) : 0, 1171165
Total [baseline] (9.214 s) : 0, 9214460
Agent [candidate] (1.179 s) : 0, 1178960
Total [candidate] (9.221 s) : 0, 9221221
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (722.377 ms) : 0, 722377
BytebuddyAgent [candidate] (716.851 ms) : 0, 716851
GlobalTracer [baseline] (244.572 ms) : 0, 244572
GlobalTracer [candidate] (244.055 ms) : 0, 244055
AppSec [baseline] (55.396 ms) : 0, 55396
AppSec [candidate] (55.346 ms) : 0, 55346
Remote Config [baseline] (735.522 Β΅s) : 0, 736
Remote Config [candidate] (720.721 Β΅s) : 0, 721
Telemetry [baseline] (10.8 ms) : 0, 10800
Telemetry [candidate] (13.716 ms) : 0, 13716
section iast
BytebuddyAgent [baseline] (833.101 ms) : 0, 833101
BytebuddyAgent [candidate] (839.323 ms) : 0, 839323
GlobalTracer [baseline] (233.367 ms) : 0, 233367
GlobalTracer [candidate] (234.435 ms) : 0, 234435
IAST [baseline] (22.753 ms) : 0, 22753
IAST [candidate] (24.013 ms) : 0, 24013
AppSec [baseline] (56.785 ms) : 0, 56785
AppSec [candidate] (55.422 ms) : 0, 55422
Remote Config [baseline] (626.436 Β΅s) : 0, 626
Remote Config [candidate] (612.074 Β΅s) : 0, 612
Telemetry [baseline] (8.814 ms) : 0, 8814
Telemetry [candidate] (8.677 ms) : 0, 8677
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (834.548 ms) : 0, 834548
BytebuddyAgent [candidate] (831.617 ms) : 0, 831617
GlobalTracer [baseline] (233.57 ms) : 0, 233570
GlobalTracer [candidate] (233.16 ms) : 0, 233160
IAST [baseline] (22.699 ms) : 0, 22699
IAST [candidate] (25.049 ms) : 0, 25049
AppSec [baseline] (56.381 ms) : 0, 56381
AppSec [candidate] (54.762 ms) : 0, 54762
Remote Config [baseline] (614.776 Β΅s) : 0, 615
Remote Config [candidate] (602.934 Β΅s) : 0, 603
Telemetry [baseline] (8.655 ms) : 0, 8655
Telemetry [candidate] (8.656 ms) : 0, 8656
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (833.366 ms) : 0, 833366
BytebuddyAgent [candidate] (838.761 ms) : 0, 838761
GlobalTracer [baseline] (233.909 ms) : 0, 233909
GlobalTracer [candidate] (235.792 ms) : 0, 235792
IAST [baseline] (26.975 ms) : 0, 26975
IAST [candidate] (26.322 ms) : 0, 26322
AppSec [baseline] (52.298 ms) : 0, 52298
AppSec [candidate] (53.255 ms) : 0, 53255
Remote Config [baseline] (615.804 Β΅s) : 0, 616
Remote Config [candidate] (622.443 Β΅s) : 0, 622
Telemetry [baseline] (8.702 ms) : 0, 8702
Telemetry [candidate] (8.755 ms) : 0, 8755
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 13 metrics, 15 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section baseline
no_agent (385.689 Β΅s) : 363, 408
. : milestone, 386,
iast (509.819 Β΅s) : 488, 531
. : milestone, 510,
iast_FULL (745.398 Β΅s) : 723, 767
. : milestone, 745,
iast_GLOBAL (555.358 Β΅s) : 533, 577
. : milestone, 555,
iast_HARDCODED_SECRET_DISABLED (510.819 Β΅s) : 489, 533
. : milestone, 511,
iast_INACTIVE (463.437 Β΅s) : 442, 485
. : milestone, 463,
iast_TELEMETRY_OFF (497.689 Β΅s) : 475, 520
. : milestone, 498,
tracing (457.974 Β΅s) : 437, 479
. : milestone, 458,
section candidate
no_agent (376.74 Β΅s) : 356, 397
. : milestone, 377,
iast (505.249 Β΅s) : 484, 527
. : milestone, 505,
iast_FULL (745.831 Β΅s) : 724, 768
. : milestone, 746,
iast_GLOBAL (556.846 Β΅s) : 535, 579
. : milestone, 557,
iast_HARDCODED_SECRET_DISABLED (513.027 Β΅s) : 491, 535
. : milestone, 513,
iast_INACTIVE (457.251 Β΅s) : 436, 478
. : milestone, 457,
iast_TELEMETRY_OFF (499.057 Β΅s) : 476, 522
. : milestone, 499,
tracing (454.911 Β΅s) : 434, 476
. : milestone, 455,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section baseline
no_agent (1.364 ms) : 1344, 1383
. : milestone, 1364,
appsec (1.742 ms) : 1719, 1765
. : milestone, 1742,
appsec_no_iast (1.754 ms) : 1729, 1779
. : milestone, 1754,
iast (1.52 ms) : 1496, 1544
. : milestone, 1520,
profiling (1.525 ms) : 1500, 1550
. : milestone, 1525,
tracing (1.499 ms) : 1474, 1523
. : milestone, 1499,
section candidate
no_agent (1.36 ms) : 1341, 1380
. : milestone, 1360,
appsec (1.748 ms) : 1725, 1772
. : milestone, 1748,
appsec_no_iast (1.753 ms) : 1726, 1780
. : milestone, 1753,
iast (1.517 ms) : 1492, 1541
. : milestone, 1517,
profiling (1.512 ms) : 1489, 1535
. : milestone, 1512,
tracing (1.492 ms) : 1468, 1517
. : milestone, 1492,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section baseline
no_agent (1.474 ms) : 1463, 1486
. : milestone, 1474,
appsec (2.386 ms) : 2342, 2430
. : milestone, 2386,
iast (2.121 ms) : 2065, 2177
. : milestone, 2121,
iast_GLOBAL (2.162 ms) : 2107, 2218
. : milestone, 2162,
profiling (2.005 ms) : 1959, 2051
. : milestone, 2005,
tracing (1.958 ms) : 1916, 2001
. : milestone, 1958,
section candidate
no_agent (1.477 ms) : 1465, 1488
. : milestone, 1477,
appsec (2.376 ms) : 2332, 2420
. : milestone, 2376,
iast (2.111 ms) : 2056, 2166
. : milestone, 2111,
iast_GLOBAL (2.165 ms) : 2109, 2220
. : milestone, 2165,
profiling (1.982 ms) : 1939, 2026
. : milestone, 1982,
tracing (1.963 ms) : 1920, 2005
. : milestone, 1963,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~870e4fcfa9, baseline=1.47.0-SNAPSHOT~ec92bff4fb
dateFormat X
axisFormat %s
section baseline
no_agent (14.977 s) : 14977000, 14977000
. : milestone, 14977000,
appsec (14.817 s) : 14817000, 14817000
. : milestone, 14817000,
iast (19.147 s) : 19147000, 19147000
. : milestone, 19147000,
iast_GLOBAL (18.115 s) : 18115000, 18115000
. : milestone, 18115000,
profiling (15.581 s) : 15581000, 15581000
. : milestone, 15581000,
tracing (14.788 s) : 14788000, 14788000
. : milestone, 14788000,
section candidate
no_agent (14.86 s) : 14860000, 14860000
. : milestone, 14860000,
appsec (15.185 s) : 15185000, 15185000
. : milestone, 15185000,
iast (19.017 s) : 19017000, 19017000
. : milestone, 19017000,
iast_GLOBAL (18.086 s) : 18086000, 18086000
. : milestone, 18086000,
profiling (14.914 s) : 14914000, 14914000
. : milestone, 14914000,
tracing (15.027 s) : 15027000, 15027000
. : milestone, 15027000,
|
@@ -50,5 +56,8 @@ Map<String, Collection<TestIdentifier>> getFlakyTestsByModule(TracerEnvironment | |||
Map<String, Collection<TestIdentifier>> getKnownTestsByModule(TracerEnvironment tracerEnvironment) | |||
throws IOException; | |||
|
|||
Map<String, Map<String, Collection<TestIdentifier>>> getTestManagementTestsByModule( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map<String, Map<String, Collection<TestIdentifier>>>
might be difficult to comprehend when we revisit this code in a few months :)
Let's see if we can apply stronger typing, e.g. something along the lines of Map<String, Map<TestManagementStatus, Collection<TestIdentifier>>>
.
Where TestManagementStatus
is an enum with possible values quarantined
, disabled
, attemptToFix
(TestManagementStatus
might not be the best name for it, we can consider alternatives too, like TestManagementStrategy
or TestManagementBehavior
).
My main point is what we expect here is a set of values that are known to the tracer, if we cement this with some compile-time safety, the code will be easier to reason about.
TracerEnvironment tracerEnvironment) throws IOException { | ||
OkHttpUtils.CustomListener telemetryListener = | ||
new TelemetryListener.Builder(metricCollector) | ||
.requestCount(CiVisibilityCountMetric.TEST_MANAGEMENT_TESTS_DETECTION_REQUEST) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "detection" made sense in "Impacted Tests Detection" as that was the name of the feature.
Here, I think, TEST_MANAGEMENT_TESTS_REQUEST
is enough
@Nullable private final Collection<TestIdentifier> flakyTests; | ||
@Nullable private final Collection<TestIdentifier> knownTests; | ||
@Nonnull private final Collection<TestIdentifier> quarantinedTests; | ||
@Nonnull private final Collection<TestIdentifier> disabledTests; | ||
@Nonnull private final Collection<TestIdentifier> attemptToFixTests; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thats' a lot of collections, I'm concerned about the possible memory footprint.
I think it'd be more efficient (and concise and easier to comprehend too) to have a single Map<TestIdentifer, TestSettings>
where the value would contain all the possible settings for a given test (is flaky, is known, is quarantined, is disabled, is attempted to fix).
Could even be a map of <TestIdentifier, Integer>
where integer is a bit mask (a bit low level, but memory-efficient, and the complexity is tolerable if we encapsulate it in this class and expose a higher-level API).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
skippableTests
should be separate though, as there the identifier includes test parameters.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which makes me think of another issue: in some places where TestIdentifier
is used, it includes parameters, while in others the parameters are omitted (because the backend doesn't give us that data).
It's not good that we have to guess whether a particular lookup should be done with parameters or without them, and the more logic we have using TestIdentifier
, the more convoluted things become.
Perhaps it is the right time to introduce something like TestFQN
(meaning "fully-qualified name"; as usual, naming things is the hard part) - something that identifies a test not taking its parameters into account - to make it clear what is expected where.
And then we could have something like TestIdentifer#toFQN
to convert one thing into the other.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should flakyTests
also be separate? I see that they can include test parameters as well in the request
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, but it seems like they are never used with the parameters (the comparison is always done with TestIdentifier#withoutParameters
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I don't think the backend returns parameters for flaky tests. The test case is not accurate
Map<String, Collection<TestIdentifier>> quarantinedTestsByModule = | ||
testManagementTestsByModule != null | ||
? testManagementTestsByModule.get("quarantined") | ||
: Collections.emptyMap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If getTestManagementTestsByModule
returned an empty map in case of failure, we could simplify this bit (and the others here) to
testManagementTestsByModule.getOrDefault("quarantined", Collections.emptyMap());
"test-c": { | ||
"properties": { | ||
"quarantined": true, | ||
"disabled": false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's maybe have one more example here where the flags are omitted rather than set to false
, as this is what the backend will probably do.
@@ -170,14 +250,17 @@ public boolean equals(Object o) { | |||
return itrEnabled == that.itrEnabled | |||
&& codeCoverageEnabled == that.codeCoverageEnabled | |||
&& testSkippingEnabled == that.testSkippingEnabled | |||
&& flakyTestRetriesEnabled == that.flakyTestRetriesEnabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@nikita-tkachenko-datadog flakyTestRetriesEnabled
and impactedTestsDetectionEnabled
used to not be check both in equals
and hashCode
methods. I've included them, but if there was a reason for this I can remove them again
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No reason that I can remember, I just forgot to add them most likely.
The equals
is used by the serialisation tests, so it's best to add every field. If a field is absent the tests will not validate whether it was serialised/deserialised correctly.
|
||
private void addTest(TestFQN test, TestSettings setting) { | ||
int existingFlag = testSettings.getOrDefault(test, 0); | ||
testSettings.put(test, TestSettings.addSetting(existingFlag, setting)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can avoid the extra map lookup by doing testSettings.merge(test, setting.flag, (a, b) -> a | b);
@@ -170,14 +250,17 @@ public boolean equals(Object o) { | |||
return itrEnabled == that.itrEnabled | |||
&& codeCoverageEnabled == that.codeCoverageEnabled | |||
&& testSkippingEnabled == that.testSkippingEnabled | |||
&& flakyTestRetriesEnabled == that.flakyTestRetriesEnabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No reason that I can remember, I just forgot to add them most likely.
The equals
is used by the serialisation tests, so it's best to add every field. If a field is absent the tests will not validate whether it was serialised/deserialised correctly.
import datadog.trace.civisibility.ipc.serialization.Serializer; | ||
import java.nio.ByteBuffer; | ||
|
||
public enum TestSettings { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's rename this class to TestSetting
singular to adhere to the common conventions
this.flakyTests = flakyTests; | ||
this.knownTests = knownTests; | ||
this.flakyTestsReceived = flakyTestsReceived; | ||
this.knownTestsReceived = knownTestsReceived; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can get rid of the two "received" flags and use getSettingCount
with a special value of -1
for the same purpose
@Nonnull | ||
public Map<TestIdentifier, TestMetadata> getSkippableTests() { | ||
return skippableTests; | ||
public boolean wereFlakyTestsReceived() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest renaming to something like isFlakyTestsDataAvailable()
, "received" in the name seems too implementation-specific
public TestFQN toFQN() { | ||
return fqn; | ||
} | ||
|
||
public TestIdentifier withoutParameters() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is withoutParameters()
still used? We should replace it with toFQN
and drop if possible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
withoutParameters()
was replaced by toFQN
, but wasn't removed. Good catch.
disabledTests.forEach(fqn -> addTest(fqn, TestSettings.DISABLED)); | ||
attemptToFixTests.forEach(fqn -> addTest(fqn, TestSettings.ATTEMPT_TO_FIX)); | ||
|
||
settingsCount = new HashMap<>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's use EnumMap
, it's slightly more efficient both time- and spacewise
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra bonus points for adding a new utility method to the serializer, one that would allow to provide the type of map you want to instantiate on deserialisation
return name; | ||
} | ||
|
||
public static int addSetting(int flag, TestSettings setting) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public static int addSetting(int flag, TestSettings setting) { | |
public static int set(int mask, TestSettings setting) { |
return flag | setting.flag; | ||
} | ||
|
||
public static boolean isSetting(int flag, TestSettings setting) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public static boolean isSetting(int flag, TestSettings setting) { | |
public static boolean isSet(int mask, TestSettings setting) { |
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `1.46.1` -> `1.47.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.30.33` -> `2.30.34` | --- ### Release Notes <details> <summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary> ### [`v1.47.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.47.0): 1.47.0 ##### Components ##### Application Security Management (IAST) - π Exclude com.stripe.net.HttpURLConnectionClient to solve IAST SSRF vulnerability false positives ([#​8483](DataDog/dd-trace-java#8483) - [@​jandro996](https://github.com/jandro996)) - π Add exclusion to solve IAST weak randomness vulnerability false positives ([#​8462](DataDog/dd-trace-java#8462) - [@​jandro996](https://github.com/jandro996)) - β¨ Fix weak randomness false positive in Kafka client ([#​8408](DataDog/dd-trace-java#8408) - [@​smola](https://github.com/smola)) - β¨ Fix location for SSRF with Kong Unirest ([#​8407](DataDog/dd-trace-java#8407) - [@​smola](https://github.com/smola)) - β¨ Exclude IBM Instana from IAST ([#​8406](DataDog/dd-trace-java#8406) - [@​smola](https://github.com/smola)) - π Fix org.json iast instrumentation test for latest dependency ([#​8347](DataDog/dd-trace-java#8347) - [@​jandro996](https://github.com/jandro996)) - β¨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) - β¨ Address cookie vulnerability cardinality issues ([#​8210](DataDog/dd-trace-java#8210) - [@​jandro996](https://github.com/jandro996)) - β¨ Email HTML Injection detection in IAST ([#​8205](DataDog/dd-trace-java#8205) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Application Security Management (WAF) - πβ¨ Ensure usr.exists tag is not overridden when UsernameNotFoundException is thrown ([#​8376](DataDog/dd-trace-java#8376) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - πβ¨ Ensure usr.exists tag is not overridden by auto instrumentation ([#​8374](DataDog/dd-trace-java#8374) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - β¨ Update appsec metrics with event_rules_version tag ([#​8354](DataDog/dd-trace-java#8354) - [@​sezen-datadog](https://github.com/sezen-datadog)) - β¨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) - β¨ Improve ASM support in vert.x 5.0 ([#​8285](DataDog/dd-trace-java#8285) - [@​manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez)) - β¨ Update metrics: appsec.waf.updates and appsec.waf.init ([#​8280](DataDog/dd-trace-java#8280) - [@​Mariovido](https://github.com/Mariovido)) - β¨ Configuration to Disable APM Tracing ([#​8219](DataDog/dd-trace-java#8219) - [@​jandro996](https://github.com/jandro996)) ##### Build & Tooling - π Do not generate Muzzle references for primitive arrays in method body ([#​8361](DataDog/dd-trace-java#8361) - [@​amarziali](https://github.com/amarziali)) - π Improve dev env setup documentation for Windows ([#​8180](DataDog/dd-trace-java#8180) - [@​lucaspimentel](https://github.com/lucaspimentel)) ##### Continuous Integration Visibility - β¨ Add support for skip-EFD tagging ([#​8487](DataDog/dd-trace-java#8487) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - π Fix an NPE in Gradle Android instrumentation ([#​8484](DataDog/dd-trace-java#8484) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - β¨ Consider modified tests when applying fail-fast tests ordering ([#​8474](DataDog/dd-trace-java#8474) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - β¨ Implement tests reordering for TestNG ([#​8467](DataDog/dd-trace-java#8467) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - π Fix Gradle Launcher instrumentation to not interfere with Gradle Test Kit ([#​8465](DataDog/dd-trace-java#8465) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - π§Ή Use separate TestEventHandlers per framework in CI Vis instrumentations ([#​8451](DataDog/dd-trace-java#8451) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - β¨ Remove warning log when JUnit 4 test method cannot be retrieved ([#​8445](DataDog/dd-trace-java#8445) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - π Fix Scalatest tracing for tests that are reported asynchronously ([#​8444](DataDog/dd-trace-java#8444) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - β¨ Implement attempt to fix tests ([#​8393](DataDog/dd-trace-java#8393) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - β¨ Implement test disabling ([#​8377](DataDog/dd-trace-java#8377) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - β¨ Update CODEOWNERS parser to not log errors on comments with leading whitespace ([#​8349](DataDog/dd-trace-java#8349) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - β¨ Request Test Management tests list ([#​8345](DataDog/dd-trace-java#8345) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - β¨ Receive test management settings from CIVis settings request ([#​8331](DataDog/dd-trace-java#8331) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) - β¨ Implement quarantined tests tagging ([#​8326](DataDog/dd-trace-java#8326) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - β¨ Implement tests quarantining ([#​8320](DataDog/dd-trace-java#8320) - [@​nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog)) - β¨ Add tag to specify if the user is setting DD_SERVICE ([#​8318](DataDog/dd-trace-java#8318) - [@​daniel-mohedano](https://github.com/daniel-mohedano)) ##### Crash tracking - β¨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - π Use Java home of the crashed process to launch crash uploader ([#​8348](DataDog/dd-trace-java#8348) - [@​jbachorik](https://github.com/jbachorik)) ##### Data Streams Monitoring - π Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - π Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) - π Fix service name overrides in consumers ([#​8387](DataDog/dd-trace-java#8387) - [@​piochelepiotr](https://github.com/piochelepiotr)) ##### Database Monitoring - β¨ Add DBMTracePreparedStatements to tracer configuration log ([#​8508](DataDog/dd-trace-java#8508) - [@​cecile75](https://github.com/cecile75)) ##### Dynamic Instrumentation - β¨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - π Fix Exception Replay with Lambda proxy classes ([#​8452](DataDog/dd-trace-java#8452) - [@​jpbempel](https://github.com/jpbempel)) - β¨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - β¨ Add support for scanning jar from loaded class ([#​8370](DataDog/dd-trace-java#8370) - [@​jpbempel](https://github.com/jpbempel)) - π Disable capture of entry values ([#​8369](DataDog/dd-trace-java#8369) - [@​jpbempel](https://github.com/jpbempel)) - π Fix CodeOrigin for `@Trace` annotation ([#​8344](DataDog/dd-trace-java#8344) - [@​jpbempel](https://github.com/jpbempel)) - π Fix equals/hashCode for CodeOrigin probe ([#​8319](DataDog/dd-trace-java#8319) - [@​jpbempel](https://github.com/jpbempel)) - β¨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### Metrics - β¨ Create metric: appsec.waf.error ([#​8381](DataDog/dd-trace-java#8381) - [@​sezen-datadog](https://github.com/sezen-datadog)) - β¨ Create metric: appsec.rasp.error ([#​8364](DataDog/dd-trace-java#8364) - [@​sezen-datadog](https://github.com/sezen-datadog)) ##### Profiling - β¨ Bump ddprof library to 1.22.0 ([#​8463](DataDog/dd-trace-java#8463) - [@​jbachorik](https://github.com/jbachorik)) - IBM J9 8u361 corresponds to OpenJDK 8u362 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#187 - Fix compatibility with musl libc 1.2.4 by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#189 - Modify version extraction by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#179 - Do not write null values to jvminfo event by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#184 - Productize VMStructs-based stack walker by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#177 - A few minor downport issues by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#180 - Enable ASGCT by default on fairly safe J9 JDK versions by [@​jbachorik](https://github.com/jbachorik) in DataDog/java-profiler#181 - π Exclude OrderedThreadPoolExecutor from queue-time measurements ([#​8456](DataDog/dd-trace-java#8456) - [@​jbachorik](https://github.com/jbachorik)) - β¨ Record JVM info on JVMs without JFR ([#​8431](DataDog/dd-trace-java#8431) - [@​jbachorik](https://github.com/jbachorik)) - π Actually use CleanupTask in TempLocationManager ([#​8420](DataDog/dd-trace-java#8420) - [@​mcculls](https://github.com/mcculls)) - β¨ Only fork jps when required ([#​8419](DataDog/dd-trace-java#8419) - [@​mcculls](https://github.com/mcculls)) - π Adjust JFR checks for J9 ([#​8405](DataDog/dd-trace-java#8405) - [@​jbachorik](https://github.com/jbachorik)) - π§Ή Disable smap RSS parsing by default ([#​8342](DataDog/dd-trace-java#8342) - [@​MattAlp](https://github.com/MattAlp)) ##### Telemetry - π Add support for JBoss jar:file format to DependencyResolver ([#​8428](DataDog/dd-trace-java#8428) - [@​jandro996](https://github.com/jandro996)) - β¨ Update metrics: appsec.waf.requests ([#​8353](DataDog/dd-trace-java#8353) - [@​Mariovido](https://github.com/Mariovido)) ##### Trace context propagation - β¨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Tracer core - π Fix Stable Config telemetry source names ([#​8460](DataDog/dd-trace-java#8460) - [@​BaptisteFoy](https://github.com/BaptisteFoy)) - β¨ Probe trace endpoints with a valid payload of empty arrays ([#​8414](DataDog/dd-trace-java#8414) - [@​mcculls](https://github.com/mcculls)) - β¨ Add 1 minute fail-safe to JUL/JMX class-loading callback ([#​8399](DataDog/dd-trace-java#8399) - [@​mcculls](https://github.com/mcculls)) - β¨ Migrate DSM injection calls to context-first APIs ([#​8383](DataDog/dd-trace-java#8383) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - π§Ή Move continuation capture methods from scope to tracer ([#​8371](DataDog/dd-trace-java#8371) - [@​mcculls](https://github.com/mcculls)) - β¨ Migrate context extraction calls to context-first APIs ([#​8368](DataDog/dd-trace-java#8368) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - π§Ή Migrate context injection calls to context-first APIs ([#​8358](DataDog/dd-trace-java#8358) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - π‘ Support reading configurations from files ([#​8338](DataDog/dd-trace-java#8338) - [@​mtoffl01](https://github.com/mtoffl01)) - π‘ Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - π§Ή Combine continuation implementations into one which supports multiple activations ([#​8324](DataDog/dd-trace-java#8324) - [@​mcculls](https://github.com/mcculls)) - β¨ Introduce tracing propagator ([#​8313](DataDog/dd-trace-java#8313) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) - β¨ Remove old context propagation API ([#​8271](DataDog/dd-trace-java#8271) - [@​PerfectSlayer](https://github.com/PerfectSlayer)) ##### Instrumentations ##### AWS Lambda instrumentation - π Send error message and stack to Lambda extension ([#​8417](DataDog/dd-trace-java#8417) - [@​nhulston](https://github.com/nhulston)) ##### AWS SDK instrumentation - π Fix error happening when sqs message attributes are readonly ([#​8473](DataDog/dd-trace-java#8473) - [@​vandonr](https://github.com/vandonr)) - π‘ Inject trace context into AWS Step Functions input ([#​7585](DataDog/dd-trace-java#7585) - [@​DylanLovesCoffee](https://github.com/DylanLovesCoffee)) ##### Core Java language instrumentation - β¨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) - β¨ Add code origin support for spring-webmvc ([#​8416](DataDog/dd-trace-java#8416) - [@​evanchooly](https://github.com/evanchooly)) - π‘ Implementation of BaggagePropagator and BaggageContext ([#​8330](DataDog/dd-trace-java#8330) - [@​mhlidd](https://github.com/mhlidd)) - β¨ Add code origin support to kafka message listeners ([#​8301](DataDog/dd-trace-java#8301) - [@​evanchooly](https://github.com/evanchooly)) ##### gRPC instrumentation - β¨ Look in another location for grpc service methods ([#​8468](DataDog/dd-trace-java#8468) - [@​evanchooly](https://github.com/evanchooly)) ##### Kafka instrumentation - β¨ Add messaging.destination.name tag to kafka integrations ([#​8366](DataDog/dd-trace-java#8366) - [@​rarguelloF](https://github.com/rarguelloF)) ##### Protocol Buffer instrumentation - π Fix bug on proto schema extraction ([#​8403](DataDog/dd-trace-java#8403) - [@​vandonr](https://github.com/vandonr)) </details> --- ### Configuration π **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). π¦ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β» **Rebasing**: Never, or you tick the rebase/retry checkbox. π» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 108a0f86aa59ab4c938cbac0688dd4c19cb301fa
What Does This Do
Motivation
Second step in the implementation of Flaky Test Management.
Additional Notes
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: SDTEST-1530