| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of generating Go files with descriptions
serialize them as gob and compress with flate.
This significantly reduces build time, go vet time,
and solves scalability problems with some static analysis tools.
Reference times (all after rm -rf ~/.cache/go-build) before:
TIME="%e %P %M" time go install ./syz-manager
48.29 577% 4824820
TIME="%e %P %M" time go test -c ./prog
56.28 380% 6973292
After:
TIME="%e %P %M" time go install ./syz-manager
22.81 865% 859788
TIME="%e %P %M" time go test -c ./prog
12.74 565% 267760
syz-manager size before/after: 194712597 -> 83418407
-57% even provided we now embed all descriptions
instead of just a single arch.
Deflate/decoding time for a single Linux arch is ~330ms.
Fixes #5542
|
| |
|
|
|
|
|
|
|
|
|
| |
gcloud beta app deploy in GOMOD uploads 1.7G of data.
There is a way to see what files were recently uploaded.
Let's get working solution first and review how can we reduce 1.7G to the current 30M.
To see what files are uploaded:
$ version=$(gcloud app --project=syzkaller versions list --sort-by '~version'
--format='value(version.id)' --hide-no-traffic --limit=1)
$ gcloud app --project=syzkaller versions describe --service=default "$version"
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* syz-manager: add prometheus metrics
Add prometheus metrics client to syz-manager.
Expose metrics on a new port defined in mgrconfig.
Allows for prometheus to scrape metrics from syz-manager.
* syz-manager: expose metrics endpoint in http server
.gitignore : remove local .img path
* mgrconfig: remove unnecessary config option
* syz-manager: update stats to use gaugefunc
added docs for prometheus exported metrics
added more gaugefunc metrics
Signed-off-by: Palash Oswal <oswalpalash@gmail.com>
* syz-manager: minor changes for CI tests
added periods to comments and renamed go variables
Signed-off-by: Palash Oswal <oswalpalash@gmail.com>
* syz-manager: re-position prometheus counter declaration
docs updated with PR comments
Signed-off-by: Palash Oswal <oswalpalash@gmail.com>
|
| |
|
|
| |
Common temp file extension.
|
| |
|
|
|
|
|
| |
Switch from Travis to Github Actions for testing.
This is faster and is better integrated with github.
Update #1699
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Checking in the generated descriptions files makes few things simpler,
but causes pain for pull requests: (1) PRs that touch descriptions
_always_ conflict, (2) PRs are large and harder to review,
(3) people sometimes forget to add auto-generated files.
The proposed way does not require us to hardcode lots of dependencies
in the Makefile (which is nice) and seem to work.
Let's see how it works.
The main contributor-visible consequence is that the auto-generated
files do not need to be checked-in now.
Credit for figuring the Makefile magic goes to @melver.
Fixes #1291
|
| |
|
|
|
|
|
|
|
|
| |
0. Remove aetest build tag. We don't need it anymore, go test should work.
1. IsDevAppServer does not return true in tests anymore, so don't use it
2. Use a different mechanism to register test/prod config.
We don't have aetest tag anymore, so we need something even more dynamic.
3. Fix new golangci-lint warnings: all test files are checked now.
Update #1461
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The fuzzers now run on every new code that is pushed to master
Regression using the generated corpus from the above step is
run locally in the travis. This should fail the travis if new
or old bugs are introduce and thus help catch bugs earlier.
To reproduce locally you can run
./fuzzit create job --local syzkaller/target-name $PATH_TO_FUZZER
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to have all generated files checked in.
Later we removed them (now users are supposed to
run make to generate them). This causes several
problems:
- go get does not work as it tries to build everything
straight away (go get -d works, but users are confused)
- users don't run make and complain that build is broken
- users don't re-run make after updates and complain that
build is broken
- hard to integrate into other build system (even if they
support building Go, they don't support running sysgen
out-of-the-box)
Fixes #216
|
| |
|
|
| |
I have lots of them for testing.
|
| |
|
|
|
|
|
|
| |
They were necessary when they were the source of constant values
extracted from kernel code (hard to do). Now constants are checked-in
separately, and these large files can be easily regenerated with 'make generate'.
Now they are only a source of large uninteresting diffs in commits.
Remove them.
|
| |
|