Skip to content
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

Fix error when serializing skippable tests whose names contain non-ASCII characters #6182

Merged

Conversation

nikita-tkachenko-datadog
Copy link
Contributor

@nikita-tkachenko-datadog nikita-tkachenko-datadog commented Nov 9, 2023

What Does This Do

Fixes serialisation of SkippableTest objects whose suite or test case names contain non-ASCII characters.

Motivation

Such tests are valid, exist and should be supported.

Additional Notes

Skippable tests are serialised when sent from the parent process (build system) to the children processes (JVMs forked for tests execution).

Jira ticket: CIVIS-7964

@nikita-tkachenko-datadog nikita-tkachenko-datadog added type: bug comp: ci visibility Continuous Integration Visibility labels Nov 9, 2023
@nikita-tkachenko-datadog nikita-tkachenko-datadog marked this pull request as ready for review November 9, 2023 13:40
@pr-commenter
Copy link

pr-commenter bot commented Nov 9, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.23.0-SNAPSHOT~5c6be267a2 1.23.0-SNAPSHOT~920a1291f9
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 54 cases.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.23.0-SNAPSHOT~920a1291f9, baseline=1.23.0-SNAPSHOT~5c6be267a2

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.042 s) : 0, 1041680
Total [baseline] (8.805 s) : 0, 8804579
Agent [candidate] (1.05 s) : 0, 1049658
Total [candidate] (8.81 s) : 0, 8810309
section iast
Agent [baseline] (1.152 s) : 0, 1152003
Total [baseline] (9.334 s) : 0, 9333714
Agent [candidate] (1.154 s) : 0, 1153615
Total [candidate] (9.338 s) : 0, 9338150
section iast_TELEMETRY_OFF
Agent [baseline] (1.143 s) : 0, 1142997
Total [baseline] (9.317 s) : 0, 9317413
Agent [candidate] (1.157 s) : 0, 1156753
Total [candidate] (9.381 s) : 0, 9381293
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.042 s -
Agent iast 1.152 s 110.323 ms (10.6%)
Agent iast_TELEMETRY_OFF 1.143 s 101.317 ms (9.7%)
Total tracing 8.805 s -
Total iast 9.334 s 529.134 ms (6.0%)
Total iast_TELEMETRY_OFF 9.317 s 512.834 ms (5.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.05 s -
Agent iast 1.154 s 103.957 ms (9.9%)
Agent iast_TELEMETRY_OFF 1.157 s 107.094 ms (10.2%)
Total tracing 8.81 s -
Total iast 9.338 s 527.841 ms (6.0%)
Total iast_TELEMETRY_OFF 9.381 s 570.984 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.23.0-SNAPSHOT~920a1291f9, baseline=1.23.0-SNAPSHOT~5c6be267a2

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (650.195 ms) : 0, 650195
BytebuddyAgent [candidate] (655.06 ms) : 0, 655060
GlobalTracer [baseline] (295.502 ms) : 0, 295502
GlobalTracer [candidate] (298.181 ms) : 0, 298181
AppSec [baseline] (49.174 ms) : 0, 49174
AppSec [candidate] (49.331 ms) : 0, 49331
Remote Config [baseline] (709.295 µs) : 0, 709
Remote Config [candidate] (723.187 µs) : 0, 723
Telemetry [baseline] (11.379 ms) : 0, 11379
Telemetry [candidate] (11.449 ms) : 0, 11449
section iast
BytebuddyAgent [baseline] (765.718 ms) : 0, 765718
BytebuddyAgent [candidate] (766.946 ms) : 0, 766946
GlobalTracer [baseline] (274.011 ms) : 0, 274011
GlobalTracer [candidate] (275.186 ms) : 0, 275186
AppSec [baseline] (46.818 ms) : 0, 46818
AppSec [candidate] (47.015 ms) : 0, 47015
IAST [baseline] (15.594 ms) : 0, 15594
IAST [candidate] (15.564 ms) : 0, 15564
Remote Config [baseline] (568.639 µs) : 0, 569
Remote Config [candidate] (574.599 µs) : 0, 575
Telemetry [baseline] (14.698 ms) : 0, 14698
Telemetry [candidate] (13.831 ms) : 0, 13831
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (758.661 ms) : 0, 758661
BytebuddyAgent [candidate] (767.486 ms) : 0, 767486
GlobalTracer [baseline] (274.116 ms) : 0, 274116
GlobalTracer [candidate] (277.224 ms) : 0, 277224
AppSec [baseline] (46.275 ms) : 0, 46275
AppSec [candidate] (46.948 ms) : 0, 46948
IAST [baseline] (17.208 ms) : 0, 17208
IAST [candidate] (16.91 ms) : 0, 16910
Remote Config [baseline] (563.658 µs) : 0, 564
Remote Config [candidate] (588.37 µs) : 0, 588
Telemetry [baseline] (11.786 ms) : 0, 11786
Telemetry [candidate] (12.796 ms) : 0, 12796
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.23.0-SNAPSHOT~920a1291f9, baseline=1.23.0-SNAPSHOT~5c6be267a2

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.044 s) : 0, 1043635
Total [baseline] (9.354 s) : 0, 9353933
Agent [candidate] (1.037 s) : 0, 1036612
Total [candidate] (9.315 s) : 0, 9314854
section appsec
Agent [baseline] (1.125 s) : 0, 1125299
Total [baseline] (9.436 s) : 0, 9435990
Agent [candidate] (1.13 s) : 0, 1129706
Total [candidate] (9.434 s) : 0, 9434065
section iast
Agent [baseline] (1.158 s) : 0, 1158329
Total [baseline] (9.563 s) : 0, 9563204
Agent [candidate] (1.169 s) : 0, 1168639
Total [candidate] (9.518 s) : 0, 9517846
section profiling
Agent [baseline] (1.23 s) : 0, 1230118
Total [baseline] (9.565 s) : 0, 9565406
Agent [candidate] (1.223 s) : 0, 1223471
Total [candidate] (9.534 s) : 0, 9534285
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent appsec 1.125 s 81.664 ms (7.8%)
Agent iast 1.158 s 114.694 ms (11.0%)
Agent profiling 1.23 s 186.484 ms (17.9%)
Total tracing 9.354 s -
Total appsec 9.436 s 82.057 ms (0.9%)
Total iast 9.563 s 209.27 ms (2.2%)
Total profiling 9.565 s 211.473 ms (2.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.037 s -
Agent appsec 1.13 s 93.094 ms (9.0%)
Agent iast 1.169 s 132.027 ms (12.7%)
Agent profiling 1.223 s 186.858 ms (18.0%)
Total tracing 9.315 s -
Total appsec 9.434 s 119.211 ms (1.3%)
Total iast 9.518 s 202.992 ms (2.2%)
Total profiling 9.534 s 219.431 ms (2.4%)
gantt
    title petclinic - break down per module: candidate=1.23.0-SNAPSHOT~920a1291f9, baseline=1.23.0-SNAPSHOT~5c6be267a2

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (651.15 ms) : 0, 651150
BytebuddyAgent [candidate] (646.705 ms) : 0, 646705
GlobalTracer [baseline] (296.124 ms) : 0, 296124
GlobalTracer [candidate] (294.508 ms) : 0, 294508
AppSec [baseline] (49.441 ms) : 0, 49441
AppSec [candidate] (48.86 ms) : 0, 48860
Remote Config [baseline] (704.131 µs) : 0, 704
Remote Config [candidate] (704.666 µs) : 0, 705
Telemetry [baseline] (11.518 ms) : 0, 11518
Telemetry [candidate] (11.379 ms) : 0, 11379
section appsec
BytebuddyAgent [baseline] (649.328 ms) : 0, 649328
BytebuddyAgent [candidate] (651.602 ms) : 0, 651602
GlobalTracer [baseline] (295.086 ms) : 0, 295086
GlobalTracer [candidate] (296.981 ms) : 0, 296981
AppSec [baseline] (138.755 ms) : 0, 138755
AppSec [candidate] (138.745 ms) : 0, 138745
Remote Config [baseline] (653.102 µs) : 0, 653
Remote Config [candidate] (650.999 µs) : 0, 651
Telemetry [baseline] (6.909 ms) : 0, 6909
Telemetry [candidate] (6.942 ms) : 0, 6942
section iast
BytebuddyAgent [baseline] (770.944 ms) : 0, 770944
BytebuddyAgent [candidate] (778.324 ms) : 0, 778324
GlobalTracer [baseline] (276.009 ms) : 0, 276009
GlobalTracer [candidate] (276.872 ms) : 0, 276872
AppSec [baseline] (47.105 ms) : 0, 47105
AppSec [candidate] (47.009 ms) : 0, 47009
Remote Config [baseline] (587.076 µs) : 0, 587
Remote Config [candidate] (584.707 µs) : 0, 585
Telemetry [baseline] (11.285 ms) : 0, 11285
Telemetry [candidate] (12.62 ms) : 0, 12620
IAST [baseline] (17.686 ms) : 0, 17686
IAST [candidate] (18.324 ms) : 0, 18324
section profiling
ProfilingAgent [baseline] (88.812 ms) : 0, 88812
ProfilingAgent [candidate] (89.049 ms) : 0, 89049
BytebuddyAgent [baseline] (662.54 ms) : 0, 662540
BytebuddyAgent [candidate] (658.448 ms) : 0, 658448
GlobalTracer [baseline] (361.604 ms) : 0, 361604
GlobalTracer [candidate] (359.729 ms) : 0, 359729
AppSec [baseline] (50.162 ms) : 0, 50162
AppSec [candidate] (49.803 ms) : 0, 49803
Remote Config [baseline] (658.097 µs) : 0, 658
Remote Config [candidate] (658.156 µs) : 0, 658
Telemetry [baseline] (11.468 ms) : 0, 11468
Telemetry [candidate] (11.374 ms) : 0, 11374
Profiling [baseline] (88.836 ms) : 0, 88836
Profiling [candidate] (89.073 ms) : 0, 89073
Loading

Load

Parameters

Baseline Candidate
commit 1.23.0-SNAPSHOT~5c6be267a2 1.23.0-SNAPSHOT~920a1291f9
config baseline candidate
end_time 2023-11-09T13:25:14 2023-11-09T13:41:45
start_time 2023-11-09T13:25:01 2023-11-09T13:41:32
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 22 cases.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.23.0-SNAPSHOT~920a1291f9, baseline=1.23.0-SNAPSHOT~5c6be267a2
    dateFormat X
    axisFormat %s
section baseline
no_agent (369.568 µs) : 349, 390
.   : milestone, 370,
iast (465.974 µs) : 445, 487
.   : milestone, 466,
iast_FULL (532.359 µs) : 511, 553
.   : milestone, 532,
iast_INACTIVE (439.917 µs) : 419, 461
.   : milestone, 440,
iast_TELEMETRY_OFF (465.462 µs) : 444, 487
.   : milestone, 465,
tracing (437.333 µs) : 416, 459
.   : milestone, 437,
section candidate
no_agent (369.847 µs) : 349, 390
.   : milestone, 370,
iast (462.805 µs) : 442, 484
.   : milestone, 463,
iast_FULL (526.032 µs) : 506, 546
.   : milestone, 526,
iast_INACTIVE (437.468 µs) : 416, 459
.   : milestone, 437,
iast_TELEMETRY_OFF (469.951 µs) : 448, 492
.   : milestone, 470,
tracing (442.457 µs) : 421, 464
.   : milestone, 442,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 369.568 µs [349.099 µs, 390.037 µs] -
iast 465.974 µs [444.504 µs, 487.443 µs] 96.406 µs (26.1%)
iast_FULL 532.359 µs [511.424 µs, 553.293 µs] 162.791 µs (44.0%)
iast_INACTIVE 439.917 µs [419.258 µs, 460.576 µs] 70.349 µs (19.0%)
iast_TELEMETRY_OFF 465.462 µs [444.385 µs, 486.538 µs] 95.894 µs (25.9%)
tracing 437.333 µs [416.068 µs, 458.598 µs] 67.765 µs (18.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 369.847 µs [349.273 µs, 390.421 µs] -
iast 462.805 µs [441.866 µs, 483.743 µs] 92.958 µs (25.1%)
iast_FULL 526.032 µs [505.6 µs, 546.464 µs] 156.185 µs (42.2%)
iast_INACTIVE 437.468 µs [416.392 µs, 458.544 µs] 67.621 µs (18.3%)
iast_TELEMETRY_OFF 469.951 µs [447.583 µs, 492.32 µs] 100.104 µs (27.1%)
tracing 442.457 µs [421.364 µs, 463.549 µs] 72.61 µs (19.6%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.23.0-SNAPSHOT~920a1291f9, baseline=1.23.0-SNAPSHOT~5c6be267a2
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.366 ms) : 1347, 1386
.   : milestone, 1366,
appsec (1.731 ms) : 1707, 1756
.   : milestone, 1731,
iast (1.47 ms) : 1446, 1493
.   : milestone, 1470,
profiling (1.491 ms) : 1465, 1517
.   : milestone, 1491,
tracing (1.456 ms) : 1431, 1480
.   : milestone, 1456,
section candidate
no_agent (1.346 ms) : 1327, 1366
.   : milestone, 1346,
appsec (1.703 ms) : 1678, 1728
.   : milestone, 1703,
iast (1.492 ms) : 1468, 1516
.   : milestone, 1492,
profiling (1.498 ms) : 1473, 1523
.   : milestone, 1498,
tracing (1.451 ms) : 1427, 1475
.   : milestone, 1451,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.366 ms [1.347 ms, 1.386 ms] -
appsec 1.731 ms [1.707 ms, 1.756 ms] 364.811 µs (26.7%)
iast 1.47 ms [1.446 ms, 1.493 ms] 103.057 µs (7.5%)
profiling 1.491 ms [1.465 ms, 1.517 ms] 124.236 µs (9.1%)
tracing 1.456 ms [1.431 ms, 1.48 ms] 89.271 µs (6.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.346 ms [1.327 ms, 1.366 ms] -
appsec 1.703 ms [1.678 ms, 1.728 ms] 356.359 µs (26.5%)
iast 1.492 ms [1.468 ms, 1.516 ms] 145.082 µs (10.8%)
profiling 1.498 ms [1.473 ms, 1.523 ms] 151.673 µs (11.3%)
tracing 1.451 ms [1.427 ms, 1.475 ms] 104.289 µs (7.7%)

@nikita-tkachenko-datadog nikita-tkachenko-datadog merged commit a37fb7e into master Nov 13, 2023
71 checks passed
@nikita-tkachenko-datadog nikita-tkachenko-datadog deleted the nikita-tkachenko/skippable-tests-non-ascii branch November 13, 2023 11:56
@github-actions github-actions bot added this to the 1.24.0 milestone Nov 13, 2023
DDJavierSantos pushed a commit that referenced this pull request Nov 13, 2023
Fix error when trying to get class stream for Mockito mocks (#6183)

Fix error when serializing skippable tests whose names contain non-ASCII characters (#6182)

Fail fast when tracer versions do not match in parent and child processes (#6168)

initial instrumentation
jandro996 pushed a commit that referenced this pull request Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: ci visibility Continuous Integration Visibility type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants