| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Support for:
- polling for AI jobs
- handling completion of AI jobs
- submitting job trajectory logs
- basic visualization for AI jobs
|
| |
|
|
| |
Any is the preferred over interface{} now in Go.
|
| |
|
|
| |
getSpannerClient returns prod client as a default.
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
It allows to later get all the associated records in logs explorer.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Single threaded curl and wget are Ok to use.
Current logic returns 429 client err requiring users to rate limit requests.
Let's add backpressure to guarantee acceptable request rate.
|
| |
|
|
|
| |
At peak load times, it can be expected that CAS will require too many
iterations. There's no reason to report it as an error.
|
| |
|
|
|
| |
To ensure service stability, let's rate limit incoming requests to our
web endpoints.
|
| |
|
|
|
| |
Now that we mock the config as a whole and not parts of it, these
functions have boiled down to 1-liners. We don't need them anymore.
|
| |
|
|
|
| |
In many cases we want to just access the namespaces's config.
Introduce a special helper function to keep code shorter and more conscise.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to have a single global `config` variable and access it
throughout the whole dashboard application.
However, this approach has been more and more complicated test writing
-- sometimes we want the config to be only slightly different, so that
it's not worth it adding new namespaces, sometimes we have to test how
dashboard handles config changes over time.
This has already led to a number of hacky contextWithXXX methods that
mocked various parts of the global variable. The rest of the code had to
sometimes still use `config` directly and sometimes invoke getXXX(c)
methods. This is very inconsistent and prone to errors.
With more and more situations where we need to patch the config
appearing (see #4118), let's refactor the application to always access
config via the getConfig(c) method. This allows us to uniformly patch
the config and be sure that the non-patched copy is not accessible from
anywhere else.
|
| |
|
|
|
|
|
| |
Add a per-namespace page that contains:
1) The list of commits to backport from the trees fuzzed in that
namespace.
2) The list of commits to backport into the namespace.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Race detector reports a race between
dashboard/app/reporting_test.go:1102
and
dashboard/app/handler.go:183
Fix this by storing decommission updates in the context rather than by
directly modifying the global config variable.
|
| |
|
|
|
| |
Still don't show them in the header, but at least serve all direct links
to the bugs of a decommissioned namespace.
|
| |
|
|
| |
It's more common to do so that to pass a string.
|
| | |
|
| |
|
|
| |
Take the counts from the cache, include links to the filtered bug views.
|
| |
|
|
| |
For each subsystem, collect the number of open, fixed and invalid bugs.
|
| |
|
|
|
| |
To generate filtering URLs, use the ability of context.Context to carry
on variable values.
|
| |
|
|
|
|
|
|
| |
* dashboard/app: return 4xx instead of 5xx for user requests
5xx category signals the Internal Server Errors and require server developers attention.
4xx category means client side problem and doesn't require server developers attention.
Added tests.
|
| |
|
| |
Lets report templates.ExecuteTemplate() issue too.
|
| |
|
|
|
|
| |
1. Updated the "include"s.
2. No logs read API in the AppEngine anymore. Replaced by the GCP logging API.
3. Use "GO111MODULE=off gcloud beta app deploy ./dashboard/app/app.yaml --no-promote" to test new deployment.
4. Updated the documentation.
|
| |
|
|
| |
Currently we show the decommissioned namespaces.
Lets hide this information to let users focus on more actionable things.
|
| |
|
|
|
|
|
| |
We used to show number of fixed bugs at the top of the main page.
However, now with the button nagivation, "fixed" is shown on every page.
Fetching and processing all bugs on every page would be unwise.
Cache these stats in memcache. It will be useful to show more stats in future.
|
| |
|
|
|
|
| |
Currently we have only "fixed" link at the top of the page.
"invalid" is missing and this is not scalable.
Add natigation buttons (tabs) for main pages.
|
| | |
|
| |
|
|
|
|
| |
We kept redirects from old URLs for more than a year.
It's time to remove them. Old links, if they still exist,
need to be updated sooner or later.
|
| |
|
|
|
|
|
|
|
| |
The old go 1.9 App Engine runtime is now deprecated. Update to the go 1.11
runtime, which still allows us to use the old App Engine library (removed
in the 1.12 runtime).
Closes: #1461 ("dashboard: port app to go111/go112 runtime")
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
|
| | |
|
| |
|
|
|
|
| |
The current code does not do what it's supposed to do.
Converting error to error is always true.
Properly wrap errors.
|
| |
|
|
|
|
|
|
| |
Set expiration date for the cookie,
otherwise it should be dropped on browser restart.
Use http.StatusFound(302) instead of http.StatusMovedPermanently(301)
for redirects. Browsers can cache 301 redirects, which we don't want.
|
| |
|
|
|
|
|
| |
Login redirects broke because we failed to generate common header.
This wasn't noticed because we use client redirects
and there is no easy way to test them.
Fix redirects and use server redirect and test this behavior.
|
| |
|
|
|
|
|
| |
We now have too many namespaces and bugs.
Main page takes infinity to load.
Also almost nobody is interested in more than 1 namespace.
So split main page per-namespaces.
|
| |
|
|
|
|
| |
Add /admin page and move logs, jobs, manager onto it.
The main page is too overloaded and takes too long to load.
We need to start splitting it. This is a first step.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
1. Use dashboard style.
2. Allow sorting of tables.
3. Show old crashes in grey.
4. Use tables instead of text output for more pages.
5. Show corpus inputs on a separate page to allow copy-pasting.
6. Use standard JS sorting instead of custom bubble sort (much faster).
7. Fix off-by one in table sorting.
Fixes #694
|
| |
|
|
|
|
|
| |
Don't show maintainers for crashes if we don't have them (only linux has).
Show short git hashes for kernel/syzkaller, 40 chars looks excessive (full hash is in hint).
Show current build kernel/syzkaller git hash in managers table.
Remove fuzzing time from managers table (does not seem too useful).
|
| |
|
|
|
|
|
|
|
|
| |
Since dateSort does not take years into account, Time field of long-standing
bugs is not sorted correctly. Also, it will become more useful to
include year of closed date after we operate the dashboard for some years.
Thus, this patch changes the format of formatTime method, and use textSort
for sorting.
Based on patch by Tetsuo Handa.
|
| |
|
|
|
| |
As per discussion at:
https://groups.google.com/d/msg/syzkaller/zYlQ-b-QPHQ/AJzpeObcBAAJ
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Un-signed-in users are redirected to login page.
And maybe they have access after sign-in.
Otherwise the error will be logged aftger sign-in.
|