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 trying to get class stream for Mockito mocks #6183

Merged

Conversation

nikita-tkachenko-datadog
Copy link
Contributor

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

What Does This Do

Fixes getting class input stream for Mockito mocks.

Additional Notes

When creating a mock, mockito generates an internal class in the class or interface that are being mocked.

Jira ticket: CIVIS-7965

@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.24.0-SNAPSHOT~0232a96f5b 1.24.0-SNAPSHOT~81e8ea8016
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant iast iast

Summary

Found 1 performance improvements and 1 performance regressions! Performance is the same for 52 cases.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:insecure-bank:iast_TELEMETRY_OFF:IAST better
[-6.430ms; -1.433ms] or [-31.959%; -7.121%]
16.190ms 20.121ms
scenario:insecure-bank:iast_TELEMETRY_OFF:Telemetry worse
[+0.245ms; +6.124ms] or [+2.224%; +55.641%]
14.192ms 11.007ms
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.24.0-SNAPSHOT~81e8ea8016, baseline=1.24.0-SNAPSHOT~0232a96f5b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.05 s) : 0, 1050123
Total [baseline] (8.838 s) : 0, 8837876
Agent [candidate] (1.038 s) : 0, 1037657
Total [candidate] (8.837 s) : 0, 8836744
section iast
Agent [baseline] (1.158 s) : 0, 1158256
Total [baseline] (9.365 s) : 0, 9365265
Agent [candidate] (1.156 s) : 0, 1155755
Total [candidate] (9.332 s) : 0, 9331865
section iast_TELEMETRY_OFF
Agent [baseline] (1.146 s) : 0, 1145600
Total [baseline] (9.329 s) : 0, 9329237
Agent [candidate] (1.157 s) : 0, 1157307
Total [candidate] (9.371 s) : 0, 9371104
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.05 s -
Agent iast 1.158 s 108.132 ms (10.3%)
Agent iast_TELEMETRY_OFF 1.146 s 95.477 ms (9.1%)
Total tracing 8.838 s -
Total iast 9.365 s 527.389 ms (6.0%)
Total iast_TELEMETRY_OFF 9.329 s 491.36 ms (5.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.038 s -
Agent iast 1.156 s 118.099 ms (11.4%)
Agent iast_TELEMETRY_OFF 1.157 s 119.65 ms (11.5%)
Total tracing 8.837 s -
Total iast 9.332 s 495.121 ms (5.6%)
Total iast_TELEMETRY_OFF 9.371 s 534.36 ms (6.0%)
gantt
    title insecure-bank - break down per module: candidate=1.24.0-SNAPSHOT~81e8ea8016, baseline=1.24.0-SNAPSHOT~0232a96f5b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (656.296 ms) : 0, 656296
BytebuddyAgent [candidate] (646.952 ms) : 0, 646952
GlobalTracer [baseline] (297.166 ms) : 0, 297166
GlobalTracer [candidate] (295.129 ms) : 0, 295129
AppSec [baseline] (49.402 ms) : 0, 49402
AppSec [candidate] (48.896 ms) : 0, 48896
Remote Config [baseline] (700.994 µs) : 0, 701
Remote Config [candidate] (696.511 µs) : 0, 697
Telemetry [baseline] (11.542 ms) : 0, 11542
Telemetry [candidate] (11.399 ms) : 0, 11399
section iast
BytebuddyAgent [baseline] (769.662 ms) : 0, 769662
BytebuddyAgent [candidate] (768.344 ms) : 0, 768344
GlobalTracer [baseline] (275.635 ms) : 0, 275635
GlobalTracer [candidate] (275.693 ms) : 0, 275693
AppSec [baseline] (46.801 ms) : 0, 46801
AppSec [candidate] (46.599 ms) : 0, 46599
IAST [baseline] (16.31 ms) : 0, 16310
IAST [candidate] (17.559 ms) : 0, 17559
Remote Config [baseline] (584.007 µs) : 0, 584
Remote Config [candidate] (577.346 µs) : 0, 577
Telemetry [baseline] (14.683 ms) : 0, 14683
Telemetry [candidate] (12.509 ms) : 0, 12509
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (758.198 ms) : 0, 758198
BytebuddyAgent [candidate] (767.285 ms) : 0, 767285
GlobalTracer [baseline] (274.313 ms) : 0, 274313
GlobalTracer [candidate] (277.432 ms) : 0, 277432
AppSec [baseline] (46.896 ms) : 0, 46896
AppSec [candidate] (46.802 ms) : 0, 46802
IAST [baseline] (20.121 ms) : 0, 20121
IAST [candidate] (16.19 ms) : 0, 16190
Remote Config [baseline] (564.968 µs) : 0, 565
Remote Config [candidate] (573.823 µs) : 0, 574
Telemetry [baseline] (11.007 ms) : 0, 11007
Telemetry [candidate] (14.192 ms) : 0, 14192
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.24.0-SNAPSHOT~81e8ea8016, baseline=1.24.0-SNAPSHOT~0232a96f5b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.037 s) : 0, 1036908
Total [baseline] (9.337 s) : 0, 9337262
Agent [candidate] (1.037 s) : 0, 1036838
Total [candidate] (9.347 s) : 0, 9347297
section appsec
Agent [baseline] (1.121 s) : 0, 1121310
Total [baseline] (9.43 s) : 0, 9430201
Agent [candidate] (1.12 s) : 0, 1119993
Total [candidate] (9.405 s) : 0, 9405462
section iast
Agent [baseline] (1.158 s) : 0, 1158344
Total [baseline] (9.551 s) : 0, 9551417
Agent [candidate] (1.152 s) : 0, 1152146
Total [candidate] (9.515 s) : 0, 9515497
section profiling
Agent [baseline] (1.218 s) : 0, 1217635
Total [baseline] (9.548 s) : 0, 9547512
Agent [candidate] (1.228 s) : 0, 1227541
Total [candidate] (9.628 s) : 0, 9628084
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.037 s -
Agent appsec 1.121 s 84.402 ms (8.1%)
Agent iast 1.158 s 121.436 ms (11.7%)
Agent profiling 1.218 s 180.726 ms (17.4%)
Total tracing 9.337 s -
Total appsec 9.43 s 92.939 ms (1.0%)
Total iast 9.551 s 214.154 ms (2.3%)
Total profiling 9.548 s 210.25 ms (2.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.037 s -
Agent appsec 1.12 s 83.155 ms (8.0%)
Agent iast 1.152 s 115.308 ms (11.1%)
Agent profiling 1.228 s 190.703 ms (18.4%)
Total tracing 9.347 s -
Total appsec 9.405 s 58.165 ms (0.6%)
Total iast 9.515 s 168.201 ms (1.8%)
Total profiling 9.628 s 280.787 ms (3.0%)
gantt
    title petclinic - break down per module: candidate=1.24.0-SNAPSHOT~81e8ea8016, baseline=1.24.0-SNAPSHOT~0232a96f5b

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (647.025 ms) : 0, 647025
BytebuddyAgent [candidate] (646.08 ms) : 0, 646080
GlobalTracer [baseline] (294.773 ms) : 0, 294773
GlobalTracer [candidate] (294.978 ms) : 0, 294978
AppSec [baseline] (48.568 ms) : 0, 48568
AppSec [candidate] (49.2 ms) : 0, 49200
Remote Config [baseline] (696.2 µs) : 0, 696
Remote Config [candidate] (686.365 µs) : 0, 686
Telemetry [baseline] (11.317 ms) : 0, 11317
Telemetry [candidate] (11.406 ms) : 0, 11406
section appsec
BytebuddyAgent [baseline] (645.807 ms) : 0, 645807
BytebuddyAgent [candidate] (644.788 ms) : 0, 644788
GlobalTracer [baseline] (294.196 ms) : 0, 294196
GlobalTracer [candidate] (294.553 ms) : 0, 294553
AppSec [baseline] (139.327 ms) : 0, 139327
AppSec [candidate] (138.917 ms) : 0, 138917
Remote Config [baseline] (646.928 µs) : 0, 647
Remote Config [candidate] (643.371 µs) : 0, 643
Telemetry [baseline] (6.855 ms) : 0, 6855
Telemetry [candidate] (6.837 ms) : 0, 6837
section iast
BytebuddyAgent [baseline] (771.054 ms) : 0, 771054
BytebuddyAgent [candidate] (766.943 ms) : 0, 766943
GlobalTracer [baseline] (275.549 ms) : 0, 275549
GlobalTracer [candidate] (275.652 ms) : 0, 275652
AppSec [baseline] (46.914 ms) : 0, 46914
AppSec [candidate] (46.543 ms) : 0, 46543
Remote Config [baseline] (581.726 µs) : 0, 582
Remote Config [candidate] (565.842 µs) : 0, 566
Telemetry [baseline] (11.245 ms) : 0, 11245
Telemetry [candidate] (12.58 ms) : 0, 12580
IAST [baseline] (18.445 ms) : 0, 18445
IAST [candidate] (15.4 ms) : 0, 15400
section profiling
BytebuddyAgent [baseline] (655.863 ms) : 0, 655863
BytebuddyAgent [candidate] (661.906 ms) : 0, 661906
GlobalTracer [baseline] (358.08 ms) : 0, 358080
GlobalTracer [candidate] (360.722 ms) : 0, 360722
AppSec [baseline] (49.367 ms) : 0, 49367
AppSec [candidate] (49.478 ms) : 0, 49478
Remote Config [baseline] (647.547 µs) : 0, 648
Remote Config [candidate] (652.198 µs) : 0, 652
Telemetry [baseline] (11.305 ms) : 0, 11305
Telemetry [candidate] (11.42 ms) : 0, 11420
ProfilingAgent [baseline] (88.193 ms) : 0, 88193
ProfilingAgent [candidate] (88.876 ms) : 0, 88876
Profiling [baseline] (88.217 ms) : 0, 88217
Profiling [candidate] (88.9 ms) : 0, 88900
Loading

Load

Parameters

Baseline Candidate
commit 1.24.0-SNAPSHOT~0232a96f5b 1.24.0-SNAPSHOT~81e8ea8016
config baseline candidate
end_time 2023-11-13T10:31:23 2023-11-13T10:47:54
start_time 2023-11-13T10:31:10 2023-11-13T10:47:40
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.24.0-SNAPSHOT~81e8ea8016, baseline=1.24.0-SNAPSHOT~0232a96f5b
    dateFormat X
    axisFormat %s
section baseline
no_agent (369.908 µs) : 350, 390
.   : milestone, 370,
iast (472.647 µs) : 452, 493
.   : milestone, 473,
iast_FULL (528.397 µs) : 508, 549
.   : milestone, 528,
iast_INACTIVE (441.199 µs) : 420, 462
.   : milestone, 441,
iast_TELEMETRY_OFF (467.541 µs) : 446, 489
.   : milestone, 468,
tracing (442.8 µs) : 422, 464
.   : milestone, 443,
section candidate
no_agent (364.914 µs) : 345, 385
.   : milestone, 365,
iast (475.742 µs) : 455, 496
.   : milestone, 476,
iast_FULL (530.393 µs) : 510, 551
.   : milestone, 530,
iast_INACTIVE (459.233 µs) : 438, 481
.   : milestone, 459,
iast_TELEMETRY_OFF (465.233 µs) : 444, 487
.   : milestone, 465,
tracing (438.686 µs) : 418, 459
.   : milestone, 439,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 369.908 µs [350.206 µs, 389.61 µs] -
iast 472.647 µs [452.282 µs, 493.011 µs] 102.739 µs (27.8%)
iast_FULL 528.397 µs [507.596 µs, 549.198 µs] 158.489 µs (42.8%)
iast_INACTIVE 441.199 µs [420.144 µs, 462.254 µs] 71.291 µs (19.3%)
iast_TELEMETRY_OFF 467.541 µs [446.496 µs, 488.586 µs] 97.633 µs (26.4%)
tracing 442.8 µs [421.941 µs, 463.66 µs] 72.892 µs (19.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 364.914 µs [344.95 µs, 384.877 µs] -
iast 475.742 µs [455.041 µs, 496.443 µs] 110.829 µs (30.4%)
iast_FULL 530.393 µs [509.913 µs, 550.872 µs] 165.479 µs (45.3%)
iast_INACTIVE 459.233 µs [437.662 µs, 480.803 µs] 94.319 µs (25.8%)
iast_TELEMETRY_OFF 465.233 µs [443.866 µs, 486.599 µs] 100.319 µs (27.5%)
tracing 438.686 µs [417.895 µs, 459.478 µs] 73.773 µs (20.2%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.24.0-SNAPSHOT~81e8ea8016, baseline=1.24.0-SNAPSHOT~0232a96f5b
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.336 ms) : 1317, 1355
.   : milestone, 1336,
appsec (1.712 ms) : 1688, 1737
.   : milestone, 1712,
iast (1.482 ms) : 1458, 1506
.   : milestone, 1482,
profiling (1.472 ms) : 1448, 1497
.   : milestone, 1472,
tracing (1.465 ms) : 1441, 1490
.   : milestone, 1465,
section candidate
no_agent (1.343 ms) : 1323, 1363
.   : milestone, 1343,
appsec (1.739 ms) : 1715, 1763
.   : milestone, 1739,
iast (1.475 ms) : 1452, 1499
.   : milestone, 1475,
profiling (1.478 ms) : 1452, 1503
.   : milestone, 1478,
tracing (1.475 ms) : 1451, 1500
.   : milestone, 1475,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.336 ms [1.317 ms, 1.355 ms] -
appsec 1.712 ms [1.688 ms, 1.737 ms] 376.6 µs (28.2%)
iast 1.482 ms [1.458 ms, 1.506 ms] 146.111 µs (10.9%)
profiling 1.472 ms [1.448 ms, 1.497 ms] 136.371 µs (10.2%)
tracing 1.465 ms [1.441 ms, 1.49 ms] 129.295 µs (9.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.343 ms [1.323 ms, 1.363 ms] -
appsec 1.739 ms [1.715 ms, 1.763 ms] 395.829 µs (29.5%)
iast 1.475 ms [1.452 ms, 1.499 ms] 132.238 µs (9.8%)
profiling 1.478 ms [1.452 ms, 1.503 ms] 134.265 µs (10.0%)
tracing 1.475 ms [1.451 ms, 1.5 ms] 132.085 µs (9.8%)

@nikita-tkachenko-datadog nikita-tkachenko-datadog merged commit 6382bb4 into master Nov 13, 2023
60 of 69 checks passed
@nikita-tkachenko-datadog nikita-tkachenko-datadog deleted the nikita-tkachenko/repo-index-mockito-mocks branch November 13, 2023 11:55
@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
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