Skip to content

Conversation

@charlesmyu
Copy link
Contributor

@charlesmyu charlesmyu commented Oct 30, 2025

What Does This Do

Updates SparkPlanInfoAdvice for Scala 2.12 to use a reflected constructor rather the imported one to improve compatibility with different versions and forks of Spark.

Note: also updating to not reflect the SparkPlanInfo class since we rely on it elsewhere in the tracer anyways (e.g. SparkSQLUtils and in the decorations), so it felt reasonable to eliminate the additional reflect call and call it directly.

Motivation

The current SparkPlanInfoAdvice instrumentation causes the tracer to fail entirely when encountering an unknown SparkPlanInfo constructor. Instead, we should only fail the SparkPlanInfoAdvice instrumentation and allow the listener and other Spark tracer components to continue unimpeded.

Additional Notes

This was tested in our Databricks sandbox environment.

  • Databricks run without these changes (link) resulted in all Spark spans failing to show up.
  • Databricks run with these changes (link) results in Spark spans showing up for supported versions, with no additional metadata in the Spark plans (as expected).

Contributor Checklist

Jira ticket: DJM-974

@charlesmyu charlesmyu added the inst: apache spark Apache Spark instrumentation label Oct 30, 2025
@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Oct 30, 2025

🎯 Code Coverage
Patch Coverage: 100.00%
Total Coverage: 58.83% (-14.78%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 9244e6b | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Oct 30, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master charles.yu/djm-974/reflect-spi-constructor
git_commit_date 1761831120 1761834801
git_commit_sha 3a5a7f8 9244e6b
release_version 1.55.0-SNAPSHOT~3a5a7f86c9 1.55.0-SNAPSHOT~9244e6bf0b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1761836675 1761836675
ci_job_id 1206812610 1206812610
ci_pipeline_id 80751469 80751469
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-peaq661i 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-peaq661i 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.037 s) : 0, 1037103
Total [baseline] (8.688 s) : 0, 8687700
Agent [candidate] (1.029 s) : 0, 1029357
Total [candidate] (8.669 s) : 0, 8668990
section iast
Agent [baseline] (1.162 s) : 0, 1162493
Total [baseline] (9.354 s) : 0, 9353654
Agent [candidate] (1.169 s) : 0, 1169054
Total [candidate] (9.379 s) : 0, 9378726
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.037 s -
Agent iast 1.162 s 125.39 ms (12.1%)
Total tracing 8.688 s -
Total iast 9.354 s 665.954 ms (7.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.029 s -
Agent iast 1.169 s 139.697 ms (13.6%)
Total tracing 8.669 s -
Total iast 9.379 s 709.736 ms (8.2%)
gantt
    title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.488 ms) : 0, 1488
