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

Add avoid double instrumenting lambda non-streaming handlers. #8073

Merged
merged 1 commit into from
Dec 16, 2024

Conversation

purple4reina
Copy link
Contributor

@purple4reina purple4reina commented Dec 10, 2024

What Does This Do

Adds lambdainternal.EventHandlerLoader$PojoHandlerAsStreamHandler to the list of ignored classes.

Motivation

It seems that, under the hood, aws lambda wraps non-streaming handlers in an internal streaming handler class. This allows them to execute these two different kinds of lambda functions in a single unified way.

However, since this internally wrapping handler is also matching our advice matchers, it gets instrumented as well. Mostly, that is not an issue, except for the fact that it means we're unable to capture the return value of the original handler function.

In the non-streaming case, since the internal streaming handler class is wrapping the customer's handler function, the streaming instrumentation gets executed first. This means that, for the OnMethodExit we cannot grab the handler's return value since all streaming handlers return void. Therefore, the returned object is not passed to the extension and not captured.

Adding this lambda internal streaming handler class to the list of ignores ensures that the OnMethodExit is called specifically when the customer's handler code returns.

Additional Notes

I deployed this code in a testing layer to aws lambda and confirmed that we are now able to see the response payload in the non-streaming case.

Screenshot 2024-12-10 at 11 35 05 AM

Contributor Checklist

Jira ticket: [PROJ-IDENT]

https://datadoghq.atlassian.net/browse/SLES-1920

@purple4reina purple4reina requested a review from a team as a code owner December 10, 2024 16:26
@purple4reina purple4reina requested a review from mcculls December 10, 2024 16:26
Copy link
Contributor

github-actions bot commented Dec 10, 2024

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@pr-commenter
Copy link

pr-commenter bot commented Dec 10, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master rey.abolofia/lambda-capture-response
git_commit_date 1733762523 1733846662
git_commit_sha 4524f7b ede4fe5
release_version 1.44.0-SNAPSHOT~4524f7bc5d 1.44.0-SNAPSHOT~ede4fe5c5f
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1733849054 1733849054
ci_job_id 733210181 733210181
ci_pipeline_id 50726388 50726388
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 1 performance improvements and 0 performance regressions! Performance is the same for 53 metrics, 9 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:Remote Config better
[-66.153µs; -18.826µs] or [-10.107%; -2.876%]
612.058µs 654.548µs
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1092860
Total [baseline] (8.706 s) : 0, 8706176
Agent [candidate] (1.091 s) : 0, 1090970
Total [candidate] (8.689 s) : 0, 8689339
section iast
Agent [baseline] (1.22 s) : 0, 1219621
Total [baseline] (9.237 s) : 0, 9236671
Agent [candidate] (1.22 s) : 0, 1220003
Total [candidate] (9.236 s) : 0, 9235879
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.222 s) : 0, 1222107
Total [baseline] (9.189 s) : 0, 9189461
Agent [candidate] (1.229 s) : 0, 1228511
Total [candidate] (9.203 s) : 0, 9203413
section iast_TELEMETRY_OFF
Agent [baseline] (1.219 s) : 0, 1219495
Total [baseline] (9.195 s) : 0, 9195230
Agent [candidate] (1.218 s) : 0, 1217666
Total [candidate] (9.23 s) : 0, 9230201
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent iast 1.22 s 126.761 ms (11.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.222 s 129.247 ms (11.8%)
Agent iast_TELEMETRY_OFF 1.219 s 126.634 ms (11.6%)
Total tracing 8.706 s -
Total iast 9.237 s 530.495 ms (6.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.189 s 483.285 ms (5.6%)
Total iast_TELEMETRY_OFF 9.195 s 489.054 ms (5.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.091 s -
Agent iast 1.22 s 129.033 ms (11.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.229 s 137.541 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.218 s 126.696 ms (11.6%)
Total tracing 8.689 s -
Total iast 9.236 s 546.54 ms (6.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.203 s 514.074 ms (5.9%)
Total iast_TELEMETRY_OFF 9.23 s 540.862 ms (6.2%)
gantt
    title insecure-bank - break down per module: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (696.711 ms) : 0, 696711
BytebuddyAgent [candidate] (693.777 ms) : 0, 693777
GlobalTracer [baseline] (318.031 ms) : 0, 318031
GlobalTracer [candidate] (318.062 ms) : 0, 318062
AppSec [baseline] (54.471 ms) : 0, 54471
AppSec [candidate] (54.724 ms) : 0, 54724
Remote Config [baseline] (685.898 µs) : 0, 686
Remote Config [candidate] (688.695 µs) : 0, 689
Telemetry [baseline] (9.214 ms) : 0, 9214
Telemetry [candidate] (9.999 ms) : 0, 9999
section iast
BytebuddyAgent [baseline] (813.105 ms) : 0, 813105
BytebuddyAgent [candidate] (812.609 ms) : 0, 812609
GlobalTracer [baseline] (305.43 ms) : 0, 305430
GlobalTracer [candidate] (306.734 ms) : 0, 306734
AppSec [baseline] (58.056 ms) : 0, 58056
AppSec [candidate] (56.596 ms) : 0, 56596
Remote Config [baseline] (654.548 µs) : 0, 655
Remote Config [candidate] (612.058 µs) : 0, 612
Telemetry [baseline] (7.615 ms) : 0, 7615
Telemetry [candidate] (7.427 ms) : 0, 7427
IAST [baseline] (21.013 ms) : 0, 21013
IAST [candidate] (22.279 ms) : 0, 22279
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (814.597 ms) : 0, 814597
BytebuddyAgent [candidate] (818.714 ms) : 0, 818714
GlobalTracer [baseline] (306.64 ms) : 0, 306640
GlobalTracer [candidate] (309.323 ms) : 0, 309323
AppSec [baseline] (57.202 ms) : 0, 57202
AppSec [candidate] (57.677 ms) : 0, 57677
Remote Config [baseline] (641.756 µs) : 0, 642
Remote Config [candidate] (618.772 µs) : 0, 619
Telemetry [baseline] (7.535 ms) : 0, 7535
Telemetry [candidate] (7.513 ms) : 0, 7513
IAST [baseline] (21.725 ms) : 0, 21725
IAST [candidate] (20.814 ms) : 0, 20814
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (812.309 ms) : 0, 812309
BytebuddyAgent [candidate] (810.285 ms) : 0, 810285
GlobalTracer [baseline] (306.547 ms) : 0, 306547
GlobalTracer [candidate] (306.84 ms) : 0, 306840
AppSec [baseline] (58.407 ms) : 0, 58407
AppSec [candidate] (56.332 ms) : 0, 56332
Remote Config [baseline] (640.948 µs) : 0, 641
Remote Config [candidate] (778.413 µs) : 0, 778
Telemetry [baseline] (7.413 ms) : 0, 7413
Telemetry [candidate] (7.524 ms) : 0, 7524
IAST [baseline] (20.414 ms) : 0, 20414
IAST [candidate] (22.164 ms) : 0, 22164
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.098 s) : 0, 1097716
Total [baseline] (10.466 s) : 0, 10466478
Agent [candidate] (1.099 s) : 0, 1099132
Total [candidate] (10.59 s) : 0, 10589861
section appsec
Agent [baseline] (1.232 s) : 0, 1231572
Total [baseline] (10.774 s) : 0, 10774335
Agent [candidate] (1.234 s) : 0, 1233505
Total [candidate] (10.827 s) : 0, 10827320
section iast
Agent [baseline] (1.224 s) : 0, 1224115
Total [baseline] (10.984 s) : 0, 10983958
Agent [candidate] (1.22 s) : 0, 1220262
Total [candidate] (10.957 s) : 0, 10957199
section profiling
Agent [baseline] (1.335 s) : 0, 1335154
Total [baseline] (10.968 s) : 0, 10968364
Agent [candidate] (1.32 s) : 0, 1319655
Total [candidate] (10.878 s) : 0, 10878320
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.098 s -
Agent appsec 1.232 s 133.856 ms (12.2%)
Agent iast 1.224 s 126.399 ms (11.5%)
Agent profiling 1.335 s 237.438 ms (21.6%)
Total tracing 10.466 s -
Total appsec 10.774 s 307.857 ms (2.9%)
Total iast 10.984 s 517.48 ms (4.9%)
Total profiling 10.968 s 501.886 ms (4.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.099 s -
Agent appsec 1.234 s 134.373 ms (12.2%)
Agent iast 1.22 s 121.13 ms (11.0%)
Agent profiling 1.32 s 220.524 ms (20.1%)
Total tracing 10.59 s -
Total appsec 10.827 s 237.459 ms (2.2%)
Total iast 10.957 s 367.338 ms (3.5%)
Total profiling 10.878 s 288.459 ms (2.7%)
gantt
    title petclinic - break down per module: candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (697.189 ms) : 0, 697189
BytebuddyAgent [candidate] (699.749 ms) : 0, 699749
GlobalTracer [baseline] (318.981 ms) : 0, 318981
GlobalTracer [candidate] (319.885 ms) : 0, 319885
AppSec [baseline] (55.078 ms) : 0, 55078
AppSec [candidate] (55.075 ms) : 0, 55075
Remote Config [baseline] (690.308 µs) : 0, 690
Remote Config [candidate] (678.9 µs) : 0, 679
Telemetry [baseline] (12.054 ms) : 0, 12054
Telemetry [candidate] (9.916 ms) : 0, 9916
section appsec
BytebuddyAgent [baseline] (715.089 ms) : 0, 715089
BytebuddyAgent [candidate] (716.446 ms) : 0, 716446
GlobalTracer [baseline] (316.365 ms) : 0, 316365
GlobalTracer [candidate] (316.198 ms) : 0, 316198
AppSec [baseline] (168.073 ms) : 0, 168073
AppSec [candidate] (168.947 ms) : 0, 168947
Remote Config [baseline] (645.252 µs) : 0, 645
Remote Config [candidate] (655.045 µs) : 0, 655
Telemetry [baseline] (8.162 ms) : 0, 8162
Telemetry [candidate] (7.47 ms) : 0, 7470
IAST [baseline] (18.977 ms) : 0, 18977
IAST [candidate] (20.096 ms) : 0, 20096
section iast
BytebuddyAgent [baseline] (814.363 ms) : 0, 814363
BytebuddyAgent [candidate] (813.222 ms) : 0, 813222
GlobalTracer [baseline] (308.322 ms) : 0, 308322
GlobalTracer [candidate] (306.821 ms) : 0, 306821
AppSec [baseline] (58.357 ms) : 0, 58357
AppSec [candidate] (57.619 ms) : 0, 57619
Remote Config [baseline] (657.185 µs) : 0, 657
Remote Config [candidate] (626.06 µs) : 0, 626
Telemetry [baseline] (7.599 ms) : 0, 7599
Telemetry [candidate] (7.489 ms) : 0, 7489
IAST [baseline] (21.074 ms) : 0, 21074
IAST [candidate] (20.759 ms) : 0, 20759
section profiling
BytebuddyAgent [baseline] (699.431 ms) : 0, 699431
BytebuddyAgent [candidate] (691.179 ms) : 0, 691179
GlobalTracer [baseline] (438.55 ms) : 0, 438550
GlobalTracer [candidate] (434.045 ms) : 0, 434045
AppSec [baseline] (54.129 ms) : 0, 54129
AppSec [candidate] (53.427 ms) : 0, 53427
Remote Config [baseline] (681.603 µs) : 0, 682
Remote Config [candidate] (665.861 µs) : 0, 666
Telemetry [baseline] (7.762 ms) : 0, 7762
Telemetry [candidate] (7.725 ms) : 0, 7725
ProfilingAgent [baseline] (94.903 ms) : 0, 94903
ProfilingAgent [candidate] (93.456 ms) : 0, 93456
Profiling [baseline] (94.927 ms) : 0, 94927
Profiling [candidate] (93.479 ms) : 0, 93479
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-12-10T16:16:13 2024-12-10T16:23:15
git_branch master rey.abolofia/lambda-capture-response
git_commit_date 1733762523 1733846662
git_commit_sha 4524f7b ede4fe5
release_version 1.44.0-SNAPSHOT~4524f7bc5d 1.44.0-SNAPSHOT~ede4fe5c5f
start_time 2024-12-10T16:16:00 2024-12-10T16:23:01
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1733848150 1733848150
ci_job_id 733210183 733210183
ci_pipeline_id 50726388 50726388
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 13 metrics, 15 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
    dateFormat X
    axisFormat %s
section baseline
no_agent (377.662 µs) : 358, 398
.   : milestone, 378,
iast (497.285 µs) : 476, 519
.   : milestone, 497,
iast_FULL (663.922 µs) : 642, 685
.   : milestone, 664,
iast_GLOBAL (535.304 µs) : 512, 559
.   : milestone, 535,
iast_HARDCODED_SECRET_DISABLED (501.445 µs) : 480, 523
.   : milestone, 501,
iast_INACTIVE (457.185 µs) : 436, 478
.   : milestone, 457,
iast_TELEMETRY_OFF (489.711 µs) : 468, 511
.   : milestone, 490,
tracing (459.204 µs) : 438, 480
.   : milestone, 459,
section candidate
no_agent (383.987 µs) : 364, 404
.   : milestone, 384,
iast (497.676 µs) : 476, 519
.   : milestone, 498,
iast_FULL (666.491 µs) : 645, 688
.   : milestone, 666,
iast_GLOBAL (531.934 µs) : 509, 555
.   : milestone, 532,
iast_HARDCODED_SECRET_DISABLED (495.055 µs) : 474, 516
.   : milestone, 495,
iast_INACTIVE (455.01 µs) : 434, 476
.   : milestone, 455,
iast_TELEMETRY_OFF (488.099 µs) : 466, 510
.   : milestone, 488,
tracing (455.469 µs) : 434, 477
.   : milestone, 455,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 377.662 µs [357.823 µs, 397.5 µs] -
iast 497.285 µs [475.82 µs, 518.751 µs] 119.624 µs (31.7%)
iast_FULL 663.922 µs [642.41 µs, 685.435 µs] 286.261 µs (75.8%)
iast_GLOBAL 535.304 µs [511.861 µs, 558.747 µs] 157.643 µs (41.7%)
iast_HARDCODED_SECRET_DISABLED 501.445 µs [480.12 µs, 522.769 µs] 123.783 µs (32.8%)
iast_INACTIVE 457.185 µs [436.363 µs, 478.008 µs] 79.524 µs (21.1%)
iast_TELEMETRY_OFF 489.711 µs [467.989 µs, 511.434 µs] 112.05 µs (29.7%)
tracing 459.204 µs [438.441 µs, 479.967 µs] 81.542 µs (21.6%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 383.987 µs [364.165 µs, 403.809 µs] -
iast 497.676 µs [476.191 µs, 519.161 µs] 113.689 µs (29.6%)
iast_FULL 666.491 µs [644.901 µs, 688.081 µs] 282.504 µs (73.6%)
iast_GLOBAL 531.934 µs [509.148 µs, 554.721 µs] 147.947 µs (38.5%)
iast_HARDCODED_SECRET_DISABLED 495.055 µs [473.78 µs, 516.329 µs] 111.068 µs (28.9%)
iast_INACTIVE 455.01 µs [434.278 µs, 475.743 µs] 71.023 µs (18.5%)
iast_TELEMETRY_OFF 488.099 µs [466.178 µs, 510.02 µs] 104.112 µs (27.1%)
tracing 455.469 µs [434.039 µs, 476.898 µs] 71.482 µs (18.6%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.354 ms) : 1334, 1374
.   : milestone, 1354,
appsec (1.774 ms) : 1749, 1798
.   : milestone, 1774,
appsec_no_iast (1.772 ms) : 1748, 1796
.   : milestone, 1772,
iast (1.516 ms) : 1493, 1540
.   : milestone, 1516,
profiling (1.517 ms) : 1493, 1541
.   : milestone, 1517,
tracing (1.508 ms) : 1483, 1533
.   : milestone, 1508,
section candidate
no_agent (1.348 ms) : 1328, 1368
.   : milestone, 1348,
appsec (1.772 ms) : 1747, 1796
.   : milestone, 1772,
appsec_no_iast (1.777 ms) : 1753, 1802
.   : milestone, 1777,
iast (1.503 ms) : 1480, 1525
.   : milestone, 1503,
profiling (1.51 ms) : 1487, 1533
.   : milestone, 1510,
tracing (1.509 ms) : 1485, 1533
.   : milestone, 1509,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.354 ms [1.334 ms, 1.374 ms] -
appsec 1.774 ms [1.749 ms, 1.798 ms] 419.715 µs (31.0%)
appsec_no_iast 1.772 ms [1.748 ms, 1.796 ms] 418.504 µs (30.9%)
iast 1.516 ms [1.493 ms, 1.54 ms] 162.643 µs (12.0%)
profiling 1.517 ms [1.493 ms, 1.541 ms] 163.264 µs (12.1%)
tracing 1.508 ms [1.483 ms, 1.533 ms] 154.229 µs (11.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.348 ms [1.328 ms, 1.368 ms] -
appsec 1.772 ms [1.747 ms, 1.796 ms] 423.759 µs (31.4%)
appsec_no_iast 1.777 ms [1.753 ms, 1.802 ms] 429.53 µs (31.9%)
iast 1.503 ms [1.48 ms, 1.525 ms] 154.909 µs (11.5%)
profiling 1.51 ms [1.487 ms, 1.533 ms] 162.312 µs (12.0%)
tracing 1.509 ms [1.485 ms, 1.533 ms] 160.904 µs (11.9%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master rey.abolofia/lambda-capture-response
git_commit_date 1733762523 1733846662
git_commit_sha 4524f7b ede4fe5
release_version 1.44.0-SNAPSHOT~4524f7bc5d 1.44.0-SNAPSHOT~ede4fe5c5f
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1733848702 1733848702
ci_job_id 733210184 733210184
ci_pipeline_id 50726388 50726388
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant appsec appsec

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.468 ms) : 1457, 1480
.   : milestone, 1468,
appsec (2.332 ms) : 2291, 2374
.   : milestone, 2332,
iast (2.09 ms) : 2037, 2143
.   : milestone, 2090,
iast_GLOBAL (2.131 ms) : 2078, 2184
.   : milestone, 2131,
profiling (2.456 ms) : 2266, 2646
.   : milestone, 2456,
tracing (1.932 ms) : 1891, 1972
.   : milestone, 1932,
section candidate
no_agent (1.468 ms) : 1457, 1480
.   : milestone, 1468,
appsec (2.344 ms) : 2302, 2385
.   : milestone, 2344,
iast (2.081 ms) : 2028, 2133
.   : milestone, 2081,
iast_GLOBAL (2.129 ms) : 2076, 2182
.   : milestone, 2129,
profiling (1.954 ms) : 1912, 1996
.   : milestone, 1954,
tracing (1.928 ms) : 1887, 1968
.   : milestone, 1928,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.468 ms [1.457 ms, 1.48 ms] -
appsec 2.332 ms [2.291 ms, 2.374 ms] 864.025 µs (58.8%)
iast 2.09 ms [2.037 ms, 2.143 ms] 621.949 µs (42.4%)
iast_GLOBAL 2.131 ms [2.078 ms, 2.184 ms] 662.625 µs (45.1%)
profiling 2.456 ms [2.266 ms, 2.646 ms] 987.857 µs (67.3%)
tracing 1.932 ms [1.891 ms, 1.972 ms] 463.717 µs (31.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.468 ms [1.457 ms, 1.48 ms] -
appsec 2.344 ms [2.302 ms, 2.385 ms] 875.335 µs (59.6%)
iast 2.081 ms [2.028 ms, 2.133 ms] 612.313 µs (41.7%)
iast_GLOBAL 2.129 ms [2.076 ms, 2.182 ms] 660.299 µs (45.0%)
profiling 1.954 ms [1.912 ms, 1.996 ms] 485.664 µs (33.1%)
tracing 1.928 ms [1.887 ms, 1.968 ms] 459.558 µs (31.3%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~ede4fe5c5f, baseline=1.44.0-SNAPSHOT~4524f7bc5d
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.76 s) : 14760000, 14760000
.   : milestone, 14760000,
appsec (15.23 s) : 15230000, 15230000
.   : milestone, 15230000,
iast (19.046 s) : 19046000, 19046000
.   : milestone, 19046000,
iast_GLOBAL (18.071 s) : 18071000, 18071000
.   : milestone, 18071000,
profiling (15.065 s) : 15065000, 15065000
.   : milestone, 15065000,
tracing (14.954 s) : 14954000, 14954000
.   : milestone, 14954000,
section candidate
no_agent (15.626 s) : 15626000, 15626000
.   : milestone, 15626000,
appsec (14.762 s) : 14762000, 14762000
.   : milestone, 14762000,
iast (18.366 s) : 18366000, 18366000
.   : milestone, 18366000,
iast_GLOBAL (17.783 s) : 17783000, 17783000
.   : milestone, 17783000,
profiling (14.759 s) : 14759000, 14759000
.   : milestone, 14759000,
tracing (15.005 s) : 15005000, 15005000
.   : milestone, 15005000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.76 s [14.76 s, 14.76 s] -
appsec 15.23 s [15.23 s, 15.23 s] 470.0 ms (3.2%)
iast 19.046 s [19.046 s, 19.046 s] 4.286 s (29.0%)
iast_GLOBAL 18.071 s [18.071 s, 18.071 s] 3.311 s (22.4%)
profiling 15.065 s [15.065 s, 15.065 s] 305.0 ms (2.1%)
tracing 14.954 s [14.954 s, 14.954 s] 194.0 ms (1.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.626 s [15.626 s, 15.626 s] -
appsec 14.762 s [14.762 s, 14.762 s] -864.0 ms (-5.5%)
iast 18.366 s [18.366 s, 18.366 s] 2.74 s (17.5%)
iast_GLOBAL 17.783 s [17.783 s, 17.783 s] 2.157 s (13.8%)
profiling 14.759 s [14.759 s, 14.759 s] -867.0 ms (-5.5%)
tracing 15.005 s [15.005 s, 15.005 s] -621.0 ms (-4.0%)

@amarziali amarziali added type: bug tag: serverless Serverless support labels Dec 16, 2024
@purple4reina purple4reina merged commit 82cd3f5 into master Dec 16, 2024
150 of 155 checks passed
@purple4reina purple4reina deleted the rey.abolofia/lambda-capture-response branch December 16, 2024 17:01
@github-actions github-actions bot added this to the 1.45.0 milestone Dec 16, 2024
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 9, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.50.0` -> `2.50.1` |
|
[com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.49.0` -> `2.49.1` |
|
[com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.49.0` -> `2.49.1` |
| [com.google.api:gax](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.59.0` -> `2.59.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.44.1` -> `1.45.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.44.1` -> `1.45.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |

---

### Release Notes

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.45.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.45.0):
1.45.0

##### Breaking changes

> \[!WARNING]\
> Support for custom scope manager using OpenTelemetry tracer artifact
(`dd-trace-ot`) is dropped.
> Tracing with OpenTracing API and custom scope manager will continue to
work on 1.44.x releases.

##### Components

##### Application Security Management (IAST)

- ✨ Add propagation to URI#toURL method
([#&#8203;8146](DataDog/dd-trace-java#8146) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Increase IAST propagation to StringBuilder setLength
([#&#8203;8119](DataDog/dd-trace-java#8119) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Increase IAST propagation to StringBuffer append
([#&#8203;8082](DataDog/dd-trace-java#8082) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Handle IAST security controls custom validation and
sanitization methods
([#&#8203;7997](DataDog/dd-trace-java#7997) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Application Security Management (WAF)

- ✨ Update user lifecycle tracking to V3
([#&#8203;8108](DataDog/dd-trace-java#8108) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Exploit prevention for Shell Injection / Command Injection
([#&#8203;7615](DataDog/dd-trace-java#7615) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Build & Tooling

- 💡 Support instrumentation of repackaged libraries
([#&#8203;8153](DataDog/dd-trace-java#8153) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Configure native image build setting for JDK-22 based
GraalVM
([#&#8203;8092](DataDog/dd-trace-java#8092) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### Database Monitoring

- ✨ Add full APM/DBM mode for Oracle
([#&#8203;8090](DataDog/dd-trace-java#8090) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### Dynamic Instrumentation

- 🐛 make local var hoisting disabled by default
([#&#8203;8158](DataDog/dd-trace-java#8158) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix var hoisting issue when no previous store
([#&#8203;8122](DataDog/dd-trace-java#8122) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Only decorate spans without code origin information
([#&#8203;8105](DataDog/dd-trace-java#8105) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Fix suspend Kotlin methods instrumentation
([#&#8203;8080](DataDog/dd-trace-java#8080) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix class file version detection
([#&#8203;8057](DataDog/dd-trace-java#8057) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### GraalVM native-image

- ✨ Configure native image build setting for JDK-22 based
GraalVM
([#&#8203;8092](DataDog/dd-trace-java#8092) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### ML Observability (LLMObs)

- ✨🧪 Add LLMObs configuration
([#&#8203;8076](DataDog/dd-trace-java#8076) -
[@&#8203;gary-huang](https://github.com/gary-huang))

##### Metrics

- Bump integrations-core submodule to 7.60.0
([#&#8203;8098](DataDog/dd-trace-java#8098) -
[@&#8203;mcculls](https://github.com/mcculls))
- Upgrade to java-dogstatsd-client v4.4.3
([#&#8203;8096](DataDog/dd-trace-java#8096) -
[@&#8203;mcculls](https://github.com/mcculls))

##### OpenTracing

- ⚠️🧹 Remove custom scope manager support
([#&#8203;8164](DataDog/dd-trace-java#8164) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Telemetry

- ✨ Retry telemetry requests if CI Visibility is enabled
([#&#8203;8147](DataDog/dd-trace-java#8147) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add configurable Dependency service resolution period
([#&#8203;8079](DataDog/dd-trace-java#8079) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Testing

- 🐛 Remove restriction to not run vertx4 latest tests on java 17
([#&#8203;8133](DataDog/dd-trace-java#8133) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Tracer core

- ✨ Defer remote components to avoid OkHttp class-loading
side-effects
([#&#8203;8131](DataDog/dd-trace-java#8131) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Improve Context API null handling and Javadoc
([#&#8203;8129](DataDog/dd-trace-java#8129) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🐛⚡ Avoid performing blocking I/O operation on application
thread
([#&#8203;8120](DataDog/dd-trace-java#8120) -
[@&#8203;mcculls](https://github.com/mcculls))
- 💡 Introduce a shared context component, independent of tracing
([#&#8203;8117](DataDog/dd-trace-java#8117) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Improves ServiceNameCollector
([#&#8203;8109](DataDog/dd-trace-java#8109) -
[@&#8203;amarziali](https://github.com/amarziali))
- Upgrade to ASM 9.7.1 (adds new constant for Java 24)
([#&#8203;8097](DataDog/dd-trace-java#8097) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Dynamically evaluate service name for message consumers
([#&#8203;8088](DataDog/dd-trace-java#8088) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Serverless

- 🐛 Add avoid double instrumenting lambda non-streaming handlers.
([#&#8203;8073](DataDog/dd-trace-java#8073) -
[@&#8203;purple4reina](https://github.com/purple4reina))

##### Instrumentations

##### AWS SDK instrumentation

- 💡 Instrument EMR's relocated AWS SDK
([#&#8203;8157](DataDog/dd-trace-java#8157) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Eclipse Vert.x instrumentation

- 🐛 Remove restriction to not run vertx4 latest tests on java 17
([#&#8203;8133](DataDog/dd-trace-java#8133) -
[@&#8203;vandonr](https://github.com/vandonr))

##### JDBC instrumentation

- ✨ Add full APM/DBM mode for Oracle
([#&#8203;8090](DataDog/dd-trace-java#8090) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### Jetty instrumentation

- 🐛 Ensure jetty 12 has servlet.path starting with /
([#&#8203;8093](DataDog/dd-trace-java#8093) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

##### JMS instrumentation

- 🧹 Re-use `javax` JMS module for `jakarta` namespace
([#&#8203;8155](DataDog/dd-trace-java#8155) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Group `javax.jms` instrumentations under a single module
([#&#8203;8154](DataDog/dd-trace-java#8154) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Reactor instrumentation

- 🐛 Reactor: early propagate span in context when subscribing
([#&#8203;8166](DataDog/dd-trace-java#8166) -
[@&#8203;amarziali](https://github.com/amarziali))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: ba2355aa4e2e39ab1fee27319cc4176238efd90b
nhulston added a commit that referenced this pull request Jan 17, 2025
nhulston added a commit that referenced this pull request Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants