Trustify branch daily perf tests · 2026-10-20 18:39 UTC
Duration
10m 00s
Total requests
207,350
Failure rate
0.0%
0 failed requests
Throughput
345.8 req/s
Latency 95%ile
72 ms
Latency 99%ile
190 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 | 18:39:45 | 18:39:49 | 0m 04s | 2 → 10 |
| Maintaining | 18:39:49 | 18:49:43 | 9m 54s | 10 → 10 |
| Decreasing | 18:49:43 | 18:49:45 | 0m 02s | 10 → 0 |
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 | 6,000 | 5,290 | 106 |
| 2 | GET | /api/v3/purl?sort=purl:name:asc&total=true | 3,100 | 272 | 127 |
| 3 | POST | /api/v3/vulnerability/analyze | 3,100 | 1,001 | 414 |
| 4 | GET | /api/v3/sbom/{sbom_id}/download | 3,000 | 2,828 | 99 |
| 5 | GET | /api/v3/purl?total=true | 2,800 | 211 | 118 |
| 6 | GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 2,100 | 197 | 116 |
| 7 | GET | /api/v3/advisory?q=CVE-2021-&total=true | 1,700 | 328 | 655 |
| 8 | GET | /api/v3/purl?q=purl:ty=rpm&total=true | 1,700 | 167 | 131 |
| 9 | POST | /api/v3/purl/recommend | 1,500 | 1,047 | 362 |
| 10 | GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 1,200 | 585 | 238 |
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} | 126 | 0 | 0% | 93.7 | 25.1 | 216 | 1,287 | 0.21 | 0 |
| GET | /api/v3/sbom/count-by-package | 116 | 0 | 0% | 34.8 | 4.44 | 103 | 3 | 0.19 | 0 |
| GET | /api/v3/sbom/{sbom_id} | 120 | 0 | 0% | 131 | 58.8 | 254 | 2,015 | 0.20 | 0 |
| GET | /api/v3/sbom/{sbom_id}/all-license-ids | 132 | 0 | 0% | 18.9 | 1.99 | 79.7 | 2 | 0.22 | 0 |
| GET | /api/v3/sbom/{sbom_id}/download | 99 | 0 | 0% | 2,828 | 2,659 | 3,173 | 136,458,638 | 0.17 | 0 |
| GET | /api/v3/sbom/{sbom_id}/license-export | 118 | 0 | 0% | 31.2 | 4.50 | 87.0 | 235 | 0.20 | 0 |
| GET | /api/v3/sbom/{sbom_id}/packages | 108 | 0 | 0% | 131 | 15.2 | 300 | 12,648 | 0.18 | 0 |
| GET | /api/v3/sbom/{sbom_id}/related | 114 | 0 | 0% | 136 | 23.1 | 299 | 15,372 | 0.19 | 0 |
| GET | /api/v3/sbom?limit=10&sort=name:asc&total=true | 117 | 0 | 0% | 241 | 38.3 | 1,004 | 12,189 | 0.20 | 0 |
| GET | /api/v3/sbom?offset=100&limit=10&total=true | 256 | 0 | 0% | 190 | 25.2 | 1,105 | 11,941 | 0.43 | 0 |
| GET | /api/v3/sbom?q=label:type=product&total=true | 109 | 0 | 0% | 21.9 | 2.00 | 86.8 | 22 | 0.18 | 0 |
| GET | /api/v3/sbom?q=license~GPL&sort=name:desc&total=true | 90 | 0 | 0% | 25.8 | 2.37 | 82.4 | 22 | 0.15 | 0 |
| GET | /api/v3/sbom?q=name~redhat&total=true | 135 | 0 | 0% | 448 | 9.37 | 1,292 | 22 | 0.23 | 0 |
| GET | /api/v3/sbom?q=published>2024-01-01&total=true | 124 | 0 | 0% | 173 | 26.9 | 841 | 29,317 | 0.21 | 0 |
| GET | /api/v3/sbom?sort=ingested:desc&total=true | 120 | 0 | 0% | 260 | 32.6 | 793 | 29,600 | 0.20 | 0 |
| GET | /api/v3/sbom?total=true | 239 | 0 | 0% | 158 | 26.9 | 550 | 29,317 | 0.40 | 0 |
| advisory 13 | ||||||||||
| GET | /api/v3/advisory/urn:uuid:{advisory_id} | 672 | 0 | 0% | 60.2 | 3.59 | 135 | 2,395 | 1.12 | 0 |
| GET | /api/v3/advisory/urn:uuid:{advisory_id}/download | 672 | 0 | 0% | 27.6 | 4.07 | 106 | 178,423 | 1.12 | 0 |
| GET | /api/v3/advisory?deprecated=Consider&total=true | 625 | 0 | 0% | 65.3 | 6.38 | 2,681 | 44,003 | 1.04 | 0 |
| GET | /api/v3/advisory?limit=1&total=true | 113 | 0 | 0% | 75.4 | 6.95 | 970 | 2,346 | 0.19 | 0 |
| GET | /api/v3/advisory?limit=10&sort=ingested:desc&total=true | 667 | 0 | 0% | 55.9 | 5.01 | 2,684 | 20,193 | 1.11 | 0 |
| GET | /api/v3/advisory?offset=100&limit=10&total=true | 652 | 0 | 0% | 68.0 | 4.52 | 2,408 | 19,637 | 1.09 | 0 |
| GET | /api/v3/advisory?offset={offset}&limit=1 | 113 | 0 | 0% | 240 | 47.9 | 918 | 1,922 | 0.19 | 0 |
| GET | /api/v3/advisory?q=CVE-2021-&total=true | 655 | 0 | 0% | 328 | 18.1 | 3,314 | 49,519 | 1.09 | 0 |
| GET | /api/v3/advisory?q=identifier=CVE-2022-0981&total=true | 689 | 0 | 0% | 60.2 | 4.52 | 192 | 1,971 | 1.15 | 0 |
| GET | /api/v3/advisory?q=modified>3 days ago&total=true | 694 | 0 | 0% | 20.9 | 2.15 | 87.0 | 22 | 1.16 | 0 |
| GET | /api/v3/advisory?q=title~openssl&total=true | 666 | 0 | 0% | 47.2 | 8.58 | 766 | 126,452 | 1.11 | 0 |
| GET | /api/v3/advisory?sort=modified:desc&total=true | 601 | 0 | 0% | 74.4 | 6.09 | 2,509 | 38,128 | 1.00 | 0 |
| GET | /api/v3/advisory?total=true | 638 | 0 | 0% | 103 | 7.54 | 2,490 | 49,365 | 1.06 | 0 |
| vulnerability 7 | ||||||||||
| POST | /api/v3/vulnerability/analyze | 414 | 0 | 0% | 1,001 | 1.37 | 4,685 | 4,714,813 | 0.69 | 0 |
| GET | /api/v3/vulnerability?offset=100&limit=10&total=true | 189 | 0 | 0% | 73.5 | 3.43 | 925 | 7,700 | 0.32 | 0 |
| GET | /api/v3/vulnerability?q=base_score>=7.0&total=true | 213 | 0 | 0% | 38.1 | 2.63 | 687 | 18,571 | 0.36 | 0 |
| GET | /api/v3/vulnerability?q=base_severity=high&total=true | 186 | 0 | 0% | 45.2 | 2.39 | 1,103 | 18,668 | 0.31 | 0 |
| GET | /api/v3/vulnerability?q=cwes=CWE-79&total=true | 190 | 0 | 0% | 36.7 | 3.38 | 886 | 19,175 | 0.32 | 0 |
| GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 238 | 0 | 0% | 585 | 153 | 2,083 | 14,639 | 0.40 | 0 |
| GET | /api/v3/vulnerability?total=true | 192 | 0 | 0% | 25.4 | 2.47 | 700 | 18,936 | 0.32 | 0 |
| purl 15 | ||||||||||
| GET | /api/v3/purl/base/{purl} | 131 | 0 | 0% | 86.9 | 7.30 | 331 | 48,827 | 0.22 | 0 |
| GET | /api/v3/purl/base?q=namespace=redhat&total=true | 104 | 0 | 0% | 75.4 | 4.13 | 532 | 2,080 | 0.17 | 0 |
| GET | /api/v3/purl/base?q=type=rpm&total=true | 139 | 0 | 0% | 60.4 | 4.57 | 205 | 2,080 | 0.23 | 0 |
| GET | /api/v3/purl/base?sort=name:asc&total=true | 121 | 0 | 0% | 204 | 99.6 | 352 | 2,943 | 0.20 | 0 |
| GET | /api/v3/purl/base?total=true | 137 | 0 | 0% | 63.7 | 2.93 | 218 | 2,450 | 0.23 | 0 |
| POST | /api/v3/purl/recommend | 362 | 0 | 0% | 1,047 | 172 | 1,953 | 2,747 | 0.60 | 0 |
| GET | /api/v3/purl/{purl_id} | 120 | 0 | 0% | 107 | 17.2 | 348 | 537 | 0.20 | 0 |
| GET | /api/v3/purl?offset=100&limit=10&total=true | 122 | 0 | 0% | 87.0 | 4.06 | 3,508 | 4,364 | 0.20 | 0 |
| GET | /api/v3/purl?q=curl&total=true | 116 | 0 | 0% | 174 | 4.49 | 1,835 | 10,693 | 0.19 | 0 |
| GET | /api/v3/purl?q=license~GPLv3+...&sort=name:desc&total=true | 134 | 0 | 0% | 30.9 | 5.66 | 96.2 | 22 | 0.22 | 0 |
| GET | /api/v3/purl?q=name=curl&total=true | 120 | 0 | 0% | 37.5 | 2.32 | 261 | 12,084 | 0.20 | 0 |
| GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 116 | 0 | 0% | 197 | 1.93 | 2,695 | 11,129 | 0.19 | 0 |
| GET | /api/v3/purl?q=purl:ty=rpm&total=true | 131 | 0 | 0% | 167 | 1.79 | 2,791 | 11,238 | 0.22 | 0 |
| GET | /api/v3/purl?sort=purl:name:asc&total=true | 127 | 0 | 0% | 272 | 1.94 | 4,093 | 11,101 | 0.21 | 0 |
| GET | /api/v3/purl?total=true | 118 | 0 | 0% | 211 | 1.87 | 3,688 | 10,697 | 0.20 | 0 |
| license 9 | ||||||||||
| GET | /api/v3/license/spdx/license/{license_id} | 1,840 | 0 | 0% | 41.6 | 1.21 | 119 | 1,143 | 3.07 | 0 |
| GET | /api/v3/license/spdx/license?q=apache&total=true | 1,893 | 0 | 0% | 2.89 | 0.92 | 73.7 | 165 | 3.16 | 0 |
| GET | /api/v3/license/spdx/license?q=gpl&total=true | 1,830 | 0 | 0% | 42.0 | 1.20 | 108 | 1,981 | 3.05 | 0 |
| GET | /api/v3/license/spdx/license?total=true | 1,867 | 0 | 0% | 41.2 | 1.13 | 114 | 1,525 | 3.11 | 0 |
| GET | /api/v3/license?limit=10&sort=license:asc&total=true | 1,833 | 0 | 0% | 36.2 | 6.67 | 176 | 425 | 3.06 | 0 |
| GET | /api/v3/license?q=ASL&sort=license:desc&total=true | 1,884 | 0 | 0% | 30.0 | 3.10 | 158 | 22 | 3.14 | 0 |
| GET | /api/v3/license?q=license~Apache&total=true | 1,855 | 0 | 0% | 26.0 | 2.41 | 175 | 120 | 3.09 | 0 |
| GET | /api/v3/license?q=license~GPL&total=true | 1,919 | 0 | 0% | 25.8 | 2.34 | 174 | 92 | 3.20 | 0 |
| GET | /api/v3/license?total=true | 1,859 | 0 | 0% | 69.9 | 8.51 | 212 | 1,101 | 3.10 | 0 |
| analysis 3 | ||||||||||
| GET | /api/v3/analysis/component/{component} | 15,291 | 0 | 0% | 12.7 | 1.22 | 94.6 | 25 | 25.50 | 0 |
| GET | /api/v3/analysis/latest/component/{cpe} | 15,311 | 0 | 0% | 12.7 | 1.28 | 97.3 | 25 | 25.53 | 0 |
| GET | /api/v3/analysis/status | 14,936 | 0 | 0% | 12.2 | 1.13 | 102 | 103 | 24.91 | 0 |
| importer 1 | ||||||||||
| GET | /api/v3/importer?total=true | 56,169 | 0 | 0% | 9.92 | 0.95 | 97.8 | 2 | 93.67 | 0 |
| group 3 | ||||||||||
| GET | /api/v3/group/sbom?parents=resolve&total=true | 16,097 | 0 | 0% | 11.8 | 1.13 | 98.4 | 38 | 26.84 | 0 |
| GET | /api/v3/group/sbom?total=true | 16,161 | 0 | 0% | 11.5 | 1.12 | 106 | 22 | 26.95 | 0 |
| GET | /api/v3/group/sbom?totals=true&total=true | 16,088 | 0 | 0% | 11.7 | 1.16 | 95.2 | 22 | 26.83 | 0 |
| labels 3 | ||||||||||
| GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 106 | 0 | 0% | 5,290 | 4,382 | 6,514 | 60 | 0.18 | 0 |
| GET | /api/v3/sbom-labels?limit=10&filter_text=&total=true | 128 | 0 | 0% | 66.7 | 7.57 | 119 | 1,065 | 0.21 | 0 |
| GET | /api/v3/sbom-labels?total=true | 108 | 0 | 0% | 68.9 | 6.16 | 139 | 1,065 | 0.18 | 0 |
| other 2 | ||||||||||
| GET | /.well-known/trustify | 13,370 | 0 | 0% | 41.5 | 0.88 | 76.3 | 1,177 | 22.30 | 0 |
| POST | /api/v3/ui/extract-sbom-purls | 13,505 | 0 | 0% | 2.28 | 0.84 | 37.5 | 45 | 22.52 | 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} | 97 | 120 | 130 | 140 | 190 | 220 |
| GET | /api/v3/sbom/count-by-package | 18 | 66 | 76 | 82 | 83 | 100 |
| GET | /api/v3/sbom/{sbom_id} | 130 | 150 | 210 | 220 | 240 | 250 |
| GET | /api/v3/sbom/{sbom_id}/all-license-ids | 7 | 15 | 68 | 75 | 79 | 80 |
| GET | /api/v3/sbom/{sbom_id}/download | 2,800 | 2,900 | 2,900 | 3,000 | 3,200 | 3,200 |
| GET | /api/v3/sbom/{sbom_id}/license-export | 13 | 62 | 75 | 77 | 83 | 87 |
| GET | /api/v3/sbom/{sbom_id}/packages | 100 | 200 | 260 | 280 | 290 | 300 |
| GET | /api/v3/sbom/{sbom_id}/related | 120 | 180 | 210 | 250 | 290 | 300 |
| GET | /api/v3/sbom?limit=10&sort=name:asc&total=true | 200 | 290 | 410 | 520 | 700 | 1,000 |
| GET | /api/v3/sbom?offset=100&limit=10&total=true | 150 | 260 | 370 | 410 | 690 | 1,100 |
| GET | /api/v3/sbom?q=label:type=product&total=true | 7 | 38 | 72 | 75 | 80 | 87 |
| GET | /api/v3/sbom?q=license~GPL&sort=name:desc&total=true | 8 | 50 | 73 | 76 | 82 | 82 |
| GET | /api/v3/sbom?q=name~redhat&total=true | 240 | 900 | 990 | 1,000 | 1,200 | 1,300 |
| GET | /api/v3/sbom?q=published>2024-01-01&total=true | 120 | 210 | 310 | 390 | 690 | 840 |
| GET | /api/v3/sbom?sort=ingested:desc&total=true | 230 | 360 | 490 | 600 | 770 | 790 |
| GET | /api/v3/sbom?total=true | 110 | 200 | 290 | 380 | 510 | 550 |
| advisory 13 | |||||||
| GET | /api/v3/advisory/urn:uuid:{advisory_id} | 47 | 83 | 110 | 110 | 120 | 140 |
| GET | /api/v3/advisory/urn:uuid:{advisory_id}/download | 12 | 52 | 73 | 77 | 85 | 110 |
| GET | /api/v3/advisory?deprecated=Consider&total=true | 17 | 68 | 82 | 110 | 1,400 | 2,700 |
| GET | /api/v3/advisory?limit=1&total=true | 48 | 60 | 100 | 110 | 790 | 970 |
| GET | /api/v3/advisory?limit=10&sort=ingested:desc&total=true | 12 | 63 | 76 | 83 | 1,500 | 2,700 |
| GET | /api/v3/advisory?offset=100&limit=10&total=true | 66 | 86 | 92 | 96 | 210 | 2,400 |
| GET | /api/v3/advisory?offset={offset}&limit=1 | 210 | 290 | 400 | 600 | 910 | 920 |
| GET | /api/v3/advisory?q=CVE-2021-&total=true | 180 | 280 | 860 | 1,700 | 2,100 | 3,300 |
| GET | /api/v3/advisory?q=identifier=CVE-2022-0981&total=true | 47 | 83 | 110 | 110 | 120 | 190 |
| GET | /api/v3/advisory?q=modified>3 days ago&total=true | 7 | 34 | 66 | 70 | 78 | 87 |
| GET | /api/v3/advisory?q=title~openssl&total=true | 22 | 72 | 88 | 99 | 200 | 770 |
| GET | /api/v3/advisory?sort=modified:desc&total=true | 17 | 70 | 84 | 100 | 2,300 | 2,500 |
| GET | /api/v3/advisory?total=true | 95 | 100 | 130 | 170 | 210 | 2,500 |
| vulnerability 7 | |||||||
| POST | /api/v3/vulnerability/analyze | 930 | 1,600 | 2,800 | 3,100 | 3,700 | 4,700 |
| GET | /api/v3/vulnerability?offset=100&limit=10&total=true | 45 | 49 | 100 | 110 | 830 | 930 |
| GET | /api/v3/vulnerability?q=base_score>=7.0&total=true | 8 | 33 | 73 | 81 | 490 | 690 |
| GET | /api/v3/vulnerability?q=base_severity=high&total=true | 8 | 18 | 70 | 300 | 1,000 | 1,100 |
| GET | /api/v3/vulnerability?q=cwes=CWE-79&total=true | 8 | 14 | 67 | 95 | 690 | 890 |
| GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 500 | 680 | 930 | 1,200 | 1,400 | 2,100 |
| GET | /api/v3/vulnerability?total=true | 7 | 14 | 68 | 76 | 680 | 700 |
| purl 15 | |||||||
| GET | /api/v3/purl/base/{purl} | 65 | 150 | 200 | 220 | 310 | 330 |
| GET | /api/v3/purl/base?q=namespace=redhat&total=true | 46 | 83 | 100 | 130 | 480 | 530 |
| GET | /api/v3/purl/base?q=type=rpm&total=true | 46 | 83 | 100 | 110 | 130 | 200 |
| GET | /api/v3/purl/base?sort=name:asc&total=true | 200 | 240 | 290 | 310 | 330 | 350 |
| GET | /api/v3/purl/base?total=true | 46 | 84 | 100 | 110 | 160 | 220 |
| POST | /api/v3/purl/recommend | 1,100 | 1,300 | 1,400 | 1,500 | 1,700 | 2,000 |
| GET | /api/v3/purl/{purl_id} | 99 | 150 | 190 | 210 | 260 | 350 |
| GET | /api/v3/purl?offset=100&limit=10&total=true | 45 | 70 | 96 | 99 | 980 | 3,500 |
| GET | /api/v3/purl?q=curl&total=true | 58 | 170 | 620 | 880 | 1,400 | 1,800 |
| GET | /api/v3/purl?q=license~GPLv3+...&sort=name:desc&total=true | 16 | 53 | 67 | 72 | 88 | 96 |
| GET | /api/v3/purl?q=name=curl&total=true | 17 | 55 | 74 | 150 | 210 | 260 |
| GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 8 | 53 | 76 | 2,100 | 2,600 | 2,700 |
| GET | /api/v3/purl?q=purl:ty=rpm&total=true | 10 | 54 | 66 | 1,700 | 2,600 | 2,800 |
| GET | /api/v3/purl?sort=purl:name:asc&total=true | 24 | 57 | 76 | 3,100 | 3,900 | 4,100 |
| GET | /api/v3/purl?total=true | 11 | 55 | 73 | 2,800 | 3,600 | 3,700 |
| license 9 | |||||||
| GET | /api/v3/license/spdx/license/{license_id} | 42 | 43 | 44 | 45 | 64 | 120 |
| GET | /api/v3/license/spdx/license?q=apache&total=true | 2 | 3 | 5 | 6 | 11 | 74 |
| GET | /api/v3/license/spdx/license?q=gpl&total=true | 43 | 43 | 45 | 46 | 70 | 110 |
| GET | /api/v3/license/spdx/license?total=true | 42 | 43 | 44 | 45 | 66 | 110 |
| GET | /api/v3/license?limit=10&sort=license:asc&total=true | 23 | 59 | 76 | 83 | 100 | 180 |
| GET | /api/v3/license?q=ASL&sort=license:desc&total=true | 14 | 53 | 70 | 76 | 94 | 160 |
| GET | /api/v3/license?q=license~Apache&total=true | 11 | 47 | 60 | 71 | 83 | 180 |
| GET | /api/v3/license?q=license~GPL&total=true | 10 | 48 | 62 | 72 | 82 | 170 |
| GET | /api/v3/license?total=true | 58 | 94 | 110 | 120 | 140 | 210 |
| analysis 3 | |||||||
| GET | /api/v3/analysis/component/{component} | 4 | 6 | 62 | 69 | 76 | 95 |
| GET | /api/v3/analysis/latest/component/{cpe} | 5 | 6 | 62 | 69 | 76 | 97 |
| GET | /api/v3/analysis/status | 4 | 6 | 61 | 69 | 75 | 100 |
| importer 1 | |||||||
| GET | /api/v3/importer?total=true | 3 | 5 | 48 | 66 | 73 | 98 |
| group 3 | |||||||
| GET | /api/v3/group/sbom?parents=resolve&total=true | 4 | 6 | 60 | 68 | 75 | 98 |
| GET | /api/v3/group/sbom?total=true | 4 | 6 | 59 | 68 | 75 | 110 |
| GET | /api/v3/group/sbom?totals=true&total=true | 4 | 6 | 59 | 68 | 75 | 95 |
| labels 3 | |||||||
| GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 5,200 | 5,600 | 5,900 | 6,000 | 6,400 | 6,500 |
| GET | /api/v3/sbom-labels?limit=10&filter_text=&total=true | 51 | 85 | 110 | 120 | 120 | 120 |
| GET | /api/v3/sbom-labels?total=true | 53 | 93 | 110 | 120 | 120 | 140 |
| other 2 | |||||||
| GET | /.well-known/trustify | 42 | 43 | 44 | 45 | 52 | 76 |
| POST | /api/v3/ui/extract-sbom-purls | 1 | 3 | 4 | 5 | 7 | 38 |
Failures
No failures recorded.
Exceptions
No exceptions raised in the locustfile.