Use DD Javac Plugin metadata to resolve method lines#5746
Merged
nikita-tkachenko-datadog merged 1 commit intoAug 24, 2023
Merged
Conversation
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 62 cases. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.20.0-SNAPSHOT~a1136e007e, baseline=1.20.0-SNAPSHOT~9bc95da6b5
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (994.767 ms) : 0, 994767
Total [baseline] (8.645 s) : 0, 8645312
Agent [candidate] (993.195 ms) : 0, 993195
Total [candidate] (8.657 s) : 0, 8656611
section appsec
Agent [baseline] (1.069 s) : 0, 1069163
Total [baseline] (8.705 s) : 0, 8704512
Agent [candidate] (1.071 s) : 0, 1071024
Total [candidate] (8.715 s) : 0, 8715047
section iast
Agent [baseline] (1.087 s) : 0, 1087113
Total [baseline] (9.152 s) : 0, 9151561
Agent [candidate] (1.097 s) : 0, 1097258
Total [candidate] (9.173 s) : 0, 9173077
section profiling
Agent [baseline] (1.156 s) : 0, 1155988
Total [baseline] (8.878 s) : 0, 8878350
Agent [candidate] (1.155 s) : 0, 1155486
Total [candidate] (8.85 s) : 0, 8850399
gantt
title insecure-bank - break down per module: candidate=1.20.0-SNAPSHOT~a1136e007e, baseline=1.20.0-SNAPSHOT~9bc95da6b5
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (616.656 ms) : 0, 616656
BytebuddyAgent [candidate] (615.966 ms) : 0, 615966
GlobalTracer [baseline] (286.603 ms) : 0, 286603
GlobalTracer [candidate] (286.072 ms) : 0, 286072
AppSec [baseline] (50.183 ms) : 0, 50183
AppSec [candidate] (49.898 ms) : 0, 49898
Remote Config [baseline] (674.183 µs) : 0, 674
Remote Config [candidate] (675.063 µs) : 0, 675
Telemetry [baseline] (6.069 ms) : 0, 6069
Telemetry [candidate] (6.012 ms) : 0, 6012
section appsec
BytebuddyAgent [baseline] (609.97 ms) : 0, 609970
BytebuddyAgent [candidate] (610.547 ms) : 0, 610547
GlobalTracer [baseline] (283.364 ms) : 0, 283364
GlobalTracer [candidate] (284.315 ms) : 0, 284315
AppSec [baseline] (135.138 ms) : 0, 135138
AppSec [candidate] (135.493 ms) : 0, 135493
Remote Config [baseline] (725.624 µs) : 0, 726
Remote Config [candidate] (708.951 µs) : 0, 709
Telemetry [baseline] (5.753 ms) : 0, 5753
Telemetry [candidate] (5.761 ms) : 0, 5761
section iast
BytebuddyAgent [baseline] (715.35 ms) : 0, 715350
BytebuddyAgent [candidate] (722.42 ms) : 0, 722420
GlobalTracer [baseline] (269.845 ms) : 0, 269845
GlobalTracer [candidate] (272.415 ms) : 0, 272415
AppSec [baseline] (47.346 ms) : 0, 47346
AppSec [candidate] (47.439 ms) : 0, 47439
Remote Config [baseline] (557.424 µs) : 0, 557
Remote Config [candidate] (567.672 µs) : 0, 568
Telemetry [baseline] (5.712 ms) : 0, 5712
Telemetry [candidate] (5.74 ms) : 0, 5740
IAST [baseline] (13.895 ms) : 0, 13895
IAST [candidate] (14.017 ms) : 0, 14017
section profiling
BytebuddyAgent [baseline] (622.428 ms) : 0, 622428
BytebuddyAgent [candidate] (621.394 ms) : 0, 621394
GlobalTracer [baseline] (349.183 ms) : 0, 349183
GlobalTracer [candidate] (348.829 ms) : 0, 348829
AppSec [baseline] (49.278 ms) : 0, 49278
AppSec [candidate] (49.362 ms) : 0, 49362
Remote Config [baseline] (646.062 µs) : 0, 646
Remote Config [candidate] (635.851 µs) : 0, 636
Telemetry [baseline] (5.955 ms) : 0, 5955
Telemetry [candidate] (5.931 ms) : 0, 5931
ProfilingAgent [baseline] (75.542 ms) : 0, 75542
ProfilingAgent [candidate] (76.702 ms) : 0, 76702
Profiling [baseline] (75.566 ms) : 0, 75566
Profiling [candidate] (76.726 ms) : 0, 76726
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.20.0-SNAPSHOT~a1136e007e, baseline=1.20.0-SNAPSHOT~9bc95da6b5
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (985.764 ms) : 0, 985764
Total [baseline] (9.125 s) : 0, 9124529
Agent [candidate] (992.334 ms) : 0, 992334
Total [candidate] (9.148 s) : 0, 9147664
section appsec
Agent [baseline] (1.078 s) : 0, 1077685
Total [baseline] (9.28 s) : 0, 9280223
Agent [candidate] (1.078 s) : 0, 1077512
Total [candidate] (9.293 s) : 0, 9292922
section iast
Agent [baseline] (1.087 s) : 0, 1087345
Total [baseline] (9.423 s) : 0, 9422667
Agent [candidate] (1.097 s) : 0, 1096936
Total [candidate] (9.491 s) : 0, 9491327
section profiling
Agent [baseline] (1.157 s) : 0, 1157302
Total [baseline] (9.441 s) : 0, 9441199
Agent [candidate] (1.158 s) : 0, 1157857
Total [candidate] (9.494 s) : 0, 9493542
gantt
title petclinic - break down per module: candidate=1.20.0-SNAPSHOT~a1136e007e, baseline=1.20.0-SNAPSHOT~9bc95da6b5
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (611.465 ms) : 0, 611465
BytebuddyAgent [candidate] (614.79 ms) : 0, 614790
GlobalTracer [baseline] (283.502 ms) : 0, 283502
GlobalTracer [candidate] (286.145 ms) : 0, 286145
AppSec [baseline] (49.809 ms) : 0, 49809
AppSec [candidate] (50.217 ms) : 0, 50217
Remote Config [baseline] (661.118 µs) : 0, 661
Remote Config [candidate] (667.162 µs) : 0, 667
Telemetry [baseline] (5.985 ms) : 0, 5985
Telemetry [candidate] (6.003 ms) : 0, 6003
section appsec
BytebuddyAgent [baseline] (615.026 ms) : 0, 615026
BytebuddyAgent [candidate] (614.808 ms) : 0, 614808
GlobalTracer [baseline] (285.95 ms) : 0, 285950
GlobalTracer [candidate] (286.256 ms) : 0, 286256
AppSec [baseline] (135.649 ms) : 0, 135649
AppSec [candidate] (135.42 ms) : 0, 135420
Remote Config [baseline] (721.665 µs) : 0, 722
Remote Config [candidate] (721.566 µs) : 0, 722
Telemetry [baseline] (5.805 ms) : 0, 5805
Telemetry [candidate] (5.807 ms) : 0, 5807
section iast
BytebuddyAgent [baseline] (715.902 ms) : 0, 715902
BytebuddyAgent [candidate] (722.165 ms) : 0, 722165
GlobalTracer [baseline] (269.837 ms) : 0, 269837
GlobalTracer [candidate] (272.334 ms) : 0, 272334
AppSec [baseline] (47.123 ms) : 0, 47123
AppSec [candidate] (47.567 ms) : 0, 47567
Remote Config [baseline] (548.986 µs) : 0, 549
Remote Config [candidate] (557.048 µs) : 0, 557
Telemetry [baseline] (5.722 ms) : 0, 5722
Telemetry [candidate] (5.758 ms) : 0, 5758
IAST [baseline] (13.824 ms) : 0, 13824
IAST [candidate] (13.995 ms) : 0, 13995
section profiling
BytebuddyAgent [baseline] (622.715 ms) : 0, 622715
BytebuddyAgent [candidate] (624.131 ms) : 0, 624131
GlobalTracer [baseline] (348.69 ms) : 0, 348690
GlobalTracer [candidate] (349.211 ms) : 0, 349211
AppSec [baseline] (49.244 ms) : 0, 49244
AppSec [candidate] (48.943 ms) : 0, 48943
Remote Config [baseline] (648.668 µs) : 0, 649
Remote Config [candidate] (655.496 µs) : 0, 655
Telemetry [baseline] (6.038 ms) : 0, 6038
Telemetry [candidate] (5.956 ms) : 0, 5956
ProfilingAgent [baseline] (76.924 ms) : 0, 76924
ProfilingAgent [candidate] (76.152 ms) : 0, 76152
Profiling [baseline] (76.949 ms) : 0, 76949
Profiling [candidate] (76.176 ms) : 0, 76176
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 24 cases. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~a1136e007e, baseline=1.20.0-SNAPSHOT~9bc95da6b5
dateFormat X
axisFormat %s
section baseline
no_agent (361.282 µs) : 341, 382
. : milestone, 361,
appsec (653.806 µs) : 633, 674
. : milestone, 654,
iast (452.128 µs) : 431, 473
. : milestone, 452,
iast_FULL (520.27 µs) : 500, 541
. : milestone, 520,
iast_INACTIVE (432.289 µs) : 411, 453
. : milestone, 432,
profiling (434.202 µs) : 414, 455
. : milestone, 434,
tracing (429.98 µs) : 410, 450
. : milestone, 430,
section candidate
no_agent (358.841 µs) : 338, 379
. : milestone, 359,
appsec (655.564 µs) : 635, 676
. : milestone, 656,
iast (455.134 µs) : 434, 476
. : milestone, 455,
iast_FULL (515.697 µs) : 495, 536
. : milestone, 516,
iast_INACTIVE (434.209 µs) : 413, 455
. : milestone, 434,
profiling (434.767 µs) : 414, 456
. : milestone, 435,
tracing (433.707 µs) : 413, 454
. : milestone, 434,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.20.0-SNAPSHOT~a1136e007e, baseline=1.20.0-SNAPSHOT~9bc95da6b5
dateFormat X
axisFormat %s
section baseline
no_agent (1.313 ms) : 1294, 1332
. : milestone, 1313,
appsec (1.666 ms) : 1641, 1690
. : milestone, 1666,
iast (1.455 ms) : 1431, 1479
. : milestone, 1455,
profiling (1.479 ms) : 1454, 1505
. : milestone, 1479,
tracing (1.421 ms) : 1397, 1445
. : milestone, 1421,
section candidate
no_agent (1.323 ms) : 1304, 1342
. : milestone, 1323,
appsec (1.649 ms) : 1625, 1673
. : milestone, 1649,
iast (1.448 ms) : 1423, 1472
. : milestone, 1448,
profiling (1.455 ms) : 1431, 1480
. : milestone, 1455,
tracing (1.448 ms) : 1424, 1472
. : milestone, 1448,
|
nikita-tkachenko-datadog
marked this pull request as ready for review
August 21, 2023 14:55
juan-fernandez
approved these changes
Aug 24, 2023
nikita-tkachenko-datadog
deleted the
nikita-tkachenko/compiler-aided-method-lines
branch
August 24, 2023 14:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What Does This Do
Updates CI Visibility logic that extracts lines metadata for test methods.
The update is to use
@MethodLinesannotation injected by dd-javac-plugin if available, and fall back to the previously used method (class bytecode traversing) if not.Motivation
Data injected by the compiler plugin is more accurate (as it includes method declaration lines - method name, modifiers, annotations) and can be retrieved with less overhead (as getting a runtime annotation does not required reading class data from disk, which is needed for bytecode traversing).