Merge pull request #8793 from hashicorp/debug-cli/run-intervals

run commands for duration and interval without needing to specify server or node
This commit is contained in:
Drew Bailey 2020-08-31 16:07:26 -04:00 committed by GitHub
commit 33dc50dca0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -267,10 +267,8 @@ func (c *OperatorDebugCommand) Run(args []string) int {
c.Ui.Output("Starting debugger and capturing cluster data...")
if len(c.nodeIDs) > 0 || len(c.serverIDs) > 0 {
c.Ui.Output(fmt.Sprintf(" Interval: '%s'", interval))
c.Ui.Output(fmt.Sprintf(" Duration: '%s'", duration))
}
c.Ui.Output(fmt.Sprintf(" Interval: '%s'", interval))
c.Ui.Output(fmt.Sprintf(" Duration: '%s'", duration))
// Create the output path
var tmp string
@ -505,13 +503,6 @@ func (c *OperatorDebugCommand) collectPprof(path, id string, client *api.Client)
// collectPeriodic runs for duration, capturing the cluster state every interval. It flushes and stops
// the monitor requests
func (c *OperatorDebugCommand) collectPeriodic(client *api.Client) {
// Not monitoring any logs, just capture the nomad context before exit
if len(c.nodeIDs) == 0 && len(c.serverIDs) == 0 {
dir := filepath.Join("nomad", "0000")
c.collectNomad(dir, client)
return
}
duration := time.After(c.duration)
// Set interval to 0 so that we immediately execute, wait the interval next time
interval := time.After(0 * time.Second)