-
Notifications
You must be signed in to change notification settings - Fork 293
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
Change hash computation for protobuf to better represent impacting changes + save proto number in schema #8201
base: master
Are you sure you want to change the base?
Conversation
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 4 unstable metrics. Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1056348
Total [baseline] (10.394 s) : 0, 10393580
Agent [candidate] (1.055 s) : 0, 1055339
Total [candidate] (10.495 s) : 0, 10495357
section appsec
Agent [baseline] (1.192 s) : 0, 1191728
Total [baseline] (10.726 s) : 0, 10726229
Agent [candidate] (1.198 s) : 0, 1198379
Total [candidate] (10.746 s) : 0, 10746500
section iast
Agent [baseline] (1.183 s) : 0, 1182543
Total [baseline] (10.917 s) : 0, 10916889
Agent [candidate] (1.183 s) : 0, 1183444
Total [candidate] (10.986 s) : 0, 10986456
section profiling
Agent [baseline] (1.263 s) : 0, 1262704
Total [baseline] (10.847 s) : 0, 10846881
Agent [candidate] (1.26 s) : 0, 1260139
Total [candidate] (10.817 s) : 0, 10817008
gantt
title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.265 ms) : 0, 714265
BytebuddyAgent [candidate] (713.123 ms) : 0, 713123
GlobalTracer [baseline] (255.816 ms) : 0, 255816
GlobalTracer [candidate] (255.584 ms) : 0, 255584
AppSec [baseline] (55.919 ms) : 0, 55919
AppSec [candidate] (55.034 ms) : 0, 55034
Remote Config [baseline] (725.776 µs) : 0, 726
Remote Config [candidate] (715.351 µs) : 0, 715
Telemetry [baseline] (14.581 ms) : 0, 14581
Telemetry [candidate] (15.856 ms) : 0, 15856
section appsec
BytebuddyAgent [baseline] (733.332 ms) : 0, 733332
BytebuddyAgent [candidate] (737.78 ms) : 0, 737780
GlobalTracer [baseline] (253.753 ms) : 0, 253753
GlobalTracer [candidate] (255.329 ms) : 0, 255329
AppSec [baseline] (170.993 ms) : 0, 170993
AppSec [candidate] (171.567 ms) : 0, 171567
Remote Config [baseline] (667.276 µs) : 0, 667
Remote Config [candidate] (674.858 µs) : 0, 675
Telemetry [baseline] (8.234 ms) : 0, 8234
Telemetry [candidate] (8.231 ms) : 0, 8231
IAST [baseline] (19.469 ms) : 0, 19469
IAST [candidate] (19.434 ms) : 0, 19434
section iast
BytebuddyAgent [baseline] (831.728 ms) : 0, 831728
BytebuddyAgent [candidate] (833.035 ms) : 0, 833035
GlobalTracer [baseline] (247.222 ms) : 0, 247222
GlobalTracer [candidate] (246.56 ms) : 0, 246560
AppSec [baseline] (57.816 ms) : 0, 57816
AppSec [candidate] (57.816 ms) : 0, 57816
Remote Config [baseline] (652.052 µs) : 0, 652
Remote Config [candidate] (675.067 µs) : 0, 675
Telemetry [baseline] (8.694 ms) : 0, 8694
Telemetry [candidate] (8.794 ms) : 0, 8794
IAST [baseline] (21.4 ms) : 0, 21400
IAST [candidate] (21.435 ms) : 0, 21435
section profiling
BytebuddyAgent [baseline] (708.816 ms) : 0, 708816
BytebuddyAgent [candidate] (707.977 ms) : 0, 707977
GlobalTracer [baseline] (351.263 ms) : 0, 351263
GlobalTracer [candidate] (350.756 ms) : 0, 350756
AppSec [baseline] (55.192 ms) : 0, 55192
AppSec [candidate] (53.92 ms) : 0, 53920
Remote Config [baseline] (657.376 µs) : 0, 657
Remote Config [candidate] (656.775 µs) : 0, 657
Telemetry [baseline] (8.824 ms) : 0, 8824
Telemetry [candidate] (8.856 ms) : 0, 8856
ProfilingAgent [baseline] (95.642 ms) : 0, 95642
ProfilingAgent [candidate] (95.62 ms) : 0, 95620
Profiling [baseline] (95.669 ms) : 0, 95669
Profiling [candidate] (95.647 ms) : 0, 95647
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1058541
Total [baseline] (8.624 s) : 0, 8623501
Agent [candidate] (1.056 s) : 0, 1055881
Total [candidate] (8.641 s) : 0, 8640662
section iast
Agent [baseline] (1.205 s) : 0, 1204593
Total [baseline] (9.212 s) : 0, 9212069
Agent [candidate] (1.185 s) : 0, 1184962
Total [candidate] (9.181 s) : 0, 9180579
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.188 s) : 0, 1187519
Total [baseline] (9.194 s) : 0, 9194330
Agent [candidate] (1.182 s) : 0, 1181831
Total [candidate] (9.197 s) : 0, 9196905
section iast_TELEMETRY_OFF
Agent [baseline] (1.193 s) : 0, 1192952
Total [baseline] (9.266 s) : 0, 9265793
Agent [candidate] (1.179 s) : 0, 1179465
Total [candidate] (9.201 s) : 0, 9200917
gantt
title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (716.5 ms) : 0, 716500
BytebuddyAgent [candidate] (713.903 ms) : 0, 713903
GlobalTracer [baseline] (255.431 ms) : 0, 255431
GlobalTracer [candidate] (256.017 ms) : 0, 256017
AppSec [baseline] (55.73 ms) : 0, 55730
AppSec [candidate] (57.303 ms) : 0, 57303
Remote Config [baseline] (714.561 µs) : 0, 715
Remote Config [candidate] (719.296 µs) : 0, 719
Telemetry [baseline] (15.057 ms) : 0, 15057
Telemetry [candidate] (12.902 ms) : 0, 12902
section iast
BytebuddyAgent [baseline] (848.405 ms) : 0, 848405
BytebuddyAgent [candidate] (833.474 ms) : 0, 833474
GlobalTracer [baseline] (250.587 ms) : 0, 250587
GlobalTracer [candidate] (247.429 ms) : 0, 247429
AppSec [baseline] (58.746 ms) : 0, 58746
AppSec [candidate] (58.181 ms) : 0, 58181
Remote Config [baseline] (698.525 µs) : 0, 699
Remote Config [candidate] (683.611 µs) : 0, 684
Telemetry [baseline] (8.995 ms) : 0, 8995
Telemetry [candidate] (8.687 ms) : 0, 8687
IAST [baseline] (21.811 ms) : 0, 21811
IAST [candidate] (21.377 ms) : 0, 21377
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (836.88 ms) : 0, 836880
BytebuddyAgent [candidate] (830.991 ms) : 0, 830991
GlobalTracer [baseline] (246.55 ms) : 0, 246550
GlobalTracer [candidate] (246.711 ms) : 0, 246711
AppSec [baseline] (58.042 ms) : 0, 58042
AppSec [candidate] (58.27 ms) : 0, 58270
Remote Config [baseline] (668.945 µs) : 0, 669
Remote Config [candidate] (701.522 µs) : 0, 702
Telemetry [baseline] (8.805 ms) : 0, 8805
Telemetry [candidate] (8.779 ms) : 0, 8779
IAST [baseline] (21.494 ms) : 0, 21494
IAST [candidate] (21.369 ms) : 0, 21369
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (839.723 ms) : 0, 839723
BytebuddyAgent [candidate] (828.931 ms) : 0, 828931
GlobalTracer [baseline] (249.043 ms) : 0, 249043
GlobalTracer [candidate] (247.069 ms) : 0, 247069
AppSec [baseline] (58.392 ms) : 0, 58392
AppSec [candidate] (57.962 ms) : 0, 57962
Remote Config [baseline] (696.582 µs) : 0, 697
Remote Config [candidate] (666.538 µs) : 0, 667
Telemetry [baseline] (8.79 ms) : 0, 8790
Telemetry [candidate] (8.644 ms) : 0, 8644
IAST [baseline] (21.091 ms) : 0, 21091
IAST [candidate] (21.06 ms) : 0, 21060
LoadParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 17 unstable metrics. Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section baseline
no_agent (382.002 µs) : 363, 401
. : milestone, 382,
iast (493.274 µs) : 472, 515
. : milestone, 493,
iast_FULL (627.109 µs) : 605, 649
. : milestone, 627,
iast_GLOBAL (523.758 µs) : 500, 547
. : milestone, 524,
iast_HARDCODED_SECRET_DISABLED (486.781 µs) : 465, 508
. : milestone, 487,
iast_INACTIVE (424.18 µs) : 403, 446
. : milestone, 424,
iast_TELEMETRY_OFF (455.467 µs) : 433, 478
. : milestone, 455,
tracing (448.531 µs) : 428, 469
. : milestone, 449,
section candidate
no_agent (375.393 µs) : 355, 396
. : milestone, 375,
iast (491.978 µs) : 471, 513
. : milestone, 492,
iast_FULL (651.542 µs) : 630, 673
. : milestone, 652,
iast_GLOBAL (524.425 µs) : 502, 547
. : milestone, 524,
iast_HARDCODED_SECRET_DISABLED (491.466 µs) : 470, 513
. : milestone, 491,
iast_INACTIVE (451.405 µs) : 430, 472
. : milestone, 451,
iast_TELEMETRY_OFF (481.016 µs) : 459, 503
. : milestone, 481,
tracing (444.17 µs) : 424, 465
. : milestone, 444,
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section baseline
no_agent (1.39 ms) : 1369, 1410
. : milestone, 1390,
appsec (1.749 ms) : 1723, 1774
. : milestone, 1749,
appsec_no_iast (1.75 ms) : 1725, 1775
. : milestone, 1750,
iast (1.504 ms) : 1481, 1527
. : milestone, 1504,
profiling (1.496 ms) : 1471, 1520
. : milestone, 1496,
tracing (1.472 ms) : 1447, 1497
. : milestone, 1472,
section candidate
no_agent (1.351 ms) : 1332, 1370
. : milestone, 1351,
appsec (1.742 ms) : 1719, 1766
. : milestone, 1742,
appsec_no_iast (1.761 ms) : 1737, 1784
. : milestone, 1761,
iast (1.492 ms) : 1469, 1515
. : milestone, 1492,
profiling (1.513 ms) : 1488, 1537
. : milestone, 1513,
tracing (1.519 ms) : 1495, 1544
. : milestone, 1519,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section baseline
no_agent (1.477 ms) : 1465, 1488
. : milestone, 1477,
appsec (2.372 ms) : 2329, 2415
. : milestone, 2372,
iast (2.118 ms) : 2063, 2172
. : milestone, 2118,
iast_GLOBAL (2.162 ms) : 2107, 2217
. : milestone, 2162,
profiling (1.987 ms) : 1943, 2031
. : milestone, 1987,
tracing (1.97 ms) : 1927, 2012
. : milestone, 1970,
section candidate
no_agent (1.468 ms) : 1457, 1480
. : milestone, 1468,
appsec (2.379 ms) : 2335, 2423
. : milestone, 2379,
iast (2.115 ms) : 2060, 2169
. : milestone, 2115,
iast_GLOBAL (2.162 ms) : 2107, 2217
. : milestone, 2162,
profiling (2.489 ms) : 2298, 2680
. : milestone, 2489,
tracing (1.956 ms) : 1913, 1998
. : milestone, 1956,
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~98041002a4, baseline=1.46.0-SNAPSHOT~5bb595bed0
dateFormat X
axisFormat %s
section baseline
no_agent (15.027 s) : 15027000, 15027000
. : milestone, 15027000,
appsec (14.901 s) : 14901000, 14901000
. : milestone, 14901000,
iast (18.679 s) : 18679000, 18679000
. : milestone, 18679000,
iast_GLOBAL (17.902 s) : 17902000, 17902000
. : milestone, 17902000,
profiling (15.198 s) : 15198000, 15198000
. : milestone, 15198000,
tracing (14.817 s) : 14817000, 14817000
. : milestone, 14817000,
section candidate
no_agent (14.696 s) : 14696000, 14696000
. : milestone, 14696000,
appsec (15.057 s) : 15057000, 15057000
. : milestone, 15057000,
iast (18.72 s) : 18720000, 18720000
. : milestone, 18720000,
iast_GLOBAL (18.261 s) : 18261000, 18261000
. : milestone, 18261000,
profiling (14.93 s) : 14930000, 14930000
. : milestone, 14930000,
tracing (14.799 s) : 14799000, 14799000
. : milestone, 14799000,
|
What Does This Do
Change the way the hash is computed for protobuf schemas:
It should also be marginally faster as we don't hash a whole string, and also isolates the hash from json shennanigans like the OpenAPI version for instance.
This new hash computation is aligned with what's done in the dotnet version of the instrumentation in DataDog/dd-trace-dotnet#6166
ℹ️ Also add protobuf number to the OpenAPI schema saved, so that we can reconstruct the hash if needed, and also because it's an important component of a protobuf schema.
Additional Notes
Depending on how schema hashes are used now in DSM, when deploying this, it may look to users as if all their schemas changed
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]