Add a few missing things

- Install upstream systemd unit
- Install upstream logrotate config
- Add missing documentation
- Expand the description
epel9
Davide Cavalca 4 years ago
parent bd287ce043
commit aee46c8afc

@ -0,0 +1,76 @@
# below
[![CI](https://github.com/facebookincubator/below/workflows/CI/badge.svg)](https://github.com/facebookincubator/below/actions?query=workflow%3ACI+branch%3Amaster+)
[![Matrix chat](https://img.shields.io/matrix/below:matrix.org)](https://matrix.to/#/!SrWxtbLuRUMrDbftgA:matrix.org?via=matrix.org)
`below` is an interactive tool to view and record historical system data. It
has support for:
* information regarding hardware resource utilization
* viewing the cgroup hierarchy
* cgroup and process information
* pressure stall information (PSI)
* `record` mode to record system data
* `replay` mode to replay historical system data
* `live` mode to view live system data
* `dump` subcommand to report script-friendly information (eg JSON and CSV)
below does **not** have support for cgroup1.
The name "below" stems from the fact that the below developers rejected many
of [atop](https://linux.die.net/man/1/atop)'s design and style decisions.
## Demo
<a href="https://asciinema.org/a/355506">
<img src="https://asciinema.org/a/355506.svg" width="500">
</a>
## Installing
First, install dependencies listed in [building.md](docs/building.md).
```shell
$ cargo install below
$ below --help
```
For convenience, we also provide a Dockerfile and
[pre-built images](https://hub.docker.com/r/below/below) on Docker Hub.
See [docker.md](docs/docker.md) for how to use them.
## Quickstart
Live view of system:
```shell
$ sudo below live
```
Run recording daemon:
```shell
$ sudo cp ~/.cargo/bin/below /bin/below # if using cargo-install
$ sudo cp resctl/below/etc/below.service /etc/systemd/system
$ sudo systemctl daemon-reload
$ sudo systemctl start below
```
Replay historical data:
```shell
$ below replay -t "3m ago"
```
## Comparison with alternative tools
See [comparison.md](docs/comparison.md) for a feature comparison
with alternative tools.
## Contributing
See the [CONTRIBUTING](CONTRIBUTING.md) file for how to help out.
## License
See [LICENSE](LICENSE) file.

@ -0,0 +1,13 @@
[Unit]
Description=below system monitor recording daemon
After=time-sync.target
[Service]
ExecStart=/bin/below record --retain-for-s 604800
# Enable backtraces in errors
Environment=RUST_LIB_BACKTRACE=1
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target

@ -0,0 +1,11 @@
/var/log/below/error_*.log {
daily
rotate 14
maxage 14
copytruncate
compress
notifempty
missingok
create 0644 root root
su root root
}

@ -4,9 +4,12 @@
%global crate below
%global forgeurl https://github.com/facebookincubator/below
%global commit 584fdef23f4c7a95a009b84746bb193b68843c1a
Name: rust-%{crate}
Version: 0.2.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Interactive tool to view and record historical system data
# Upstream license specification: Apache-2.0
@ -18,12 +21,33 @@ Patch0: below-fix-metadata.diff
# Fix record_replay_integration test
Patch1: below-fix-tests.patch
# Get these from the repo as they aren't included in the crate
Source1: %{forgeurl}/raw/%{commit}/etc/below.service
Source2: %{forgeurl}/raw/%{commit}/etc/logrotate.conf
Source3: %{forgeurl}/raw/%{commit}/README.md#/README-upstream.md
ExclusiveArch: %{rust_arches}
BuildRequires: rust-packaging
BuildRequires: systemd-rpm-macros
%global _description %{expand:
Interactive tool to view and record historical system data.}
below is an interactive tool to view and record historical system data. It has
support for:
- information regarding hardware resource utilization
- viewing the cgroup hierarchy
- cgroup and process information
- pressure stall information (PSI)
- record mode to record system data
- replay mode to replay historical system data
- live mode to view live system data
- dump subcommand to report script-friendly information (e.g. JSON and CSV)
below does not have support for cgroup1.
The name "below" stems from the fact that the below developers rejected many of
atop's design and style decisions.}
%description %{_description}
@ -34,12 +58,25 @@ Summary: %{summary}
%files -n %{crate}
%license LICENSE
%doc README.md docs
%{_bindir}/%{crate}
%{_unitdir}/%{crate}.service
%{_sysconfdir}/logrotate.d/%{crate}.conf
%dir %{_localstatedir}/log/%{crate}
%post -n %{crate}
%systemd_post %{crate}.service
%preun -n %{crate}
%systemd_preun %{crate}.service
%postun -n %{crate}
%systemd_postun_with_restart %{crate}.service
%prep
%autosetup -n %{crate}-%{version_no_tilde} -p1
%cargo_prep
cp -p %{SOURCE3} README.md
%generate_buildrequires
%cargo_generate_buildrequires
@ -49,6 +86,9 @@ Summary: %{summary}
%install
%cargo_install
install -D -p -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{crate}.service
install -D -p -m0644 %{SOURCE2} \
%{buildroot}%{_sysconfdir}/logrotate.d/%{crate}.conf
install -d -m1777 %{buildroot}%{_localstatedir}/log/%{crate}
%if %{with check}
@ -57,5 +97,11 @@ install -d -m1777 %{buildroot}%{_localstatedir}/log/%{crate}
%endif
%changelog
* Mon Jun 28 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.2.0-2
- Install upstream systemd unit
- Install upstream logrotate config
- Add missing documentation
- Expand the description
* Tue Jun 15 2021 Davide Cavalca <dcavalca@fedoraproject.org> - 0.2.0-1
- Initial package

Loading…
Cancel
Save