crashtracking [candidate] (1.45 ms) : 0, 1450
BytebuddyAgent [baseline] (707.563 ms) : 0, 707563
BytebuddyAgent [candidate] (701.934 ms) : 0, 701934
GlobalTracer [baseline] (246.195 ms) : 0, 246195
GlobalTracer [candidate] (244.649 ms) : 0, 244649
AppSec [baseline] (32.78 ms) : 0, 32780
AppSec [candidate] (32.24 ms) : 0, 32240
Debugger [baseline] (6.514 ms) : 0, 6514
Debugger [candidate] (6.388 ms) : 0, 6388
Remote Config [baseline] (693.145 µs) : 0, 693
Remote Config [candidate] (699.404 µs) : 0, 699
Telemetry [baseline] (13.239 ms) : 0, 13239
Telemetry [candidate] (15.122 ms) : 0, 15122
Flare Poller [baseline] (7.267 ms) : 0, 7267
Flare Poller [candidate] (5.684 ms) : 0, 5684
section iast
crashtracking [baseline] (1.468 ms) : 0, 1468
crashtracking [candidate] (1.497 ms) : 0, 1497
BytebuddyAgent [baseline] (824.78 ms) : 0, 824780
BytebuddyAgent [candidate] (830.613 ms) : 0, 830613
GlobalTracer [baseline] (234.099 ms) : 0, 234099
GlobalTracer [candidate] (234.937 ms) : 0, 234937
AppSec [baseline] (30.615 ms) : 0, 30615
AppSec [candidate] (26.995 ms) : 0, 26995
Debugger [baseline] (6.073 ms) : 0, 6073
Debugger [candidate] (6.091 ms) : 0, 6091
Remote Config [baseline] (604.39 µs) : 0, 604
Remote Config [candidate] (602.835 µs) : 0, 603
Telemetry [baseline] (8.467 ms) : 0, 8467
Telemetry [candidate] (8.354 ms) : 0, 8354
Flare Poller [baseline] (4.12 ms) : 0, 4120
Flare Poller [candidate] (4.123 ms) : 0, 4123
IAST [baseline] (30.903 ms) : 0, 30903
IAST [candidate] (34.378 ms) : 0, 34378
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.032 s) : 0, 1032378
Total [baseline] (10.811 s) : 0, 10810803
Agent [candidate] (1.029 s) : 0, 1028643
Total [candidate] (10.853 s) : 0, 10853173
section appsec
Agent [baseline] (1.201 s) : 0, 1200710
Total [baseline] (11.009 s) : 0, 11008689
Agent [candidate] (1.205 s) : 0, 1204843
Total [candidate] (10.985 s) : 0, 10984917
section iast
Agent [baseline] (1.17 s) : 0, 1169914
Total [baseline] (11.117 s) : 0, 11116898
Agent [candidate] (1.175 s) : 0, 1175383
Total [candidate] (11.013 s) : 0, 11012634
section profiling
Agent [baseline] (1.179 s) : 0, 1178961
Total [baseline] (10.986 s) : 0, 10985766
Agent [candidate] (1.174 s) : 0, 1173824
Total [candidate] (10.878 s) : 0, 10878301
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.032 s -
Agent appsec 1.201 s 168.333 ms (16.3%)
Agent iast 1.17 s 137.537 ms (13.3%)
Agent profiling 1.179 s 146.583 ms (14.2%)
Total tracing 10.811 s -
Total appsec 11.009 s 197.886 ms (1.8%)
Total iast 11.117 s 306.095 ms (2.8%)
Total profiling 10.986 s 174.963 ms (1.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.029 s -
Agent appsec 1.205 s 176.2 ms (17.1%)
Agent iast 1.175 s 146.74 ms (14.3%)
Agent profiling 1.174 s 145.181 ms (14.1%)
Total tracing 10.853 s -
Total appsec 10.985 s 131.744 ms (1.2%)
Total iast 11.013 s 159.461 ms (1.5%)
Total profiling 10.878 s 25.128 ms (0.2%)
gantt
    title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.479 ms) : 0, 1479
