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

Fix SQL Server connection instrumentation driver class allow list #6209

Merged
merged 5 commits into from
Nov 14, 2023

Conversation

jmeunier28
Copy link
Contributor

@jmeunier28 jmeunier28 commented Nov 13, 2023

What Does This Do

SQL Server classes were added in both whitelists, due to a mistake made during a refactor of PR #6160

The PR had to be rebased several times, and so I think these classes snuck back into the DBMCompatibleConnectionInstrumentation class erroneously

Motivation

Unfortunately, this means that #6160 didn't actually fix the issue described in that PR & we still see these errors

exception running jdbc Incorrect syntax near '{'.

for SQL Server. This fix has been confirmed internally.

Additional Notes

Jira ticket: [PROJ-IDENT]

@jmeunier28 jmeunier28 requested a review from a team as a code owner November 13, 2023 16:49
@@ -38,6 +38,8 @@ public class DefaultConnectionInstrumentation extends AbstractConnectionInstrume
"oadd.org.apache.calcite.avatica.AvaticaConnection",
// SAP HANA in-memory DB
"com.sap.db.jdbc.ConnectionSapDB",
// IBM Informix
"com.informix.jdbc.IfmxConnection",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This DBMS is not supported by DBM at all, so it should be in the default connection whitelist

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks

@pr-commenter
Copy link

pr-commenter bot commented Nov 13, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
commit 1.24.0-SNAPSHOT~4352421f38 1.24.0-SNAPSHOT~c7c17223f2
config baseline candidate
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 54 cases.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.24.0-SNAPSHOT~c7c17223f2, baseline=1.24.0-SNAPSHOT~4352421f38

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.043 s) : 0, 1042609
Total [baseline] (8.787 s) : 0, 8787202
Agent [candidate] (1.036 s) : 0, 1035780
Total [candidate] (8.801 s) : 0, 8801129
section iast
Agent [baseline] (1.156 s) : 0, 1156033
Total [baseline] (9.317 s) : 0, 9317324
Agent [candidate] (1.151 s) : 0, 1151117
Total [candidate] (9.306 s) : 0, 9306353
section iast_TELEMETRY_OFF
Agent [baseline] (1.149 s) : 0, 1148945
Total [baseline] (9.32 s) : 0, 9319728
Agent [candidate] (1.146 s) : 0, 1145742
Total [candidate] (9.305 s) : 0, 9304587
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent iast 1.156 s 113.424 ms (10.9%)
Agent iast_TELEMETRY_OFF 1.149 s 106.336 ms (10.2%)
Total tracing 8.787 s -
Total iast 9.317 s 530.123 ms (6.0%)
Total iast_TELEMETRY_OFF 9.32 s 532.526 ms (6.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.036 s -
Agent iast 1.151 s 115.337 ms (11.1%)
Agent iast_TELEMETRY_OFF 1.146 s 109.961 ms (10.6%)
Total tracing 8.801 s -
Total iast 9.306 s 505.224 ms (5.7%)
Total iast_TELEMETRY_OFF 9.305 s 503.458 ms (5.7%)
gantt
    title insecure-bank - break down per module: candidate=1.24.0-SNAPSHOT~c7c17223f2, baseline=1.24.0-SNAPSHOT~4352421f38

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (650.47 ms) : 0, 650470
BytebuddyAgent [candidate] (645.844 ms) : 0, 645844
GlobalTracer [baseline] (295.905 ms) : 0, 295905
GlobalTracer [candidate] (294.229 ms) : 0, 294229
AppSec [baseline] (49.412 ms) : 0, 49412
AppSec [candidate] (49.226 ms) : 0, 49226
Remote Config [baseline] (692.347 µs) : 0, 692
Remote Config [candidate] (697.283 µs) : 0, 697
Telemetry [baseline] (11.407 ms) : 0, 11407
Telemetry [candidate] (11.305 ms) : 0, 11305
section iast
BytebuddyAgent [baseline] (770.239 ms) : 0, 770239
BytebuddyAgent [candidate] (765.587 ms) : 0, 765587
GlobalTracer [baseline] (273.569 ms) : 0, 273569
GlobalTracer [candidate] (274.446 ms) : 0, 274446
AppSec [baseline] (46.744 ms) : 0, 46744
AppSec [candidate] (46.604 ms) : 0, 46604
IAST [baseline] (14.959 ms) : 0, 14959
IAST [candidate] (16.071 ms) : 0, 16071
Remote Config [baseline] (575.416 µs) : 0, 575
Remote Config [candidate] (566.817 µs) : 0, 567
Telemetry [baseline] (15.311 ms) : 0, 15311
Telemetry [candidate] (13.467 ms) : 0, 13467
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (763.894 ms) : 0, 763894
BytebuddyAgent [candidate] (759.72 ms) : 0, 759720
GlobalTracer [baseline] (275.168 ms) : 0, 275168
GlobalTracer [candidate] (274.75 ms) : 0, 274750
AppSec [baseline] (46.455 ms) : 0, 46455
AppSec [candidate] (46.184 ms) : 0, 46184
IAST [baseline] (16.097 ms) : 0, 16097
IAST [candidate] (18.157 ms) : 0, 18157
Remote Config [baseline] (575.485 µs) : 0, 575
Remote Config [candidate] (570.781 µs) : 0, 571
Telemetry [baseline] (12.009 ms) : 0, 12009
Telemetry [candidate] (11.949 ms) : 0, 11949
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.24.0-SNAPSHOT~c7c17223f2, baseline=1.24.0-SNAPSHOT~4352421f38

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.033 s) : 0, 1033249
Total [baseline] (9.285 s) : 0, 9284911
Agent [candidate] (1.037 s) : 0, 1037383
Total [candidate] (9.298 s) : 0, 9297722
section appsec
Agent [baseline] (1.144 s) : 0, 1143930
Total [baseline] (9.498 s) : 0, 9497613
Agent [candidate] (1.138 s) : 0, 1137822
Total [candidate] (9.483 s) : 0, 9483428
section iast
Agent [baseline] (1.149 s) : 0, 1148615
Total [baseline] (9.484 s) : 0, 9484190
Agent [candidate] (1.151 s) : 0, 1150615
Total [candidate] (9.498 s) : 0, 9497703
section profiling
Agent [baseline] (1.218 s) : 0, 1217818
Total [baseline] (9.5 s) : 0, 9499848
Agent [candidate] (1.227 s) : 0, 1226955
Total [candidate] (9.582 s) : 0, 9582149
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.033 s -
Agent appsec 1.144 s 110.681 ms (10.7%)
Agent iast 1.149 s 115.366 ms (11.2%)
Agent profiling 1.218 s 184.568 ms (17.9%)
Total tracing 9.285 s -
Total appsec 9.498 s 212.702 ms (2.3%)
Total iast 9.484 s 199.279 ms (2.1%)
Total profiling 9.5 s 214.937 ms (2.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.037 s -
Agent appsec 1.138 s 100.438 ms (9.7%)
Agent iast 1.151 s 113.232 ms (10.9%)
Agent profiling 1.227 s 189.571 ms (18.3%)
Total tracing 9.298 s -
Total appsec 9.483 s 185.707 ms (2.0%)
Total iast 9.498 s 199.981 ms (2.2%)
Total profiling 9.582 s 284.427 ms (3.1%)
gantt
    title petclinic - break down per module: candidate=1.24.0-SNAPSHOT~c7c17223f2, baseline=1.24.0-SNAPSHOT~4352421f38

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (644.799 ms) : 0, 644799
BytebuddyAgent [candidate] (647.068 ms) : 0, 647068
GlobalTracer [baseline] (293.088 ms) : 0, 293088
GlobalTracer [candidate] (295.082 ms) : 0, 295082
AppSec [baseline] (49.014 ms) : 0, 49014
AppSec [candidate] (48.763 ms) : 0, 48763
Remote Config [baseline] (679.754 µs) : 0, 680
Remote Config [candidate] (691.98 µs) : 0, 692
Telemetry [baseline] (11.207 ms) : 0, 11207
Telemetry [candidate] (11.264 ms) : 0, 11264
section appsec
BytebuddyAgent [baseline] (660.55 ms) : 0, 660550
BytebuddyAgent [candidate] (656.041 ms) : 0, 656041
GlobalTracer [baseline] (299.877 ms) : 0, 299877
GlobalTracer [candidate] (299.082 ms) : 0, 299082
AppSec [baseline] (140.599 ms) : 0, 140599
AppSec [candidate] (140.144 ms) : 0, 140144
Remote Config [baseline] (662.937 µs) : 0, 663
Remote Config [candidate] (655.122 µs) : 0, 655
Telemetry [baseline] (7.095 ms) : 0, 7095
Telemetry [candidate] (6.994 ms) : 0, 6994
section iast
BytebuddyAgent [baseline] (764.212 ms) : 0, 764212
BytebuddyAgent [candidate] (765.99 ms) : 0, 765990
GlobalTracer [baseline] (273.327 ms) : 0, 273327
GlobalTracer [candidate] (274.912 ms) : 0, 274912
AppSec [baseline] (46.606 ms) : 0, 46606
AppSec [candidate] (46.634 ms) : 0, 46634
IAST [baseline] (15.633 ms) : 0, 15633
IAST [candidate] (16.26 ms) : 0, 16260
Remote Config [baseline] (577.911 µs) : 0, 578
Remote Config [candidate] (571.157 µs) : 0, 571
Telemetry [baseline] (13.93 ms) : 0, 13930
Telemetry [candidate] (11.927 ms) : 0, 11927
section profiling
BytebuddyAgent [baseline] (656.202 ms) : 0, 656202
BytebuddyAgent [candidate] (661.646 ms) : 0, 661646
GlobalTracer [baseline] (358.125 ms) : 0, 358125
GlobalTracer [candidate] (360.846 ms) : 0, 360846
AppSec [baseline] (49.192 ms) : 0, 49192
AppSec [candidate] (49.263 ms) : 0, 49263
Remote Config [baseline] (646.288 µs) : 0, 646
Remote Config [candidate] (663.314 µs) : 0, 663
Telemetry [baseline] (11.37 ms) : 0, 11370
Telemetry [candidate] (11.451 ms) : 0, 11451
ProfilingAgent [baseline] (88.059 ms) : 0, 88059
ProfilingAgent [candidate] (88.272 ms) : 0, 88272
Profiling [baseline] (88.083 ms) : 0, 88083
Profiling [candidate] (88.297 ms) : 0, 88297
Loading

Load

Parameters

Baseline Candidate
commit 1.24.0-SNAPSHOT~4352421f38 1.24.0-SNAPSHOT~c7c17223f2
config baseline candidate
end_time 2023-11-14T15:13:16 2023-11-14T15:29:43
start_time 2023-11-14T15:13:03 2023-11-14T15:29:31
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 22 cases.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.24.0-SNAPSHOT~c7c17223f2, baseline=1.24.0-SNAPSHOT~4352421f38
    dateFormat X
    axisFormat %s
section baseline
no_agent (368.826 µs) : 349, 389
.   : milestone, 369,
iast (461.701 µs) : 441, 482
.   : milestone, 462,
iast_FULL (513.456 µs) : 493, 534
.   : milestone, 513,
iast_INACTIVE (436.009 µs) : 415, 457
.   : milestone, 436,
iast_TELEMETRY_OFF (454.871 µs) : 434, 476
.   : milestone, 455,
tracing (429.586 µs) : 409, 450
.   : milestone, 430,
section candidate
no_agent (365.474 µs) : 343, 388
.   : milestone, 365,
iast (452.485 µs) : 431, 474
.   : milestone, 452,
iast_FULL (516.688 µs) : 496, 537
.   : milestone, 517,
iast_INACTIVE (431.414 µs) : 411, 452
.   : milestone, 431,
iast_TELEMETRY_OFF (455.325 µs) : 434, 477
.   : milestone, 455,
tracing (432.076 µs) : 411, 453
.   : milestone, 432,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 368.826 µs [348.902 µs, 388.75 µs] -
iast 461.701 µs [441.043 µs, 482.359 µs] 92.875 µs (25.2%)
iast_FULL 513.456 µs [492.762 µs, 534.151 µs] 144.63 µs (39.2%)
iast_INACTIVE 436.009 µs [415.094 µs, 456.923 µs] 67.182 µs (18.2%)
iast_TELEMETRY_OFF 454.871 µs [433.651 µs, 476.092 µs] 86.045 µs (23.3%)
tracing 429.586 µs [408.94 µs, 450.232 µs] 60.76 µs (16.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 365.474 µs [343.009 µs, 387.938 µs] -
iast 452.485 µs [431.16 µs, 473.811 µs] 87.012 µs (23.8%)
iast_FULL 516.688 µs [496.011 µs, 537.365 µs] 151.214 µs (41.4%)
iast_INACTIVE 431.414 µs [410.579 µs, 452.249 µs] 65.941 µs (18.0%)
iast_TELEMETRY_OFF 455.325 µs [433.89 µs, 476.759 µs] 89.851 µs (24.6%)
tracing 432.076 µs [411.339 µs, 452.813 µs] 66.602 µs (18.2%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.24.0-SNAPSHOT~c7c17223f2, baseline=1.24.0-SNAPSHOT~4352421f38
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.353 ms) : 1334, 1372
.   : milestone, 1353,
appsec (1.724 ms) : 1700, 1749
.   : milestone, 1724,
iast (1.484 ms) : 1461, 1508
.   : milestone, 1484,
profiling (1.457 ms) : 1431, 1482
.   : milestone, 1457,
tracing (1.449 ms) : 1424, 1474
.   : milestone, 1449,
section candidate
no_agent (1.331 ms) : 1312, 1350
.   : milestone, 1331,
appsec (1.701 ms) : 1676, 1726
.   : milestone, 1701,
iast (1.479 ms) : 1455, 1503
.   : milestone, 1479,
profiling (1.5 ms) : 1474, 1526
.   : milestone, 1500,
tracing (1.461 ms) : 1437, 1486
.   : milestone, 1461,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.353 ms [1.334 ms, 1.372 ms] -
appsec 1.724 ms [1.7 ms, 1.749 ms] 371.623 µs (27.5%)
iast 1.484 ms [1.461 ms, 1.508 ms] 131.411 µs (9.7%)
profiling 1.457 ms [1.431 ms, 1.482 ms] 103.78 µs (7.7%)
tracing 1.449 ms [1.424 ms, 1.474 ms] 96.021 µs (7.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.331 ms [1.312 ms, 1.35 ms] -
appsec 1.701 ms [1.676 ms, 1.726 ms] 370.014 µs (27.8%)
iast 1.479 ms [1.455 ms, 1.503 ms] 147.823 µs (11.1%)
profiling 1.5 ms [1.474 ms, 1.526 ms] 169.423 µs (12.7%)
tracing 1.461 ms [1.437 ms, 1.486 ms] 130.614 µs (9.8%)

@bm1549 bm1549 added the comp:database Database Monitoring label Nov 13, 2023
@jmeunier28 jmeunier28 merged commit f70ad57 into master Nov 14, 2023
64 of 68 checks passed
@jmeunier28 jmeunier28 deleted the jmeunier/cleanup branch November 14, 2023 16:23
@github-actions github-actions bot added this to the 1.24.0 milestone Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:database Database Monitoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants