package main

import (
	"sync"
	"time"
)

type Test struct {
	sync.Mutex
	ticker  *time.Ticker
	Status  string
	Done    chan bool
	Rate    int
	Name    string
	Result  []Metric
	Timeout time.Duration
}

type Metric struct {
	Timestamp time.Time `json:"timestamp"`
	Load1m    float64
	Load5m    float64
	Load15m   float64
	FreeMem   int
}

type CPUStats struct {
	User      float64
	Kernel    float64
	Idle      float64
	IOWait    float64
	Swap      float64
	Nice      float64
	LoadMin1  float64
	LoadMin5  float64
	LoadMin15 float64
	Period    time.Duration
	TimeTaken time.Time
}

type Stat struct {
	sync.Mutex
	exitMessage chan bool
}
