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 source path detection in multi-project repos #6318

Merged

Conversation

nikita-tkachenko-datadog
Copy link
Contributor

@nikita-tkachenko-datadog nikita-tkachenko-datadog commented Dec 5, 2023

What Does This Do

Fixes source path detection in projects where repo root is not the same as project root.

Motivation

Repo indexer only scans the project root (to save time and to work around some issues with calculating root packages), however all the source code paths submitted to the backend should be relative to the repo root.

Jira ticket: CIVIS-8234

@nikita-tkachenko-datadog nikita-tkachenko-datadog added type: bug comp: ci visibility Continuous Integration Visibility labels Dec 5, 2023
@pr-commenter
Copy link

pr-commenter bot commented Dec 5, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master nikita-tkachenko/repo-indexing-fix
git_commit_date 1701782777 1701784707
git_commit_sha c88f535 e74dbfb
release_version 1.26.0-SNAPSHOT~c88f53514d 1.26.0-SNAPSHOT~e74dbfba15
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1701787426 1701787426
ci_job_id 381993261 381993261
ci_pipeline_id 24405327 24405327
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 0 performance improvements and 0 performance regressions! Performance is the same for 43 metrics, 11 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.26.0-SNAPSHOT~e74dbfba15, baseline=1.26.0-SNAPSHOT~c88f53514d

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.048 s) : 0, 1048390
Total [baseline] (9.354 s) : 0, 9354304
Agent [candidate] (1.046 s) : 0, 1046405
Total [candidate] (9.345 s) : 0, 9345101
section appsec
Agent [baseline] (1.132 s) : 0, 1131588
Total [baseline] (9.451 s) : 0, 9451277
Agent [candidate] (1.133 s) : 0, 1132585
Total [candidate] (9.472 s) : 0, 9471914
section iast
Agent [baseline] (1.167 s) : 0, 1167031
Total [baseline] (9.576 s) : 0, 9575658
Agent [candidate] (1.173 s) : 0, 1172501
Total [candidate] (9.612 s) : 0, 9611666
section profiling
Agent [baseline] (1.232 s) : 0, 1231689
Total [baseline] (9.629 s) : 0, 9629017
Agent [candidate] (1.237 s) : 0, 1237390
Total [candidate] (9.72 s) : 0, 9719539
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent appsec 1.132 s 83.198 ms (7.9%)
Agent iast 1.167 s 118.641 ms (11.3%)
Agent profiling 1.232 s 183.299 ms (17.5%)
Total tracing 9.354 s -
Total appsec 9.451 s 96.974 ms (1.0%)
Total iast 9.576 s 221.355 ms (2.4%)
Total profiling 9.629 s 274.713 ms (2.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.046 s -
Agent appsec 1.133 s 86.18 ms (8.2%)
Agent iast 1.173 s 126.096 ms (12.1%)
Agent profiling 1.237 s 190.984 ms (18.3%)
Total tracing 9.345 s -
Total appsec 9.472 s 126.814 ms (1.4%)
Total iast 9.612 s 266.565 ms (2.9%)
Total profiling 9.72 s 374.438 ms (4.0%)
gantt
    title petclinic - break down per module: candidate=1.26.0-SNAPSHOT~e74dbfba15, baseline=1.26.0-SNAPSHOT~c88f53514d

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (649.397 ms) : 0, 649397
BytebuddyAgent [candidate] (647.057 ms) : 0, 647057
GlobalTracer [baseline] (307.596 ms) : 0, 307596
GlobalTracer [candidate] (308.031 ms) : 0, 308031
AppSec [baseline] (49.095 ms) : 0, 49095
AppSec [candidate] (49.064 ms) : 0, 49064
Remote Config [baseline] (685.125 µs) : 0, 685
Remote Config [candidate] (674.516 µs) : 0, 675
Telemetry [baseline] (7.161 ms) : 0, 7161
Telemetry [candidate] (7.193 ms) : 0, 7193
section appsec
BytebuddyAgent [baseline] (645.053 ms) : 0, 645053
BytebuddyAgent [candidate] (645.272 ms) : 0, 645272
GlobalTracer [baseline] (306.741 ms) : 0, 306741
GlobalTracer [candidate] (306.543 ms) : 0, 306543
AppSec [baseline] (137.404 ms) : 0, 137404
AppSec [candidate] (137.184 ms) : 0, 137184
Remote Config [baseline] (640.377 µs) : 0, 640
Remote Config [candidate] (645.883 µs) : 0, 646
Telemetry [baseline] (7.449 ms) : 0, 7449
Telemetry [candidate] (8.778 ms) : 0, 8778
section iast
BytebuddyAgent [baseline] (771.028 ms) : 0, 771028
BytebuddyAgent [candidate] (772.725 ms) : 0, 772725
GlobalTracer [baseline] (286.431 ms) : 0, 286431
GlobalTracer [candidate] (289.199 ms) : 0, 289199
AppSec [baseline] (47.036 ms) : 0, 47036
AppSec [candidate] (46.726 ms) : 0, 46726
Remote Config [baseline] (611.754 µs) : 0, 612
Remote Config [candidate] (644.816 µs) : 0, 645
Telemetry [baseline] (7.337 ms) : 0, 7337
Telemetry [candidate] (6.61 ms) : 0, 6610
IAST [baseline] (20.11 ms) : 0, 20110
IAST [candidate] (22.047 ms) : 0, 22047
section profiling
BytebuddyAgent [baseline] (655.229 ms) : 0, 655229
BytebuddyAgent [candidate] (657.341 ms) : 0, 657341
GlobalTracer [baseline] (377.073 ms) : 0, 377073
GlobalTracer [candidate] (378.636 ms) : 0, 378636
AppSec [baseline] (48.479 ms) : 0, 48479
AppSec [candidate] (48.96 ms) : 0, 48960
Remote Config [baseline] (678.941 µs) : 0, 679
Remote Config [candidate] (690.908 µs) : 0, 691
Telemetry [baseline] (7.392 ms) : 0, 7392
Telemetry [candidate] (7.43 ms) : 0, 7430
ProfilingAgent [baseline] (88.619 ms) : 0, 88619
ProfilingAgent [candidate] (90.235 ms) : 0, 90235
Profiling [baseline] (88.644 ms) : 0, 88644
Profiling [candidate] (90.26 ms) : 0, 90260
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.26.0-SNAPSHOT~e74dbfba15, baseline=1.26.0-SNAPSHOT~c88f53514d

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.042 s) : 0, 1041534
Total [baseline] (8.727 s) : 0, 8726844
Agent [candidate] (1.045 s) : 0, 1044618
Total [candidate] (8.728 s) : 0, 8727986
section iast
Agent [baseline] (1.165 s) : 0, 1165216
Total [baseline] (9.267 s) : 0, 9266947
Agent [candidate] (1.161 s) : 0, 1161124
Total [candidate] (9.256 s) : 0, 9256480
section iast_TELEMETRY_OFF
Agent [baseline] (1.162 s) : 0, 1161854
Total [baseline] (9.296 s) : 0, 9296118
Agent [candidate] (1.164 s) : 0, 1164385
Total [candidate] (9.27 s) : 0, 9269890
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.042 s -
Agent iast 1.165 s 123.683 ms (11.9%)
Agent iast_TELEMETRY_OFF 1.162 s 120.32 ms (11.6%)
Total tracing 8.727 s -
Total iast 9.267 s 540.103 ms (6.2%)
Total iast_TELEMETRY_OFF 9.296 s 569.274 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.045 s -
Agent iast 1.161 s 116.505 ms (11.2%)
Agent iast_TELEMETRY_OFF 1.164 s 119.766 ms (11.5%)
Total tracing 8.728 s -
Total iast 9.256 s 528.495 ms (6.1%)
Total iast_TELEMETRY_OFF 9.27 s 541.905 ms (6.2%)
gantt
    title insecure-bank - break down per module: candidate=1.26.0-SNAPSHOT~e74dbfba15, baseline=1.26.0-SNAPSHOT~c88f53514d

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (645.149 ms) : 0, 645149
BytebuddyAgent [candidate] (646.732 ms) : 0, 646732
GlobalTracer [baseline] (305.955 ms) : 0, 305955
GlobalTracer [candidate] (307.183 ms) : 0, 307183
AppSec [baseline] (48.422 ms) : 0, 48422
AppSec [candidate] (48.7 ms) : 0, 48700
Remote Config [baseline] (676.116 µs) : 0, 676
Remote Config [candidate] (665.384 µs) : 0, 665
Telemetry [baseline] (7.039 ms) : 0, 7039
Telemetry [candidate] (7.062 ms) : 0, 7062
section iast
BytebuddyAgent [baseline] (771.364 ms) : 0, 771364
BytebuddyAgent [candidate] (766.2 ms) : 0, 766200
GlobalTracer [baseline] (286.51 ms) : 0, 286510
GlobalTracer [candidate] (285.573 ms) : 0, 285573
AppSec [baseline] (46.734 ms) : 0, 46734
AppSec [candidate] (46.233 ms) : 0, 46233
IAST [baseline] (18.175 ms) : 0, 18175
IAST [candidate] (21.629 ms) : 0, 21629
Remote Config [baseline] (607.676 µs) : 0, 608
Remote Config [candidate] (594.482 µs) : 0, 594
Telemetry [baseline] (7.373 ms) : 0, 7373
Telemetry [candidate] (6.559 ms) : 0, 6559
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (764.738 ms) : 0, 764738
BytebuddyAgent [candidate] (766.901 ms) : 0, 766901
GlobalTracer [baseline] (288.604 ms) : 0, 288604
GlobalTracer [candidate] (287.764 ms) : 0, 287764
AppSec [baseline] (47.743 ms) : 0, 47743
AppSec [candidate] (48.321 ms) : 0, 48321
IAST [baseline] (18.347 ms) : 0, 18347
IAST [candidate] (17.575 ms) : 0, 17575
Remote Config [baseline] (622.457 µs) : 0, 622
Remote Config [candidate] (602.793 µs) : 0, 603
Telemetry [baseline] (7.283 ms) : 0, 7283
Telemetry [candidate] (8.696 ms) : 0, 8696
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2023-12-05T14:22:56 2023-12-05T14:39:32
git_branch master nikita-tkachenko/repo-indexing-fix
git_commit_date 1701782777 1701784707
git_commit_sha c88f535 e74dbfb
release_version 1.26.0-SNAPSHOT~c88f53514d 1.26.0-SNAPSHOT~e74dbfba15
start_time 2023-12-05T14:22:43 2023-12-05T14:39:19
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1701787426 1701787426
ci_job_id 381993261 381993261
ci_pipeline_id 24405327 24405327
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 8 metrics, 14 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~e74dbfba15, baseline=1.26.0-SNAPSHOT~c88f53514d
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.356 ms) : 1337, 1375
.   : milestone, 1356,
appsec (1.775 ms) : 1750, 1800
.   : milestone, 1775,
iast (1.538 ms) : 1513, 1562
.   : milestone, 1538,
profiling (1.52 ms) : 1492, 1547
.   : milestone, 1520,
tracing (1.497 ms) : 1471, 1523
.   : milestone, 1497,
section candidate
no_agent (1.369 ms) : 1350, 1387
.   : milestone, 1369,
appsec (1.767 ms) : 1741, 1792
.   : milestone, 1767,
iast (1.543 ms) : 1519, 1568
.   : milestone, 1543,
profiling (1.551 ms) : 1525, 1578
.   : milestone, 1551,
tracing (1.495 ms) : 1470, 1519
.   : milestone, 1495,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.356 ms [1.337 ms, 1.375 ms] -
appsec 1.775 ms [1.75 ms, 1.8 ms] 419.092 µs (30.9%)
iast 1.538 ms [1.513 ms, 1.562 ms] 182.081 µs (13.4%)
profiling 1.52 ms [1.492 ms, 1.547 ms] 163.942 µs (12.1%)
tracing 1.497 ms [1.471 ms, 1.523 ms] 141.465 µs (10.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.369 ms [1.35 ms, 1.387 ms] -
appsec 1.767 ms [1.741 ms, 1.792 ms] 398.354 µs (29.1%)
iast 1.543 ms [1.519 ms, 1.568 ms] 174.832 µs (12.8%)
profiling 1.551 ms [1.525 ms, 1.578 ms] 182.624 µs (13.3%)
tracing 1.495 ms [1.47 ms, 1.519 ms] 126.037 µs (9.2%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~e74dbfba15, baseline=1.26.0-SNAPSHOT~c88f53514d
    dateFormat X
    axisFormat %s
section baseline
no_agent (365.155 µs) : 345, 385
.   : milestone, 365,
iast (476.081 µs) : 455, 497
.   : milestone, 476,
iast_FULL (543.376 µs) : 523, 564
.   : milestone, 543,
iast_INACTIVE (448.394 µs) : 427, 469
.   : milestone, 448,
iast_TELEMETRY_OFF (476.348 µs) : 455, 498
.   : milestone, 476,
tracing (445.2 µs) : 424, 466
.   : milestone, 445,
section candidate
no_agent (367.004 µs) : 347, 387
.   : milestone, 367,
iast (483.239 µs) : 463, 504
.   : milestone, 483,
iast_FULL (535.143 µs) : 515, 556
.   : milestone, 535,
iast_INACTIVE (457.656 µs) : 437, 478
.   : milestone, 458,
iast_TELEMETRY_OFF (468.761 µs) : 448, 490
.   : milestone, 469,
tracing (443.722 µs) : 423, 465
.   : milestone, 444,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 365.155 µs [345.36 µs, 384.95 µs] -
iast 476.081 µs [455.499 µs, 496.662 µs] 110.925 µs (30.4%)
iast_FULL 543.376 µs [523.008 µs, 563.743 µs] 178.221 µs (48.8%)
iast_INACTIVE 448.394 µs [427.483 µs, 469.305 µs] 83.238 µs (22.8%)
iast_TELEMETRY_OFF 476.348 µs [455.023 µs, 497.673 µs] 111.193 µs (30.5%)
tracing 445.2 µs [424.335 µs, 466.064 µs] 80.044 µs (21.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 367.004 µs [346.604 µs, 387.404 µs] -
iast 483.239 µs [462.669 µs, 503.809 µs] 116.235 µs (31.7%)
iast_FULL 535.143 µs [514.594 µs, 555.691 µs] 168.139 µs (45.8%)
iast_INACTIVE 457.656 µs [436.879 µs, 478.433 µs] 90.652 µs (24.7%)
iast_TELEMETRY_OFF 468.761 µs [447.768 µs, 489.754 µs] 101.757 µs (27.7%)
tracing 443.722 µs [422.925 µs, 464.519 µs] 76.719 µs (20.9%)

@nikita-tkachenko-datadog nikita-tkachenko-datadog merged commit 9d5c7ea into master Dec 6, 2023
74 checks passed
@nikita-tkachenko-datadog nikita-tkachenko-datadog deleted the nikita-tkachenko/repo-indexing-fix branch December 6, 2023 12:05
@github-actions github-actions bot added this to the 1.26.0 milestone Dec 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: ci visibility Continuous Integration Visibility type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants