Trustify branch daily perf tests · 2026-10-21 05:53 UTC
Duration
9m 59s
Total requests
502,781
Failure rate
0.0%
0 failed requests
Throughput
838.5 req/s
Latency 95%ile
57 ms
Latency 99%ile
100 ms
Endpoints
72
0 with failures
Over time
Throughput
Requests and failures per second
Response time
Percentiles over Locust's rolling window, ms
Users
Concurrent simulated users
Load plan
| Action | Started | Stopped | Elapsed | Users |
|---|---|---|---|---|
| Increasing | 05:53:38 | 05:53:42 | 0m 04s | 2 → 10 |
| Maintaining | 05:53:42 | 06:03:37 | 9m 55s | 10 → 10 |
Top 10 slowest endpoints (95%ile)
| # | Method | Name | 95%ile (ms) | Average (ms) | # Requests |
|---|---|---|---|---|---|
| 1 | GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 7,000 | 5,874 | 94 |
| 2 | GET | /api/v3/sbom/{sbom_id}/download | 3,500 | 3,315 | 87 |
| 3 | POST | /api/v3/vulnerability/analyze | 1,800 | 508 | 664 |
| 4 | GET | /api/v3/advisory?q=CVE-2021-&total=true | 1,600 | 357 | 616 |
| 5 | GET | /api/v3/sbom?q=name~redhat&total=true | 1,300 | 544 | 125 |
| 6 | GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 1,200 | 623 | 335 |
| 7 | GET | /api/v3/sbom?limit=10&sort=name:asc&total=true | 820 | 308 | 95 |
| 8 | GET | /api/v3/sbom?sort=ingested:desc&total=true | 660 | 285 | 96 |
| 9 | GET | /api/v3/advisory?offset={offset}&limit=1 | 640 | 265 | 129 |
| 10 | GET | /api/v3/sbom?offset=100&limit=10&total=true | 500 | 200 | 210 |
Request metrics
| Method | Name | # Requests | # Fails | Fail % | Average (ms) | Min (ms) | Max (ms) | Avg size (B) | RPS | Failures/s |
|---|---|---|---|---|---|---|---|---|---|---|
| sbom 16 | ||||||||||
| GET | /api/v3/sbom/by-package?purl={purl} | 112 | 0 | 0% | 111 | 52.8 | 330 | 1,287 | 0.19 | 0 |
| GET | /api/v3/sbom/count-by-package | 110 | 0 | 0% | 33.0 | 5.59 | 97.6 | 3 | 0.18 | 0 |
| GET | /api/v3/sbom/{sbom_id} | 110 | 0 | 0% | 138 | 27.4 | 310 | 2,015 | 0.18 | 0 |
| GET | /api/v3/sbom/{sbom_id}/all-license-ids | 101 | 0 | 0% | 25.5 | 2.55 | 93.1 | 2 | 0.17 | 0 |
| GET | /api/v3/sbom/{sbom_id}/download | 87 | 0 | 0% | 3,315 | 3,114 | 3,805 | 136,458,638 | 0.15 | 0 |
| GET | /api/v3/sbom/{sbom_id}/license-export | 112 | 0 | 0% | 34.8 | 5.19 | 90.4 | 234 | 0.19 | 0 |
| GET | /api/v3/sbom/{sbom_id}/packages | 109 | 0 | 0% | 145 | 17.3 | 512 | 12,648 | 0.18 | 0 |
| GET | /api/v3/sbom/{sbom_id}/related | 101 | 0 | 0% | 144 | 20.4 | 368 | 15,372 | 0.17 | 0 |
| GET | /api/v3/sbom?limit=10&sort=name:asc&total=true | 95 | 0 | 0% | 308 | 33.7 | 1,208 | 12,189 | 0.16 | 0 |
| GET | /api/v3/sbom?offset=100&limit=10&total=true | 210 | 0 | 0% | 200 | 25.7 | 783 | 11,941 | 0.35 | 0 |
| GET | /api/v3/sbom?q=label:type=product&total=true | 106 | 0 | 0% | 21.1 | 3.11 | 84.6 | 22 | 0.18 | 0 |
| GET | /api/v3/sbom?q=license~GPL&sort=name:desc&total=true | 97 | 0 | 0% | 28.4 | 4.37 | 105 | 22 | 0.16 | 0 |
| GET | /api/v3/sbom?q=name~redhat&total=true | 125 | 0 | 0% | 544 | 11.1 | 1,519 | 22 | 0.21 | 0 |
| GET | /api/v3/sbom?q=published>2024-01-01&total=true | 80 | 0 | 0% | 187 | 28.1 | 702 | 29,317 | 0.13 | 0 |
| GET | /api/v3/sbom?sort=ingested:desc&total=true | 96 | 0 | 0% | 285 | 29.5 | 908 | 29,600 | 0.16 | 0 |
| GET | /api/v3/sbom?total=true | 218 | 0 | 0% | 167 | 28.6 | 698 | 29,317 | 0.36 | 0 |
| advisory 13 | ||||||||||
| GET | /api/v3/advisory/urn:uuid:{advisory_id} | 576 | 0 | 0% | 60.1 | 5.38 | 131 | 2,395 | 0.96 | 0 |
| GET | /api/v3/advisory/urn:uuid:{advisory_id}/download | 596 | 0 | 0% | 28.1 | 5.83 | 94.6 | 178,423 | 0.99 | 0 |
| GET | /api/v3/advisory?deprecated=Consider&total=true | 622 | 0 | 0% | 74.3 | 6.76 | 3,091 | 44,003 | 1.04 | 0 |
| GET | /api/v3/advisory?limit=1&total=true | 129 | 0 | 0% | 59.1 | 5.00 | 121 | 3,715 | 0.22 | 0 |
| GET | /api/v3/advisory?limit=10&sort=ingested:desc&total=true | 593 | 0 | 0% | 62.8 | 4.46 | 3,721 | 20,193 | 0.99 | 0 |
| GET | /api/v3/advisory?offset=100&limit=10&total=true | 593 | 0 | 0% | 86.4 | 6.51 | 3,098 | 19,073 | 0.99 | 0 |
| GET | /api/v3/advisory?offset={offset}&limit=1 | 129 | 0 | 0% | 265 | 26.9 | 926 | 2,065 | 0.22 | 0 |
| GET | /api/v3/advisory?q=CVE-2021-&total=true | 616 | 0 | 0% | 357 | 13.3 | 2,791 | 49,594 | 1.03 | 0 |
| GET | /api/v3/advisory?q=identifier=CVE-2022-0981&total=true | 622 | 0 | 0% | 62.0 | 4.12 | 128 | 1,971 | 1.04 | 0 |
| GET | /api/v3/advisory?q=modified>3 days ago&total=true | 608 | 0 | 0% | 22.7 | 3.19 | 94.8 | 22 | 1.01 | 0 |
| GET | /api/v3/advisory?q=title~openssl&total=true | 610 | 0 | 0% | 47.4 | 10.1 | 490 | 126,452 | 1.02 | 0 |
| GET | /api/v3/advisory?sort=modified:desc&total=true | 578 | 0 | 0% | 66.0 | 7.10 | 2,472 | 38,128 | 0.96 | 0 |
| GET | /api/v3/advisory?total=true | 605 | 0 | 0% | 108 | 8.40 | 2,981 | 49,058 | 1.01 | 0 |
| vulnerability 7 | ||||||||||
| POST | /api/v3/vulnerability/analyze | 664 | 0 | 0% | 508 | 1.92 | 3,965 | 2,650,956 | 1.11 | 0 |
| GET | /api/v3/vulnerability?offset=100&limit=10&total=true | 326 | 0 | 0% | 21.3 | 2.86 | 596 | 9,248 | 0.54 | 0 |
| GET | /api/v3/vulnerability?q=base_score>=7.0&total=true | 323 | 0 | 0% | 28.9 | 3.42 | 784 | 18,766 | 0.54 | 0 |
| GET | /api/v3/vulnerability?q=base_severity=high&total=true | 336 | 0 | 0% | 30.1 | 3.72 | 589 | 18,921 | 0.56 | 0 |
| GET | /api/v3/vulnerability?q=cwes=CWE-79&total=true | 330 | 0 | 0% | 37.4 | 3.10 | 1,221 | 19,184 | 0.55 | 0 |
| GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 335 | 0 | 0% | 623 | 162 | 2,408 | 9,929 | 0.56 | 0 |
| GET | /api/v3/vulnerability?total=true | 353 | 0 | 0% | 25.3 | 3.51 | 769 | 17,633 | 0.59 | 0 |
| purl 15 | ||||||||||
| GET | /api/v3/purl/base/{purl} | 376 | 0 | 0% | 52.6 | 5.90 | 308 | 48,827 | 0.63 | 0 |
| GET | /api/v3/purl/base?q=namespace=redhat&total=true | 336 | 0 | 0% | 66.0 | 3.84 | 933 | 2,080 | 0.56 | 0 |
| GET | /api/v3/purl/base?q=type=rpm&total=true | 376 | 0 | 0% | 59.9 | 4.59 | 116 | 2,080 | 0.63 | 0 |
| GET | /api/v3/purl/base?sort=name:asc&total=true | 354 | 0 | 0% | 197 | 73.9 | 421 | 2,943 | 0.59 | 0 |
| GET | /api/v3/purl/base?total=true | 345 | 0 | 0% | 60.0 | 3.59 | 170 | 2,450 | 0.58 | 0 |
| POST | /api/v3/purl/recommend | 1,074 | 0 | 0% | 227 | 69.7 | 714 | 2,747 | 1.79 | 0 |
| GET | /api/v3/purl/{purl_id} | 349 | 0 | 0% | 75.5 | 15.4 | 273 | 531 | 0.58 | 0 |
| GET | /api/v3/purl?offset=100&limit=10&total=true | 390 | 0 | 0% | 58.2 | 2.57 | 538 | 4,068 | 0.65 | 0 |
| GET | /api/v3/purl?q=curl&total=true | 342 | 0 | 0% | 93.1 | 2.84 | 2,420 | 10,063 | 0.57 | 0 |
| GET | /api/v3/purl?q=license~GPLv3+...&sort=name:desc&total=true | 370 | 0 | 0% | 30.7 | 1.85 | 90.0 | 22 | 0.62 | 0 |
| GET | /api/v3/purl?q=name=curl&total=true | 353 | 0 | 0% | 27.8 | 2.49 | 292 | 12,084 | 0.59 | 0 |
| GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 345 | 0 | 0% | 99.7 | 2.31 | 3,379 | 10,072 | 0.58 | 0 |
| GET | /api/v3/purl?q=purl:ty=rpm&total=true | 355 | 0 | 0% | 91.0 | 2.28 | 3,488 | 10,110 | 0.59 | 0 |
| GET | /api/v3/purl?sort=purl:name:asc&total=true | 349 | 0 | 0% | 37.7 | 2.21 | 643 | 11,101 | 0.58 | 0 |
| GET | /api/v3/purl?total=true | 346 | 0 | 0% | 33.9 | 2.38 | 810 | 9,987 | 0.58 | 0 |
| license 9 | ||||||||||
| GET | /api/v3/license/spdx/license/{license_id} | 1,829 | 0 | 0% | 42.1 | 1.24 | 75.5 | 1,143 | 3.05 | 0 |
| GET | /api/v3/license/spdx/license?q=apache&total=true | 1,722 | 0 | 0% | 3.45 | 1.22 | 33.1 | 165 | 2.87 | 0 |
| GET | /api/v3/license/spdx/license?q=gpl&total=true | 1,852 | 0 | 0% | 42.0 | 1.49 | 76.5 | 1,981 | 3.09 | 0 |
| GET | /api/v3/license/spdx/license?total=true | 1,863 | 0 | 0% | 42.3 | 1.22 | 86.0 | 1,525 | 3.11 | 0 |
| GET | /api/v3/license?limit=10&sort=license:asc&total=true | 1,751 | 0 | 0% | 36.0 | 7.18 | 127 | 425 | 2.92 | 0 |
| GET | /api/v3/license?q=ASL&sort=license:desc&total=true | 1,810 | 0 | 0% | 30.5 | 3.63 | 101 | 22 | 3.02 | 0 |
| GET | /api/v3/license?q=license~Apache&total=true | 1,771 | 0 | 0% | 27.1 | 3.07 | 93.0 | 120 | 2.95 | 0 |
| GET | /api/v3/license?q=license~GPL&total=true | 1,746 | 0 | 0% | 26.1 | 2.98 | 102 | 92 | 2.91 | 0 |
| GET | /api/v3/license?total=true | 1,809 | 0 | 0% | 71.8 | 7.43 | 142 | 1,101 | 3.02 | 0 |
| analysis 3 | ||||||||||
| GET | /api/v3/analysis/component/{component} | 12,656 | 0 | 0% | 14.8 | 1.57 | 104 | 25 | 21.11 | 0 |
| GET | /api/v3/analysis/latest/component/{cpe} | 12,593 | 0 | 0% | 15.2 | 1.72 | 105 | 25 | 21.00 | 0 |
| GET | /api/v3/analysis/status | 12,440 | 0 | 0% | 14.4 | 1.39 | 103 | 103 | 20.75 | 0 |
| importer 1 | ||||||||||
| GET | /api/v3/importer?total=true | 43,886 | 0 | 0% | 12.4 | 1.32 | 167 | 2 | 73.19 | 0 |
| group 3 | ||||||||||
| GET | /api/v3/group/sbom?parents=resolve&total=true | 12,740 | 0 | 0% | 14.3 | 1.57 | 103 | 38 | 21.25 | 0 |
| GET | /api/v3/group/sbom?total=true | 12,708 | 0 | 0% | 14.6 | 1.63 | 176 | 22 | 21.19 | 0 |
| GET | /api/v3/group/sbom?totals=true&total=true | 12,643 | 0 | 0% | 14.5 | 1.53 | 102 | 22 | 21.08 | 0 |
| labels 3 | ||||||||||
| GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 94 | 0 | 0% | 5,874 | 4,758 | 7,391 | 60 | 0.16 | 0 |
| GET | /api/v3/sbom-labels?limit=10&filter_text=&total=true | 105 | 0 | 0% | 68.6 | 6.13 | 126 | 1,065 | 0.18 | 0 |
| GET | /api/v3/sbom-labels?total=true | 131 | 0 | 0% | 66.6 | 8.77 | 121 | 1,065 | 0.22 | 0 |
| other 2 | ||||||||||
| GET | /.well-known/trustify | 174,620 | 0 | 0% | 1.42 | 0.78 | 47.4 | 886 | 291.21 | 0 |
| POST | /api/v3/ui/extract-sbom-purls | 174,539 | 0 | 0% | 1.61 | 0.87 | 57.0 | 45 | 291.08 | 0 |
Response time metrics (ms)
| Method | Name | 50%ile | 75%ile | 90%ile | 95%ile | 99%ile | 100%ile |
|---|---|---|---|---|---|---|---|
| sbom 16 | |||||||
| GET | /api/v3/sbom/by-package?purl={purl} | 110 | 130 | 140 | 210 | 230 | 330 |
| GET | /api/v3/sbom/count-by-package | 13 | 62 | 76 | 79 | 96 | 98 |
| GET | /api/v3/sbom/{sbom_id} | 140 | 150 | 210 | 230 | 270 | 310 |
| GET | /api/v3/sbom/{sbom_id}/all-license-ids | 9 | 45 | 70 | 73 | 85 | 93 |
| GET | /api/v3/sbom/{sbom_id}/download | 3,300 | 3,400 | 3,400 | 3,500 | 3,800 | 3,800 |
| GET | /api/v3/sbom/{sbom_id}/license-export | 19 | 63 | 72 | 78 | 88 | 90 |
| GET | /api/v3/sbom/{sbom_id}/packages | 110 | 210 | 290 | 310 | 390 | 510 |
| GET | /api/v3/sbom/{sbom_id}/related | 120 | 210 | 270 | 280 | 300 | 370 |
| GET | /api/v3/sbom?limit=10&sort=name:asc&total=true | 250 | 380 | 640 | 820 | 1,200 | 1,200 |
| GET | /api/v3/sbom?offset=100&limit=10&total=true | 170 | 260 | 420 | 500 | 700 | 780 |
| GET | /api/v3/sbom?q=label:type=product&total=true | 8 | 29 | 63 | 72 | 78 | 85 |
| GET | /api/v3/sbom?q=license~GPL&sort=name:desc&total=true | 11 | 54 | 71 | 76 | 100 | 100 |
| GET | /api/v3/sbom?q=name~redhat&total=true | 540 | 1,000 | 1,200 | 1,300 | 1,500 | 1,500 |
| GET | /api/v3/sbom?q=published>2024-01-01&total=true | 160 | 230 | 400 | 470 | 700 | 700 |
| GET | /api/v3/sbom?sort=ingested:desc&total=true | 270 | 390 | 480 | 660 | 910 | 910 |
| GET | /api/v3/sbom?total=true | 120 | 200 | 320 | 400 | 680 | 700 |
| advisory 13 | |||||||
| GET | /api/v3/advisory/urn:uuid:{advisory_id} | 48 | 76 | 110 | 110 | 120 | 130 |
| GET | /api/v3/advisory/urn:uuid:{advisory_id}/download | 14 | 47 | 73 | 77 | 82 | 95 |
| GET | /api/v3/advisory?deprecated=Consider&total=true | 17 | 66 | 81 | 90 | 2,100 | 3,100 |
| GET | /api/v3/advisory?limit=1&total=true | 50 | 69 | 100 | 110 | 120 | 120 |
| GET | /api/v3/advisory?limit=10&sort=ingested:desc&total=true | 13 | 61 | 74 | 80 | 1,600 | 3,700 |
| GET | /api/v3/advisory?offset=100&limit=10&total=true | 70 | 85 | 95 | 100 | 2,100 | 3,100 |
| GET | /api/v3/advisory?offset={offset}&limit=1 | 220 | 340 | 490 | 640 | 820 | 930 |
| GET | /api/v3/advisory?q=CVE-2021-&total=true | 180 | 310 | 1,100 | 1,600 | 2,300 | 2,800 |
| GET | /api/v3/advisory?q=identifier=CVE-2022-0981&total=true | 49 | 85 | 110 | 110 | 120 | 130 |
| GET | /api/v3/advisory?q=modified>3 days ago&total=true | 9 | 40 | 66 | 71 | 80 | 95 |
| GET | /api/v3/advisory?q=title~openssl&total=true | 33 | 74 | 85 | 92 | 190 | 490 |
| GET | /api/v3/advisory?sort=modified:desc&total=true | 17 | 67 | 79 | 87 | 1,700 | 2,500 |
| GET | /api/v3/advisory?total=true | 97 | 110 | 170 | 180 | 200 | 3,000 |
| vulnerability 7 | |||||||
| POST | /api/v3/vulnerability/analyze | 63 | 870 | 1,200 | 1,800 | 2,500 | 4,000 |
| GET | /api/v3/vulnerability?offset=100&limit=10&total=true | 8 | 18 | 58 | 68 | 110 | 600 |
| GET | /api/v3/vulnerability?q=base_score>=7.0&total=true | 8 | 14 | 61 | 71 | 450 | 780 |
| GET | /api/v3/vulnerability?q=base_severity=high&total=true | 9 | 17 | 64 | 73 | 500 | 590 |
| GET | /api/v3/vulnerability?q=cwes=CWE-79&total=true | 10 | 23 | 68 | 79 | 600 | 1,200 |
| GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 520 | 740 | 950 | 1,200 | 1,800 | 2,400 |
| GET | /api/v3/vulnerability?total=true | 8 | 13 | 60 | 69 | 510 | 770 |
| purl 15 | |||||||
| GET | /api/v3/purl/base/{purl} | 36 | 65 | 150 | 190 | 270 | 310 |
| GET | /api/v3/purl/base?q=namespace=redhat&total=true | 47 | 82 | 97 | 100 | 210 | 930 |
| GET | /api/v3/purl/base?q=type=rpm&total=true | 47 | 80 | 97 | 100 | 110 | 120 |
| GET | /api/v3/purl/base?sort=name:asc&total=true | 200 | 230 | 260 | 300 | 360 | 420 |
| GET | /api/v3/purl/base?total=true | 47 | 83 | 97 | 100 | 120 | 170 |
| POST | /api/v3/purl/recommend | 220 | 270 | 320 | 350 | 450 | 710 |
| GET | /api/v3/purl/{purl_id} | 76 | 97 | 120 | 160 | 190 | 270 |
| GET | /api/v3/purl?offset=100&limit=10&total=true | 47 | 75 | 95 | 100 | 120 | 540 |
| GET | /api/v3/purl?q=curl&total=true | 25 | 59 | 95 | 450 | 1,500 | 2,400 |
| GET | /api/v3/purl?q=license~GPLv3+...&sort=name:desc&total=true | 20 | 54 | 66 | 71 | 80 | 90 |
| GET | /api/v3/purl?q=name=curl&total=true | 9 | 48 | 64 | 70 | 190 | 290 |
| GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 9 | 51 | 62 | 65 | 2,800 | 3,400 |
| GET | /api/v3/purl?q=purl:ty=rpm&total=true | 8 | 46 | 62 | 69 | 2,700 | 3,500 |
| GET | /api/v3/purl?sort=purl:name:asc&total=true | 11 | 49 | 62 | 72 | 560 | 640 |
| GET | /api/v3/purl?total=true | 8 | 46 | 61 | 67 | 540 | 810 |
| license 9 | |||||||
| GET | /api/v3/license/spdx/license/{license_id} | 43 | 44 | 45 | 46 | 53 | 75 |
| GET | /api/v3/license/spdx/license?q=apache&total=true | 3 | 4 | 6 | 7 | 9 | 33 |
| GET | /api/v3/license/spdx/license?q=gpl&total=true | 43 | 44 | 45 | 46 | 54 | 77 |
| GET | /api/v3/license/spdx/license?total=true | 43 | 44 | 45 | 46 | 57 | 86 |
| GET | /api/v3/license?limit=10&sort=license:asc&total=true | 25 | 58 | 74 | 81 | 93 | 130 |
| GET | /api/v3/license?q=ASL&sort=license:desc&total=true | 16 | 52 | 69 | 76 | 84 | 100 |
| GET | /api/v3/license?q=license~Apache&total=true | 12 | 48 | 63 | 71 | 80 | 93 |
| GET | /api/v3/license?q=license~GPL&total=true | 12 | 46 | 62 | 71 | 80 | 100 |
| GET | /api/v3/license?total=true | 59 | 96 | 110 | 120 | 130 | 140 |
| analysis 3 | |||||||
| GET | /api/v3/analysis/component/{component} | 6 | 8 | 62 | 69 | 75 | 100 |
| GET | /api/v3/analysis/latest/component/{cpe} | 6 | 8 | 63 | 70 | 76 | 110 |
| GET | /api/v3/analysis/status | 6 | 8 | 62 | 69 | 76 | 100 |
| importer 1 | |||||||
| GET | /api/v3/importer?total=true | 4 | 6 | 58 | 67 | 74 | 170 |
| group 3 | |||||||
| GET | /api/v3/group/sbom?parents=resolve&total=true | 6 | 8 | 62 | 68 | 75 | 100 |
| GET | /api/v3/group/sbom?total=true | 5 | 8 | 63 | 69 | 75 | 180 |
| GET | /api/v3/group/sbom?totals=true&total=true | 6 | 8 | 62 | 68 | 75 | 100 |
| labels 3 | |||||||
| GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 5,800 | 6,200 | 6,700 | 7,000 | 7,400 | 7,400 |
| GET | /api/v3/sbom-labels?limit=10&filter_text=&total=true | 51 | 98 | 110 | 110 | 120 | 130 |
| GET | /api/v3/sbom-labels?total=true | 51 | 93 | 110 | 120 | 120 | 120 |
| other 2 | |||||||
| GET | /.well-known/trustify | 1 | 1 | 3 | 4 | 6 | 47 |
| POST | /api/v3/ui/extract-sbom-purls | 1 | 1 | 3 | 4 | 6 | 57 |
Failures
No failures recorded.
Exceptions
No exceptions raised in the locustfile.