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

Be consistent when checking if tasks are excluded from wrapping/injection #6446

Merged
merged 1 commit into from
Jan 5, 2024

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Jan 5, 2024

What Does This Do

  • add missing checks to JavaForkJoinPoolInstrumentation and JavaTimerInstrumentation
  • move startQueuingTimer from ThreadPoolExecutorInstrumentation to when we know we've captured the task in TPEHelper

Motivation

Avoids attempts to access context-stores of task types that have been explicitly excluded.

…tion:

* add missing checks to `JavaForkJoinPoolInstrumentation` and `JavaTimerInstrumentation`
* move `startQueuingTimer` to when we know we've captured the task in `TPEHelper`
@mcculls mcculls added the comp: context propagation Trace context propagation label Jan 5, 2024
@pr-commenter
Copy link

pr-commenter bot commented Jan 5, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/consistent-task-exclusion-checks
git_commit_date 1704390361 1704459505
git_commit_sha c784ae9 531419d
release_version 1.28.0-SNAPSHOT~c784ae91b5 1.28.0-SNAPSHOT~531419d26e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1704462160 1704462160
ci_job_id 401520359 401520359
ci_pipeline_id 25944352 25944352
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 46 metrics, 8 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.28.0-SNAPSHOT~531419d26e, baseline=1.28.0-SNAPSHOT~c784ae91b5

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.057 s) : 0, 1057435
Total [baseline] (9.34 s) : 0, 9339866
Agent [candidate] (1.053 s) : 0, 1053249
Total [candidate] (9.357 s) : 0, 9356885
section appsec
Agent [baseline] (1.154 s) : 0, 1153526
Total [baseline] (9.455 s) : 0, 9455282
Agent [candidate] (1.151 s) : 0, 1150694
Total [candidate] (9.416 s) : 0, 9416407
section iast
Agent [baseline] (1.169 s) : 0, 1169154
Total [baseline] (9.557 s) : 0, 9557181
Agent [candidate] (1.169 s) : 0, 1168648
Total [candidate] (9.559 s) : 0, 9558671
section profiling
Agent [baseline] (1.27 s) : 0, 1270301
Total [baseline] (9.595 s) : 0, 9594876
Agent [candidate] (1.28 s) : 0, 1280246
Total [candidate] (9.658 s) : 0, 9658166
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.154 s 96.091 ms (9.1%)
Agent iast 1.169 s 111.718 ms (10.6%)
Agent profiling 1.27 s 212.865 ms (20.1%)
Total tracing 9.34 s -
Total appsec 9.455 s 115.416 ms (1.2%)
Total iast 9.557 s 217.315 ms (2.3%)
Total profiling 9.595 s 255.01 ms (2.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent appsec 1.151 s 97.445 ms (9.3%)
Agent iast 1.169 s 115.399 ms (11.0%)
Agent profiling 1.28 s 226.997 ms (21.6%)
Total tracing 9.357 s -
Total appsec 9.416 s 59.521 ms (0.6%)
Total iast 9.559 s 201.785 ms (2.2%)
Total profiling 9.658 s 301.28 ms (3.2%)
gantt
    title petclinic - break down per module: candidate=1.28.0-SNAPSHOT~531419d26e, baseline=1.28.0-SNAPSHOT~c784ae91b5

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (654.744 ms) : 0, 654744
BytebuddyAgent [candidate] (652.076 ms) : 0, 652076
GlobalTracer [baseline] (309.015 ms) : 0, 309015
GlobalTracer [candidate] (308.35 ms) : 0, 308350
AppSec [baseline] (51.168 ms) : 0, 51168
AppSec [candidate] (50.577 ms) : 0, 50577
Remote Config [baseline] (682.791 µs) : 0, 683
Remote Config [candidate] (673.462 µs) : 0, 673
Telemetry [baseline] (7.305 ms) : 0, 7305
Telemetry [candidate] (7.259 ms) : 0, 7259
section appsec
BytebuddyAgent [baseline] (654.078 ms) : 0, 654078
BytebuddyAgent [candidate] (652.078 ms) : 0, 652078
GlobalTracer [baseline] (308.125 ms) : 0, 308125
GlobalTracer [candidate] (307.975 ms) : 0, 307975
AppSec [baseline] (149.325 ms) : 0, 149325
AppSec [candidate] (148.764 ms) : 0, 148764
Remote Config [baseline] (654.432 µs) : 0, 654
Remote Config [candidate] (643.632 µs) : 0, 644
Telemetry [baseline] (6.913 ms) : 0, 6913
Telemetry [candidate] (6.892 ms) : 0, 6892
section iast
BytebuddyAgent [baseline] (769.697 ms) : 0, 769697
BytebuddyAgent [candidate] (770.689 ms) : 0, 770689
GlobalTracer [baseline] (285.36 ms) : 0, 285360
GlobalTracer [candidate] (285.364 ms) : 0, 285364
AppSec [baseline] (53.283 ms) : 0, 53283
AppSec [candidate] (50.986 ms) : 0, 50986
Remote Config [baseline] (562.132 µs) : 0, 562
Remote Config [candidate] (580.252 µs) : 0, 580
Telemetry [baseline] (6.52 ms) : 0, 6520
Telemetry [candidate] (8.088 ms) : 0, 8088
IAST [baseline] (19.429 ms) : 0, 19429
IAST [candidate] (18.668 ms) : 0, 18668
section profiling
BytebuddyAgent [baseline] (659.493 ms) : 0, 659493
BytebuddyAgent [candidate] (664.997 ms) : 0, 664997
GlobalTracer [baseline] (374.528 ms) : 0, 374528
GlobalTracer [candidate] (377.322 ms) : 0, 377322
AppSec [baseline] (51.064 ms) : 0, 51064
AppSec [candidate] (51.241 ms) : 0, 51241
Remote Config [baseline] (1.002 ms) : 0, 1002
Remote Config [candidate] (1.004 ms) : 0, 1004
Telemetry [baseline] (7.2 ms) : 0, 7200
Telemetry [candidate] (7.276 ms) : 0, 7276
ProfilingAgent [baseline] (122.746 ms) : 0, 122746
ProfilingAgent [candidate] (123.689 ms) : 0, 123689
Profiling [baseline] (122.771 ms) : 0, 122771
Profiling [candidate] (123.714 ms) : 0, 123714
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.28.0-SNAPSHOT~531419d26e, baseline=1.28.0-SNAPSHOT~c784ae91b5

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.047 s) : 0, 1047361
Total [baseline] (8.741 s) : 0, 8740870
Agent [candidate] (1.061 s) : 0, 1060644
Total [candidate] (8.744 s) : 0, 8744137
section iast
Agent [baseline] (1.168 s) : 0, 1168264
Total [baseline] (9.226 s) : 0, 9226100
Agent [candidate] (1.169 s) : 0, 1168752
Total [candidate] (9.24 s) : 0, 9239889
section iast_TELEMETRY_OFF
Agent [baseline] (1.162 s) : 0, 1162209
Total [baseline] (9.242 s) : 0, 9242246
Agent [candidate] (1.172 s) : 0, 1172057
Total [candidate] (9.248 s) : 0, 9248446
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.047 s -
Agent iast 1.168 s 120.902 ms (11.5%)
Agent iast_TELEMETRY_OFF 1.162 s 114.847 ms (11.0%)
Total tracing 8.741 s -
Total iast 9.226 s 485.231 ms (5.6%)
Total iast_TELEMETRY_OFF 9.242 s 501.376 ms (5.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent iast 1.169 s 108.108 ms (10.2%)
Agent iast_TELEMETRY_OFF 1.172 s 111.413 ms (10.5%)
Total tracing 8.744 s -
Total iast 9.24 s 495.752 ms (5.7%)
Total iast_TELEMETRY_OFF 9.248 s 504.308 ms (5.8%)
gantt
    title insecure-bank - break down per module: candidate=1.28.0-SNAPSHOT~531419d26e, baseline=1.28.0-SNAPSHOT~c784ae91b5

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (648.762 ms) : 0, 648762
BytebuddyAgent [candidate] (656.774 ms) : 0, 656774
GlobalTracer [baseline] (306.087 ms) : 0, 306087
GlobalTracer [candidate] (310.29 ms) : 0, 310290
AppSec [baseline] (50.361 ms) : 0, 50361
AppSec [candidate] (51.036 ms) : 0, 51036
Remote Config [baseline] (675.048 µs) : 0, 675
Remote Config [candidate] (682.392 µs) : 0, 682
Telemetry [baseline] (7.195 ms) : 0, 7195
Telemetry [candidate] (7.318 ms) : 0, 7318
section iast
BytebuddyAgent [baseline] (769.999 ms) : 0, 769999
BytebuddyAgent [candidate] (769.792 ms) : 0, 769792
GlobalTracer [baseline] (284.604 ms) : 0, 284604
GlobalTracer [candidate] (285.528 ms) : 0, 285528
AppSec [baseline] (52.891 ms) : 0, 52891
AppSec [candidate] (53.753 ms) : 0, 53753
Remote Config [baseline] (590.602 µs) : 0, 591
Remote Config [candidate] (569.341 µs) : 0, 569
Telemetry [baseline] (6.567 ms) : 0, 6567
Telemetry [candidate] (6.429 ms) : 0, 6429
IAST [baseline] (19.244 ms) : 0, 19244
IAST [candidate] (18.347 ms) : 0, 18347
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (763.05 ms) : 0, 763050
BytebuddyAgent [candidate] (769.314 ms) : 0, 769314
GlobalTracer [baseline] (285.344 ms) : 0, 285344
GlobalTracer [candidate] (287.919 ms) : 0, 287919
AppSec [baseline] (49.141 ms) : 0, 49141
AppSec [candidate] (49.669 ms) : 0, 49669
Remote Config [baseline] (1.272 ms) : 0, 1272
Remote Config [candidate] (577.943 µs) : 0, 578
Telemetry [baseline] (6.434 ms) : 0, 6434
Telemetry [candidate] (6.407 ms) : 0, 6407
IAST [baseline] (22.644 ms) : 0, 22644
IAST [candidate] (23.653 ms) : 0, 23653

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-01-05T13:21:55 2024-01-05T13:38:28
git_branch master mcculls/consistent-task-exclusion-checks
git_commit_date 1704390361 1704459505
git_commit_sha c784ae9 531419d
release_version 1.28.0-SNAPSHOT~c784ae91b5 1.28.0-SNAPSHOT~531419d26e
start_time 2024-01-05T13:21:42 2024-01-05T13:38:15
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1704462160 1704462160
ci_job_id 401520359 401520359
ci_pipeline_id 25944352 25944352
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 8 metrics, 14 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.28.0-SNAPSHOT~531419d26e, baseline=1.28.0-SNAPSHOT~c784ae91b5
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.356 ms) : 1337, 1375
.   : milestone, 1356,
appsec (1.768 ms) : 1743, 1794
.   : milestone, 1768,
iast (1.508 ms) : 1484, 1533
.   : milestone, 1508,
profiling (1.503 ms) : 1478, 1529
.   : milestone, 1503,
tracing (1.474 ms) : 1450, 1499
.   : milestone, 1474,
section candidate
no_agent (1.344 ms) : 1325, 1363
.   : milestone, 1344,
appsec (1.746 ms) : 1721, 1772
.   : milestone, 1746,
iast (1.537 ms) : 1512, 1561
.   : milestone, 1537,
profiling (1.512 ms) : 1485, 1538
.   : milestone, 1512,
tracing (1.512 ms) : 1487, 1537
.   : milestone, 1512,
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.356 ms [1.337 ms, 1.375 ms] -
appsec 1.768 ms [1.743 ms, 1.794 ms] 412.031 µs (30.4%)
iast 1.508 ms [1.484 ms, 1.533 ms] 151.864 µs (11.2%)
profiling 1.503 ms [1.478 ms, 1.529 ms] 146.829 µs (10.8%)
tracing 1.474 ms [1.45 ms, 1.499 ms] 117.975 µs (8.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.344 ms [1.325 ms, 1.363 ms] -
appsec 1.746 ms [1.721 ms, 1.772 ms] 402.083 µs (29.9%)
iast 1.537 ms [1.512 ms, 1.561 ms] 192.27 µs (14.3%)
profiling 1.512 ms [1.485 ms, 1.538 ms] 167.194 µs (12.4%)
tracing 1.512 ms [1.487 ms, 1.537 ms] 167.734 µs (12.5%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.28.0-SNAPSHOT~531419d26e, baseline=1.28.0-SNAPSHOT~c784ae91b5
    dateFormat X
    axisFormat %s
section baseline
no_agent (356.736 µs) : 337, 376
.   : milestone, 357,
iast (468.814 µs) : 448, 489
.   : milestone, 469,
iast_FULL (541.613 µs) : 521, 562
.   : milestone, 542,
iast_INACTIVE (441.812 µs) : 421, 463
.   : milestone, 442,
iast_TELEMETRY_OFF (464.479 µs) : 443, 486
.   : milestone, 464,
tracing (437.584 µs) : 416, 459
.   : milestone, 438,
section candidate
no_agent (362.301 µs) : 343, 382
.   : milestone, 362,
iast (474.944 µs) : 454, 496
.   : milestone, 475,
iast_FULL (530.894 µs) : 511, 551
.   : milestone, 531,
iast_INACTIVE (450.289 µs) : 429, 472
.   : milestone, 450,
iast_TELEMETRY_OFF (465.819 µs) : 445, 486
.   : milestone, 466,
tracing (426.737 µs) : 407, 447
.   : milestone, 427,
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 356.736 µs [337.124 µs, 376.347 µs] -
iast 468.814 µs [448.38 µs, 489.247 µs] 112.078 µs (31.4%)
iast_FULL 541.613 µs [520.878 µs, 562.348 µs] 184.878 µs (51.8%)
iast_INACTIVE 441.812 µs [420.786 µs, 462.837 µs] 85.076 µs (23.8%)
iast_TELEMETRY_OFF 464.479 µs [443.415 µs, 485.543 µs] 107.743 µs (30.2%)
tracing 437.584 µs [416.481 µs, 458.686 µs] 80.848 µs (22.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 362.301 µs [342.699 µs, 381.903 µs] -
iast 474.944 µs [454.342 µs, 495.545 µs] 112.642 µs (31.1%)
iast_FULL 530.894 µs [510.567 µs, 551.221 µs] 168.593 µs (46.5%)
iast_INACTIVE 450.289 µs [428.664 µs, 471.914 µs] 87.988 µs (24.3%)
iast_TELEMETRY_OFF 465.819 µs [445.289 µs, 486.349 µs] 103.518 µs (28.6%)
tracing 426.737 µs [406.586 µs, 446.888 µs] 64.436 µs (17.8%)

@mcculls mcculls marked this pull request as ready for review January 5, 2024 14:08
@mcculls mcculls requested a review from a team as a code owner January 5, 2024 14:08
@mcculls mcculls merged commit 0f3acf0 into master Jan 5, 2024
73 checks passed
@mcculls mcculls deleted the mcculls/consistent-task-exclusion-checks branch January 5, 2024 14:21
@github-actions github-actions bot added this to the 1.28.0 milestone Jan 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: context propagation Trace context propagation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants