aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app/main.go
Commit message (Collapse)AuthorAgeFilesLines
* dashboard/app: filter out few more problems in errors logsDmitry Vyukov2026-01-161-1/+9
|
* dashboard/app: improve AI UIDmitry Vyukov2026-01-151-1/+1
| | | | | A bag of minor assorted improvements to data formatting. + show job results in the jobs table
* dashboard/app: fix rendering of dup bugs captionDmitry Vyukov2026-01-131-1/+0
| | | | | | | | After addition of collapsible sections on the bug page, we show 2 captions for the duplicate bugs table. One for the collapsible span "Duplicate bugs (2)", and another inside for the table "duplicates (2):". Remove the inner duplicate caption.
* dashboard/app: split handleBug functionDmitry Vyukov2026-01-051-56/+64
| | | | Linter points it become too long.
* dashboard/app: add support for AI workflowsDmitry Vyukov2026-01-051-0/+32
| | | | | | | | Support for: - polling for AI jobs - handling completion of AI jobs - submitting job trajectory logs - basic visualization for AI jobs
* all: remove unused nolint directivesDmitry Vyukov2026-01-021-3/+1
|
* dashboard/app: filter out some entries from the error logDmitry Vyukov2025-12-301-20/+19
| | | | | Don't show package update errors, they happen in hundreds every day. Don't show internal datastore bugs (these are not our bugs).
* dashboard/app: wire more admin handlersDmitry Vyukov2025-12-291-0/+6
| | | | | | | Make it possible 3 more admin handlers that look useful for future and safe. Now that we don't deploy the app from local machines, it's problematic to call them without this wiring. Remove one old handler that we don't need anymore.
* dashboard: extend bug's JSON representationAleksandr Nogikh2025-12-291-0/+2
| | | | Add status, crash, fix, close and commit dates.
* dashboard: factor out uiBugDetails and loadBugDetailsAleksandr Nogikh2025-12-291-105/+122
| | | | | | | Separate the code that loads all details about a particular bug from the code that is only necessary for rendering a bug page on Web UI. These can be used in mass bug exports.
* dashboard/app: add pprof handlersDmitry Vyukov2025-12-221-0/+1
| | | | | | | These are useful for debugging of deadlocks, hangs (slowness), and memory consumption issues. Can be used on a local instance during development. On the production system pprof handlers are restricted to admins only.
* all: use any instead of interface{}Dmitry Vyukov2025-12-221-2/+2
| | | | Any is the preferred over interface{} now in Go.
* pkg/coveragedb: update file to subsystem info periodicallyTaras Madan2025-08-071-0/+1
| | | | | | #6070 explains the problem of data propagation. 1. Add weekly /cron/update_coverdb_subsystems. 2. Stop updating subsystems from coverage receiver API.
* all: apply linter auto fixesTaras Madan2025-07-171-3/+3
| | | | ./tools/syz-env bin/golangci-lint run ./... --fix
* dashboard/app: sort bugs by impactTaras Madan2025-07-081-0/+3
| | | | | The impact score is deducted from the title. Impact is max(known_titles).
* dashboard: don't display GKE errors on the admin pageAleksandr Nogikh2025-06-261-1/+3
| | | | | GKE streams all stdout as severity=ERROR messages, which makes it too noisy to be useful on the Admin page of syzbot.
* pkg/html: split off URL helpersAleksandr Nogikh2025-04-081-11/+12
| | | | | | | The existing pkg/html package transitively takes too many dependencies, which complicates the reuse of some of its methods. Split off a pkg/html/urlutil package.
* dashboard/app: change coverage linksTaras Madan2025-01-311-3/+12
| | | | It will simplify the json API links.
* dashboard/app: test coverage /file linkTaras Madan2025-01-271-7/+5
| | | | | | | | 1. Init coveragedb client once and propagate it through context to enable mocking. 2. Always init coverage handlers. It simplifies testing. 3. Read webGit and coveragedb client from ctx to make it mockable. 4. Use int for file line number and int64 for merged coverage. 5. Add tests.
* all: use min/max functionsDmitry Vyukov2025-01-171-3/+1
| | | | They are shorter, more readable, and don't require temp vars.
* dashboard/app: provide a text filename to fsck logsFlorent Revest2024-12-191-0/+3
| | | | This fixes a runtime panic when generating links to fsck logs.
* prog: annotate image assets with fsck logsFlorent Revest2024-12-091-4/+8
| | | | | | | | | | | | | | | | | | Syscall attributes are extended with a fsck command field which lets file system mount definitions specify a fsck-like command to run. This is required because all file systems have a custom fsck command invokation style. When uploading a compressed image asset to the dashboard, syz-manager also runs the fsck command and logs its output over the dashapi. The dashboard logs these fsck logs into the database. This has been requested by fs maintainer Ted Tso who would like to quickly understand whether a filesystem is corrupted or not before looking at a reproducer in more details. Ultimately, this could be used as an early triage sign to determine whether a bug is obviously critical.
* dashboard/app: add file coverage pageTaras Madan2024-09-161-0/+1
| | | | | | | | | | | | | | It directly uses the coverage signals from BigQuery. There is no need to wait for the coverage_batch cron jobs. Looks good for debugging. Limitations: 1. It is slow. I know how to speed up but want to stabilize the UI first. 2. It is expensive because of the direct BQ requests. Limited to admin only because of it. 3. It merges only the commits reachable on github because of the gitweb throttling. After the UI stabilization I'll save all the required artifacts to spanner and make this page publicly available. To merge all the commits, not the github reachable only, http git caching instance is needed.
* dashboard: export missing backports as jsonAleksandr Nogikh2024-09-121-11/+43
| | | | | Also include more information into the output: kernel config and reproducer links.
* dashboard: refactor relevantBackportJobs()Aleksandr Nogikh2024-09-121-3/+4
| | | | Make it return a single slice.
* dashboard/app: fix url routing bugTaras Madan2024-09-101-4/+3
| | | | No comments. It was an evening code I guess...
* dashboard/app: set period=quarter for the coverage total pageTaras Madan2024-09-101-1/+1
| | | | It reminds the parameter is adjustable.
* dashboard/app: set period=month as a default value for the coverage details ↵Taras Madan2024-09-101-2/+3
| | | | pages
* all: remove some nolint: goconstTaras Madan2024-09-091-4/+4
|
* dashboard/app: check subsystems coverage enabledTaras Madan2024-07-221-1/+3
|
* dashboard/app: linkify subsystems coverageTaras Madan2024-07-221-0/+1
|
* dashboard/app: integrate heatmap at /graph/coverage_heatmapTaras Madan2024-07-171-0/+1
|
* dashboard/app: introduce mainRepoBranchTaras Madan2024-07-041-4/+4
|
* dashboard/app: make coverage menu and page optionalTaras Madan2024-07-041-2/+4
|
* dashboard: support manual reproduction requestsAleksandr Nogikh2024-06-251-3/+17
| | | | | | | As it is problematic to set up automatic bidirectional sharing of reproducer files between namespaces, let's support the ability to manually request a reproduction attempt on a specific syz-manager instance. That should help in the time being.
* dashboard/app: add coverage histogramTaras Madan2024-06-201-0/+1
|
* dashboard/app: add bugs found per month graphDmitry Vyukov2024-05-311-0/+1
| | | | Useful to estimate overall syzbot performance.
* dashboard: collect and display repro logsAleksandr Nogikh2024-05-271-0/+2
| | | | | This will help us understand how exactly how we have arrived at the reproducer.
* all: fix up context import after go fixDmitry Vyukov2024-04-261-1/+1
|
* all: go fix everythingDmitry Vyukov2024-04-261-1/+1
|
* all: fix json=0 errorTaras Madan2024-03-051-3/+3
| | | | Currently json=0 and json=1 give the same result.
* dashboard/app/main.go: use FormValue() instead of the specialized methodTaras Madan2024-03-051-7/+3
|
* dashboard: split missing backport queryingAleksandr Nogikh2024-02-051-28/+2
| | | | | Split the single function into one that queries the information from the DB and the one that prepares the data for the UI.
* dashboard: show coverage reports in per manager pagesAleksandr Nogikh2024-01-101-8/+8
| | | | There's no sense to restrict the list of build assets there.
* dashboard: introduce an emergency stop modeAleksandr Nogikh2024-01-091-4/+24
| | | | | | | | Add an emergency stop button that can be used by any admin. After it's clicked two times, syzbot stops all reporting and recoding of new bugs. It's assumed that the stop mode is revoked by manually deleting an entry from the database.
* dashboard: serve per-manager pagesAleksandr Nogikh2023-12-131-4/+55
| | | | Display last 500 successful builds for every manager.
* dashboard/app/main.go: temporarily nolint /fixedTaras Madan2023-12-061-2/+2
|
* dashboard/app/main.go: goconst complains /fixedTaras Madan2023-11-081-2/+2
| | | | | | I don't think we'll benefit introducing constants for the URL parts. Let's mark as a false positive. It contributes to #4317 unblocking.
* dashboard: cleanup unnecessary accessLevelsAleksandr Nogikh2023-10-311-9/+5
| | | | | Managers themselves do not have access level controls, so let's clean up the cases when we passed unnecessary arguments.
* dashboard: cache managers lists on the main pageAleksandr Nogikh2023-10-311-1/+6
| | | | | | | | This is a relatively expensive operation (hundreds of ms) that queries many types of entities. At the same time, the content does not change that often. Cache it for 5 minutes after querying.