dependabot[bot]
fd6e467b28
Bump smallvec from 1.4.0 to 1.8.0
...
Bumps [smallvec](https://github.com/servo/rust-smallvec ) from 1.4.0 to 1.8.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.4.0...v1.8.0 )
---
updated-dependencies:
- dependency-name: smallvec
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 09:22:31 -04:00
dependabot[bot]
13115df67c
Bump futures-util from 0.3.5 to 0.3.21
...
Bumps [futures-util](https://github.com/rust-lang/futures-rs ) from 0.3.5 to 0.3.21.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.5...0.3.21 )
---
updated-dependencies:
- dependency-name: futures-util
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 09:21:13 -04:00
dependabot[bot]
1777ad0543
Bump arc-swap from 0.4.7 to 0.4.8
...
Bumps [arc-swap](https://github.com/vorner/arc-swap ) from 0.4.7 to 0.4.8.
- [Release notes](https://github.com/vorner/arc-swap/releases )
- [Changelog](https://github.com/vorner/arc-swap/blob/v0.4.8/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v0.4.7...v0.4.8 )
---
updated-dependencies:
- dependency-name: arc-swap
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 09:20:33 -04:00
dependabot[bot]
e7f1ed307a
Bump miow from 0.2.1 to 0.2.2
...
Bumps [miow](https://github.com/yoshuawuyts/miow ) from 0.2.1 to 0.2.2.
- [Release notes](https://github.com/yoshuawuyts/miow/releases )
- [Changelog](https://github.com/yoshuawuyts/miow/blob/master/CHANGELOG.md )
- [Commits](https://github.com/yoshuawuyts/miow/compare/0.2.1...0.2.2 )
---
updated-dependencies:
- dependency-name: miow
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 09:16:59 -04:00
dependabot[bot]
4db2af37d6
Bump image from 0.23.10 to 0.23.12
...
Bumps [image](https://github.com/image-rs/image ) from 0.23.10 to 0.23.12.
- [Release notes](https://github.com/image-rs/image/releases )
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md )
- [Commits](https://github.com/image-rs/image/compare/v0.23.10...v0.23.12 )
---
updated-dependencies:
- dependency-name: image
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 09:13:55 -04:00
dependabot[bot]
f83224d306
Bump hyper from 0.13.6 to 0.13.10
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 0.13.6 to 0.13.10.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/v0.13.10/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v0.13.6...v0.13.10 )
---
updated-dependencies:
- dependency-name: hyper
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 13:03:13 +00:00
dependabot[bot]
b4113314ee
Bump socket2 from 0.3.12 to 0.3.19
...
Bumps [socket2](https://github.com/rust-lang/socket2 ) from 0.3.12 to 0.3.19.
- [Release notes](https://github.com/rust-lang/socket2/releases )
- [Changelog](https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/socket2/compare/0.3.12...v0.3.19 )
---
updated-dependencies:
- dependency-name: socket2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 19:59:21 +00:00
dependabot[bot]
43545dd5cb
Bump crossbeam-channel from 0.4.2 to 0.4.4
...
Bumps [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam ) from 0.4.2 to 0.4.4.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases )
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/v0.4.2...crossbeam-channel-0.4.4 )
---
updated-dependencies:
- dependency-name: crossbeam-channel
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 19:14:53 +00:00
Barret Rennie
b095ad5193
Copy configuration from correct directory in deployment
2022-03-28 19:42:48 -04:00
Barret Rennie
4a30ec89b8
Fix fxrecorder.visual_metrics_path in deployment config
2022-03-28 19:34:30 -04:00
Barret Rennie
eabfe321b6
Remove fxrunner section from requirements
2022-03-28 19:29:04 -04:00
Barret Rennie
d9f17f9f93
Fix deploy script
2022-03-25 14:14:36 -04:00
Barret Rennie
90e1fcc3c3
Add perfherder output
2022-03-24 13:14:54 -04:00
Barret Rennie
8dff1227e0
Add missing LICENSE
2022-03-14 14:01:36 -04:00
dependabot[bot]
c3ebca8a76
Bump pillow from 9.0.0 to 9.0.1
...
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/9.0.0...9.0.1 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-12 01:04:01 +00:00
dependabot[bot]
65085f830d
Bump pillow from 8.4.0 to 9.0.0
...
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 8.4.0 to 9.0.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/8.4.0...9.0.0 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-01-13 04:22:31 +00:00
Barret Rennie
9de120ba2e
Add a documentation deployment script
...
This script was used to build and deploy the docs at
https://mozilla.github.io/fxrecord .
2021-11-24 15:19:11 -05:00
Barret Rennie
f8a9b0e6c3
Bump Python version to 3.9.9
...
The requirements.txt file is now generated via pip-compile.
2021-11-24 14:06:28 -05:00
dependabot[bot]
67ab90df21
Bump pillow from 8.2.0 to 8.3.2
...
Bumps [pillow](https://github.com/python-pillow/Pillow ) from 8.2.0 to 8.3.2.
- [Release notes](https://github.com/python-pillow/Pillow/releases )
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst )
- [Commits](https://github.com/python-pillow/Pillow/compare/8.2.0...8.3.2 )
---
updated-dependencies:
- dependency-name: pillow
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2021-11-24 17:00:15 +00:00
Barret Rennie
2b6bfb0cc1
Add docs for fxrecord
...
This moves the majority of documentation from `README.md` into a set of
documentation built with Sphinx.
2021-07-15 17:26:21 -06:00
Barret Rennie
3d87e0d250
Add management scripts
2021-07-15 14:58:33 -06:00
Barret Rennie
b60522cf15
Add configurations for fxrecord deployments
...
The configurations included are for the first fxrecord deployment in the
Toronto office.
2021-06-24 18:50:02 -04:00
Barret Rennie
61b6fc79d5
Fix Display impl for ConfigError
...
The Display impl for ConfigError was showing "path.display()" instead of
the result of `self.path.display()`.
2021-06-24 14:00:49 -04:00
Barret Rennie
2f9b423c9f
Write visual metrics to a file
...
fxrecorder now has an option to write to a file instead of just to
stdout. This will allow us to upload the visual metrics JSON as a
Taskcluster artifact.
2021-06-22 00:36:45 -04:00
Barret Rennie
1aee47ca69
Log to a file in fxrunner
2021-06-21 23:49:41 -04:00
Barret Rennie
1d346e50e7
Fix TestPerfProvider to return increasing cpu times
...
When `cpu_and_disk_idle()` was updated to compute the cpu idle time over
an interval, the tests were never updated to match. This fixes those
tests.
2021-06-21 21:57:18 -04:00
Barret Rennie
7d334fee85
Provide fxrunner host as a string
...
This allows us to specify a hostname instead of just an IP address.
2021-06-14 23:45:23 -04:00
Barret Rennie
7a063ee83b
Retrieve build task ID from environment when available
2021-06-09 16:42:09 -04:00
Barret Rennie
bce6d3a52c
Remove debug logging of child handles
2021-05-11 13:22:45 -04:00
Barret Rennie
147ea2ab3b
Always overwrite recordings
2021-05-11 13:22:45 -04:00
Barret Rennie
ad5c9f8b01
Hide the cursor while the splash is shown
...
We move the cursor to the bottom of the screen when we show the splash
so that it does not interfere with visual metrics.
2021-05-11 13:22:45 -04:00
Barret Rennie
f95c7b9c74
Detect CPU idle percentage over an interval
...
Previously we were using the overall CPU idle percentage since the
machine started, instead of measuring the idle percentage over an
interval (like we were already doing with disk IO counters). Now we
measure the CPU usage over the same interval that we measure IO counters
and use that for determining if we are idle.
2021-05-11 13:22:44 -04:00
Barret Rennie
a8e362f263
Perform visual metrics analysis
2020-10-23 17:34:21 -04:00
Barret Rennie
f52abd035e
Vendor visualmetrics.py
2020-10-20 18:18:06 -04:00
Barret Rennie
3b7aac42e6
Remove ffmpeg_path from config
...
We are importing visualmetrics.py which requires ffmpeg to be on the
PATH.
2020-10-20 18:18:06 -04:00
Barret Rennie
373dc20801
Log to stderr instead of stdout
...
We now log to stdout so that we can separate the logging from the
results of the analysis. We can then write the visual metrics JSON to
stdout and it can be consumed by other programs (e.g., the Taskcluster
worker).
2020-10-20 18:18:05 -04:00
Barret Rennie
b4d9226da6
Add an option to keep the video from fxrecorder
2020-10-20 18:18:05 -04:00
Barret Rennie
c486b7fad3
Paint the splash orange instead of red
2020-10-20 18:18:05 -04:00
Barret Rennie
085bba8709
Add a frontend for video analysis
2020-10-20 18:18:05 -04:00
Barret Rennie
eb8bf59420
Unrefactor {fxrunner,fxrecorder}::main
2020-10-20 18:18:04 -04:00
Barret Rennie
57d0996bee
Fix typo in FfmpegRecordingError
2020-10-20 18:18:04 -04:00
Barret Rennie
c6e88390a0
Remove reference to cargo beta in README.md
2020-10-20 18:18:04 -04:00
Barret Rennie
d0bb5f4334
Add a multi-line logging drain
...
The `MultiLineDrain` and `MultiLineSerializer` provide a logging output
with key-value pairs on separate lines. Multi-line strings (e.g., for
logging of stdout/stderr of subprocesses) are logged after a newline and
indented relative to the key. For example, a log call like
```rust
slog::info!(
logger,
"message";
"key" => "value",
"multi-line" => "string\nwith\nnewlines\n"
);
```
would be rendered as:
```
2019-10-01 01:43:48.578Z INFO message
multi-line:
string
with
newlines
key: value
```
2020-09-30 21:46:45 -04:00
Barret Rennie
5a8eb028b1
Use TermDecorator for logging
...
Using `PlainDecorator` and passing it a copy of `std::io::stdout()`
results in it locking the stdout mutex every time we log, which is what
we were trying to avoid by using slog_async. Now we use the
`TermDecorator`, which uses the `term` crate to talk to the underlying
file handle directly, avoiding locking.
2020-09-29 16:36:08 -04:00
Barret Rennie
408f059c5c
Add loggers for integration-tests
...
I've been periodically using an actual logger inside
integration-tests to debug things, so I figured it would be actually
worthwhile to add actual logging support so you don't have to modify the
unit tests to produce output.
We now provide a logger to each of the RunnerProto and RecorderProto in
tests that prefixes the records with the process (runner, recorder) that
it would occur in.
Since `cargo test` runs unit tests in parallel, to get useful output you
need to use:
```
cargo test -p integration-tests -- --nocapture --test-threads 1
```
to force them to run sequentually. Otherwise, output from several tests
will be mixed together.
2020-09-29 16:36:05 -04:00
Barret Rennie
4f52550351
Record Firefox execution
...
`fxrecorder` now starts a recording session via its `Recorder` and
requests `fxrunner` to start Firefox. After a delay, Firefox is shut
down and the recording stops.
Recorder and Splash mocks are also added for integration tests, but as
of yet they do nothing.
2020-09-29 15:55:25 -04:00
Barret Rennie
3cf57dccc8
Build a fake firefox.exe for integration-tests
2020-09-29 15:55:25 -04:00
Barret Rennie
c9dfca73d5
Add the Recorder trait
...
The Recorder trait is responsible for capturing a video stream and
transforming it into a video file. The recorder provided by `fxrecorder`
is the `FfmpegRecorder` which does the recording via `ffmpeg.exe`.
2020-09-29 15:55:25 -04:00
Barret Rennie
f62d658a48
Add path helpers to SessionInfo
2020-09-29 15:55:24 -04:00
Barret Rennie
b58be00fee
Fix up config options for fxrecorder
...
The `x` and `y` members of the `Size` struct were not marked public and
so we couldn't reference them to generate the ffmpeg command line.
Additionally, the documentation of the `buffer_size` field referenced
the wrong ffmpeg flag, and the documentation of the `output_size` field
had a typo.
2020-09-29 15:55:24 -04:00