crashtracking [candidate] (1.47 ms) : 0, 1470
BytebuddyAgent [baseline] (704.445 ms) : 0, 704445
BytebuddyAgent [candidate] (701.903 ms) : 0, 701903
GlobalTracer [baseline] (245.074 ms) : 0, 245074
GlobalTracer [candidate] (243.956 ms) : 0, 243956
AppSec [baseline] (32.331 ms) : 0, 32331
AppSec [candidate] (32.182 ms) : 0, 32182
Debugger [baseline] (6.343 ms) : 0, 6343
Debugger [candidate] (6.34 ms) : 0, 6340
Remote Config [baseline] (687.917 µs) : 0, 688
Remote Config [candidate] (682.367 µs) : 0, 682
Telemetry [baseline] (15.728 ms) : 0, 15728
Telemetry [candidate] (14.389 ms) : 0, 14389
Flare Poller [baseline] (4.994 ms) : 0, 4994
Flare Poller [candidate] (6.477 ms) : 0, 6477
section appsec
crashtracking [baseline] (1.465 ms) : 0, 1465
crashtracking [candidate] (1.471 ms) : 0, 1471
BytebuddyAgent [baseline] (724.371 ms) : 0, 724371
BytebuddyAgent [candidate] (728.544 ms) : 0, 728544
GlobalTracer [baseline] (235.625 ms) : 0, 235625
GlobalTracer [candidate] (235.77 ms) : 0, 235770
AppSec [baseline] (174.241 ms) : 0, 174241
AppSec [candidate] (174.08 ms) : 0, 174080
Debugger [baseline] (5.933 ms) : 0, 5933
Debugger [candidate] (5.855 ms) : 0, 5855
Remote Config [baseline] (639.327 µs) : 0, 639
Remote Config [candidate] (614.228 µs) : 0, 614
Telemetry [baseline] (8.47 ms) : 0, 8470
Telemetry [candidate] (8.374 ms) : 0, 8374
Flare Poller [baseline] (3.955 ms) : 0, 3955
Flare Poller [candidate] (3.895 ms) : 0, 3895
IAST [baseline] (24.92 ms) : 0, 24920
IAST [candidate] (25.011 ms) : 0, 25011
section iast
crashtracking [baseline] (1.48 ms) : 0, 1480
crashtracking [candidate] (1.469 ms) : 0, 1469
BytebuddyAgent [baseline] (830.23 ms) : 0, 830230
BytebuddyAgent [candidate] (835.199 ms) : 0, 835199
GlobalTracer [baseline] (235.118 ms) : 0, 235118
GlobalTracer [candidate] (236.276 ms) : 0, 236276
AppSec [baseline] (27.581 ms) : 0, 27581
AppSec [candidate] (28.732 ms) : 0, 28732
Debugger [baseline] (6.178 ms) : 0, 6178
Debugger [candidate] (6.039 ms) : 0, 6039
Remote Config [baseline] (614.429 µs) : 0, 614
Remote Config [candidate] (589.352 µs) : 0, 589
Telemetry [baseline] (8.507 ms) : 0, 8507
Telemetry [candidate] (8.343 ms) : 0, 8343
Flare Poller [baseline] (4.222 ms) : 0, 4222
Flare Poller [candidate] (4.142 ms) : 0, 4142
IAST [baseline] (34.463 ms) : 0, 34463
IAST [candidate] (33.097 ms) : 0, 33097
section profiling
crashtracking [baseline] (1.476 ms) : 0, 1476
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (728.735 ms) : 0, 728735
BytebuddyAgent [candidate] (728.304 ms) : 0, 728304
GlobalTracer [baseline] (221.737 ms) : 0, 221737
GlobalTracer [candidate] (219.747 ms) : 0, 219747
AppSec [baseline] (32.613 ms) : 0, 32613
AppSec [candidate] (32.2 ms) : 0, 32200
Debugger [baseline] (9.228 ms) : 0, 9228
Debugger [candidate] (11.525 ms) : 0, 11525
Remote Config [baseline] (1.439 ms) : 0, 1439
Remote Config [candidate] (2.198 ms) : 0, 2198
Telemetry [baseline] (13.247 ms) : 0, 13247
Telemetry [candidate] (9.766 ms) : 0, 9766
Flare Poller [baseline] (4.151 ms) : 0, 4151
Flare Poller [candidate] (4.079 ms) : 0, 4079
ProfilingAgent [baseline] (110.678 ms) : 0, 110678
ProfilingAgent [candidate] (108.758 ms) : 0, 108758
Profiling [baseline] (111.325 ms) : 0, 111325
Profiling [candidate] (109.403 ms) : 0, 109403
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master charles.yu/djm-974/reflect-spi-constructor
git_commit_date 1761831120 1761834801
git_commit_sha 3a5a7f8 9244e6b
release_version 1.55.0-SNAPSHOT~3a5a7f86c9 1.55.0-SNAPSHOT~9244e6bf0b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1761837075 1761837075
ci_job_id 1206812612 1206812612
ci_pipeline_id 80751469 80751469
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-ha8bgya5 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-ha8bgya5 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 3 performance improvements and 3 performance regressions! Performance is the same for 6 metrics, 12 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:insecure-bank:iast_GLOBAL:high_load better
[-305.728µs; -177.923µs] or [-7.945%; -4.624%]
unstable
[-57.513op/s; +217.075op/s] or [-4.820%; +18.193%]
3.606ms 1272.938op/s 3.848ms 1193.156op/s
scenario:load:insecure-bank:iast:high_load better
[-232.356µs; -139.559µs] or [-6.866%; -4.124%]
unstable
[-76.547op/s; +230.110op/s] or [-5.656%; +17.004%]
3.198ms 1430.062op/s 3.384ms 1353.281op/s
scenario:load:petclinic:code_origins:high_load worse
[+1.556ms; +1.955ms] or [+8.853%; +11.126%]
unstable
[-51.087op/s; +3.149op/s] or [-19.239%; +1.186%]
19.326ms 241.562op/s 17.570ms 265.531op/s
scenario:load:petclinic:tracing:high_load worse
[+441.168µs; +826.910µs] or [+2.509%; +4.703%]
unstable
[-37.517op/s; +19.142op/s] or [-14.139%; +7.214%]
18.216ms 256.156op/s 17.582ms 265.344op/s
scenario:load:petclinic:no_agent:high_load worse
[+1.680ms; +2.081ms] or [+9.665%; +11.971%]
unstable
[-54.994op/s; +2.869op/s] or [-20.491%; +1.069%]
19.264ms 242.312op/s 17.383ms 268.375op/s
scenario:load:petclinic:iast:high_load better
[-1104.337µs; -691.432µs] or [-5.656%; -3.541%]
unstable
[-14.973op/s; +37.848op/s] or [-6.263%; +15.832%]
18.628ms 250.500op/s 19.526ms 239.062op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.383 ms) : 17208, 17558
.   : milestone, 17383,
appsec (19.274 ms) : 19073, 19475
.   : milestone, 19274,
code_origins (17.57 ms) : 17397, 17744
.   : milestone, 17570,
iast (19.526 ms) : 19332, 19721
.   : milestone, 19526,
profiling (20.73 ms) : 20521, 20940
.   : milestone, 20730,
tracing (17.582 ms) : 17405, 17758
.   : milestone, 17582,
section candidate
no_agent (19.264 ms) : 19067, 19460
.   : milestone, 19264,
appsec (19.418 ms) : 19217, 19619
.   : milestone, 19418,
code_origins (19.326 ms) : 19129, 19522
.   : milestone, 19326,
iast (18.628 ms) : 18439, 18818
.   : milestone, 18628,
profiling (20.699 ms) : 20489, 20909
.   : milestone, 20699,
tracing (18.216 ms) : 18034, 18398
.   : milestone, 18216,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.383 ms [17.208 ms, 17.558 ms] -
appsec 19.274 ms [19.073 ms, 19.475 ms] 1.891 ms (10.9%)
code_origins 17.57 ms [17.397 ms, 17.744 ms] 187.289 µs (1.1%)
iast 19.526 ms [19.332 ms, 19.721 ms] 2.143 ms (12.3%)
profiling 20.73 ms [20.521 ms, 20.94 ms] 3.347 ms (19.3%)
tracing 17.582 ms [17.405 ms, 17.758 ms] 198.44 µs (1.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.264 ms [19.067 ms, 19.46 ms] -
appsec 19.418 ms [19.217 ms, 19.619 ms] 154.147 µs (0.8%)
code_origins 19.326 ms [19.129 ms, 19.522 ms] 61.992 µs (0.3%)
iast 18.628 ms [18.439 ms, 18.818 ms] -635.188 µs (-3.3%)
profiling 20.699 ms [20.489 ms, 20.909 ms] 1.435 ms (7.5%)
tracing 18.216 ms [18.034 ms, 18.398 ms] -1.048 ms (-5.4%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.202 ms) : 1190, 1214
.   : milestone, 1202,
iast (3.384 ms) : 3337, 3432
.   : milestone, 3384,
iast_FULL (5.867 ms) : 5807, 5926
.   : milestone, 5867,
iast_GLOBAL (3.848 ms) : 3787, 3910
.   : milestone, 3848,
profiling (1.931 ms) : 1915, 1948
.   : milestone, 1931,
tracing (1.826 ms) : 1810, 1841
.   : milestone, 1826,
section candidate
no_agent (1.209 ms) : 1197, 1221
.   : milestone, 1209,
iast (3.198 ms) : 3160, 3236
.   : milestone, 3198,
iast_FULL (5.865 ms) : 5806, 5924
.   : milestone, 5865,
iast_GLOBAL (3.606 ms) : 3549, 3664
.   : milestone, 3606,
profiling (1.894 ms) : 1877, 1910
.   : milestone, 1894,
tracing (1.818 ms) : 1803, 1833
.   : milestone, 1818,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.202 ms [1.19 ms, 1.214 ms] -
iast 3.384 ms [3.337 ms, 3.432 ms] 2.182 ms (181.5%)
iast_FULL 5.867 ms [5.807 ms, 5.926 ms] 4.665 ms (388.0%)
iast_GLOBAL 3.848 ms [3.787 ms, 3.91 ms] 2.646 ms (220.1%)
profiling 1.931 ms [1.915 ms, 1.948 ms] 729.258 µs (60.7%)
tracing 1.826 ms [1.81 ms, 1.841 ms] 623.429 µs (51.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.209 ms [1.197 ms, 1.221 ms] -
iast 3.198 ms [3.16 ms, 3.236 ms] 1.989 ms (164.5%)
iast_FULL 5.865 ms [5.806 ms, 5.924 ms] 4.656 ms (385.1%)
iast_GLOBAL 3.606 ms [3.549 ms, 3.664 ms] 2.397 ms (198.3%)
profiling 1.894 ms [1.877 ms, 1.91 ms] 684.586 µs (56.6%)
tracing 1.818 ms [1.803 ms, 1.833 ms] 608.759 µs (50.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master charles.yu/djm-974/reflect-spi-constructor
git_commit_date 1761831120 1761834801
git_commit_sha 3a5a7f8 9244e6b
release_version 1.55.0-SNAPSHOT~3a5a7f86c9 1.55.0-SNAPSHOT~9244e6bf0b
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1761836767 1761836767
ci_job_id 1206812613 1206812613
ci_pipeline_id 80751469 80751469
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-79mjn02m 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-79mjn02m 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.768 s) : 14768000, 14768000
.   : milestone, 14768000,
appsec (15.016 s) : 15016000, 15016000
.   : milestone, 15016000,
iast (18.722 s) : 18722000, 18722000
.   : milestone, 18722000,
iast_GLOBAL (17.943 s) : 17943000, 17943000
.   : milestone, 17943000,
profiling (15.172 s) : 15172000, 15172000
.   : milestone, 15172000,
tracing (15.021 s) : 15021000, 15021000
.   : milestone, 15021000,
section candidate
no_agent (14.862 s) : 14862000, 14862000
.   : milestone, 14862000,
appsec (14.752 s) : 14752000, 14752000
.   : milestone, 14752000,
iast (18.283 s) : 18283000, 18283000
.   : milestone, 18283000,
iast_GLOBAL (17.807 s) : 17807000, 17807000
.   : milestone, 17807000,
profiling (15.749 s) : 15749000, 15749000
.   : milestone, 15749000,
tracing (15.346 s) : 15346000, 15346000
.   : milestone, 15346000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.768 s [14.768 s, 14.768 s] -
appsec 15.016 s [15.016 s, 15.016 s] 248.0 ms (1.7%)
iast 18.722 s [18.722 s, 18.722 s] 3.954 s (26.8%)
iast_GLOBAL 17.943 s [17.943 s, 17.943 s] 3.175 s (21.5%)
profiling 15.172 s [15.172 s, 15.172 s] 404.0 ms (2.7%)
tracing 15.021 s [15.021 s, 15.021 s] 253.0 ms (1.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.862 s [14.862 s, 14.862 s] -
appsec 14.752 s [14.752 s, 14.752 s] -110.0 ms (-0.7%)
iast 18.283 s [18.283 s, 18.283 s] 3.421 s (23.0%)
iast_GLOBAL 17.807 s [17.807 s, 17.807 s] 2.945 s (19.8%)
profiling 15.749 s [15.749 s, 15.749 s] 887.0 ms (6.0%)
tracing 15.346 s [15.346 s, 15.346 s] 484.0 ms (3.3%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~9244e6bf0b, baseline=1.55.0-SNAPSHOT~3a5a7f86c9
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.472 ms) : 1460, 1483
.   : milestone, 1472,
appsec (2.469 ms) : 2417, 2521
.   : milestone, 2469,
iast (2.215 ms) : 2150, 2279
.   : milestone, 2215,
iast_GLOBAL (2.258 ms) : 2193, 2322
.   : milestone, 2258,
profiling (2.076 ms) : 2023, 2130
.   : milestone, 2076,
tracing (2.029 ms) : 1979, 2080
.   : milestone, 2029,
section candidate
no_agent (1.472 ms) : 1461, 1484
.   : milestone, 1472,
appsec (3.655 ms) : 3440, 3870
.   : milestone, 3655,
iast (2.209 ms) : 2145, 2273
.   : milestone, 2209,
iast_GLOBAL (2.261 ms) : 2196, 2326
.   : milestone, 2261,
profiling (2.082 ms) : 2029, 2136
.   : milestone, 2082,
tracing (2.032 ms) : 1982, 2083
.   : milestone, 2032,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.46 ms, 1.483 ms] -
appsec 2.469 ms [2.417 ms, 2.521 ms] 997.525 µs (67.8%)
iast 2.215 ms [2.15 ms, 2.279 ms] 742.803 µs (50.5%)
iast_GLOBAL 2.258 ms [2.193 ms, 2.322 ms] 785.893 µs (53.4%)
profiling 2.076 ms [2.023 ms, 2.13 ms] 604.699 µs (41.1%)
tracing 2.029 ms [1.979 ms, 2.08 ms] 557.603 µs (37.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.461 ms, 1.484 ms] -
appsec 3.655 ms [3.44 ms, 3.87 ms] 2.183 ms (148.3%)
iast 2.209 ms [2.145 ms, 2.273 ms] 736.798 µs (50.1%)
iast_GLOBAL 2.261 ms [2.196 ms, 2.326 ms] 788.744 µs (53.6%)
profiling 2.082 ms [2.029 ms, 2.136 ms] 610.2 µs (41.5%)
tracing 2.032 ms [1.982 ms, 2.083 ms] 560.023 µs (38.0%)

@charlesmyu charlesmyu force-pushed the charles.yu/djm-974/reflect-spi-constructor branch from 52646b2 to 9244e6b Compare October 30, 2025 14:33
@charlesmyu charlesmyu changed the title [DJM-974] Use reflection for constructor in Scala 2.12, lookup by parameter classes Use reflection for constructor in Scala 2.12, lookup by parameter classes Oct 30, 2025
@charlesmyu charlesmyu changed the title Use reflection for constructor in Scala 2.12, lookup by parameter classes Use reflection for constructor in Scala 2.12 Oct 30, 2025
@pawel-big-lebowski pawel-big-lebowski marked this pull request as ready for review October 31, 2025 08:10
@pawel-big-lebowski pawel-big-lebowski requested a review from a team as a code owner October 31, 2025 08:10
@aboitreaud aboitreaud merged commit 91f2995 into adrien.boitreaud/fix-muzzle-mismatch Oct 31, 2025
543 of 545 checks passed
@aboitreaud aboitreaud deleted the charles.yu/djm-974/reflect-spi-constructor branch October 31, 2025 08:53
aboitreaud added a commit that referenced this pull request Oct 31, 2025
…nstrumented (#9872)

* relax muzzle check

* relax more

* spotlessApply

* fix muzzle block by avoiding streaming hard deps and relaxing listener bus matchers

* remove unnecessary defense on StreamExecution

* revert changes on OL listener

* improve getMicroBatchExecutionBatchIdKey

* import InvocationTargetException

* Update AbstractDatadogSparkListener.java

* no need reflection since key is known

* Update AbstractSparkInstrumentation.java

* reflection against SparkPlanInfoAdvice

* spotless

* [DJM-974] Use reflection for constructor in Scala 2.12, lookup by parameter classes (#9886)

---------

Co-authored-by: Charles Yu <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: apache spark Apache Spark instrumentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants