Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duration does not accept '0' for telemetry collection #202

Open
hsane-dev opened this issue Feb 10, 2025 · 3 comments · May be fixed by #203
Open

Duration does not accept '0' for telemetry collection #202

hsane-dev opened this issue Feb 10, 2025 · 3 comments · May be fixed by #203
Labels
enhancement New feature or request

Comments

@hsane-dev
Copy link

hsane-dev commented Feb 10, 2025

Tested latest binary 3.3.1 and it does not seem to like '0' as a value to run it indefinitely as suggested by the help, see error below.

Workaround to add a large number also does not seem to work, since the tool errors out on a CNTRL+C or kill signal.
⡿ error collecting data: signal: interrupt

$ sudo ./perfspect telemetry --all --duration 0
Error: duration must be greater than 0
Usage: perfspect telemetry [flags]

Examples:
Telemetry from local host: $ perfspect telemetry
Telemetry from remote target: $ perfspect telemetry --target 192.168.1.1 --user fred --key fred_key
Memory telemetry for 60 seconds: $ perfspect telemetry --memory --duration 60
Telemetry from multiple targets: $ perfspect telemetry --targets targets.yaml

Flags:
Categories:
--all collect telemetry for all categories (default: false)
--cpu monitor cpu (default: false)
--cpuavg monitor cpu average (default: false)
--instrmix monitor instruction mix (default: false)
--irq monitor irq (default: false)
--storage monitor storage (default: false)
--network monitor network (default: false)
--memory monitor memory (default: false)
--power monitor power (default: false)
Others Options:
--format choose output format(s) from: all, html, xlsx, json, txt (default: [all])
--duration number of seconds to run the collection. If 0, the collection will run indefinitely. Ctrl-C to stop. (default: 30)
--interval number of seconds between each sample (default: 2)
--instrmix-pid pid to monitor for instruction mix, no pid means all processes (default: 0)
--instrmix-filter filter to apply to instruction mix (default: [SSE,AVX,AVX2,AVX512,AMX_TILE])
Remote Target Options:
--target host name or IP address of remote target
--port port for SSH to remote target
--user user name for SSH to remote target
--key private key file for SSH to remote target
--targets file with remote target(s) connection details. See targets.yaml for format.
--targettemp directory to use on remote target for temporary files
Advanced Options:
--input ".raw" file, or directory containing ".raw" files. Will skip data collection and use raw data for reports.

Global Flags:
--debug enable debug logging (default: false)
--noupdate skip application update check (default: false)
--output override the output directory
--syslog log to syslog (default: false)
--tempdir override the local temp directory

@harp-intel
Copy link
Contributor

Good catch, thanks. Not a new issue, but a valid one. Help message is wrong. It currently requires a duration > 0.

@hsane-dev
Copy link
Author

Duration > 1 is ok, but a SIGKILL to the process is not dumping any data, is that something that can be fixed?

@harp-intel harp-intel added the enhancement New feature or request label Feb 10, 2025
@harp-intel
Copy link
Contributor

Not sure, but plan to look into it. Setting this issue as enhancement request.

@harp-intel harp-intel linked a pull request Feb 13, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants