id = "atop"
name = "atop"
homepage = "https://www.atoptool.nl"
description = "An interactive monitor to view the load on system level and process level."
executables = ["atop"]
platforms = ["linux"]
[dotfiles]
paths = ["~/.atoprc"]
secret = []
[commands]
format = 1
label = "Record or replay a raw log"
description = "Write system and process statistics to an atop raw file, or replay one over a time window. The interactive display flags are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://github.com/Atoptool/atop/blob/master/man/atop.1"
revision = "master 2026-10-27"
evidence = """
atop -w rawfile [-a] [-S] [interval [samples]]
atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm[ss]] [-e [YYYYMMDD]hhmm[ss]]
store the system and process level statistics in compressed binary format in a raw file with the flag -w followed by the filename.
The interval (default: 10 seconds) and number of samples (default: infinite) can be passed as last arguments. Instead of the number of samples, the flag -S can be used to indicate that atop should finish anyhow before midnight.
A raw file can be read and visualized again with the flag -r followed by the filename.
With the flag -b (begin time) and/or -e (end time) followed by a time argument of the form [YYYYMMDD]hhmm[ss], a certain time period within the raw file can be selected.
"""
[[commands.field]]
id = "write"
label = "Write raw file"
description = "Appends to the file when it already exists."
type = "path"
path = { kind = "file", role = "output" }
option = ["-w"]
effect = "overwrite"
sources = ["man"]
[[commands.field]]
id = "read"
label = "Read raw file"
type = "path"
path = { kind = "file", role = "input" }
option = ["-r"]
sources = ["man"]
[[commands.field]]
id = "begin"
label = "Begin time"
description = "Form [YYYYMMDD]hhmm[ss]."
type = "string"
option = ["-b"]
sources = ["man"]
[[commands.field]]
id = "end"
label = "End time"
description = "Form [YYYYMMDD]hhmm[ss]."
type = "string"
option = ["-e"]
sources = ["man"]
[[commands.field]]
id = "finish_midnight"
label = "Finish before midnight"
type = "boolean"
option = ["-S"]
sources = ["man"]
[[commands.field]]
id = "interval"
label = "Interval (seconds)"
type = "integer"
position = 0
sources = ["man"]
[[commands.field]]
id = "samples"
label = "Number of samples"
type = "integer"
position = 1
sources = ["man"]
[[commands.task]]
id = "record"
label = "Record to a raw file"
fields = ["write", "interval", "samples", "finish_midnight"]
required = ["write"]
[[commands.task]]
id = "replay"
label = "Replay a time window"
fields = ["read", "begin", "end"]
required = ["read"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["write", "read", "begin", "end"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["interval", "samples", "finish_midnight"]