X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=state%2Fstate.go;h=4df68d259a52cf74d4e0541496038264cb220799;hb=5b2ab1f1d0e4066b9ed416fc7c829ab75b33870c;hp=824d9fb95b936af0464c1e42e049504d3e24f328;hpb=5a5305422c2a4651e28e0bb29b778d77f7cf05f5;p=pstop.git diff --git a/state/state.go b/state/state.go index 824d9fb..4df68d2 100644 --- a/state/state.go +++ b/state/state.go @@ -75,20 +75,35 @@ func (state *State) Setup(dbh *sql.DB) { // do a fresh collection of data and then update the initial values based on that. func (state *State) ResetDBStatistics() { - state.Collect() + // collect all initial values on startup / reset + state.fsbi.Collect(state.dbh) + state.tlwsbt.Collect(state.dbh) + state.tiwsbt.Collect(state.dbh) + state.UpdateInitialValues() } func (state *State) UpdateInitialValues() { + start := time.Now() state.fsbi.UpdateInitialValues() state.tlwsbt.UpdateInitialValues() state.tiwsbt.UpdateInitialValues() + lib.Logger.Println("state.UpdateInitialValues() took", time.Duration(time.Since(start)).String()) } +// Only collect the data we are looking at. func (state *State) Collect() { - state.fsbi.Collect(state.dbh) - state.tlwsbt.Collect(state.dbh) - state.tiwsbt.Collect(state.dbh) + start := time.Now() + + switch state.show { + case showLatency, showOps: + state.tiwsbt.Collect(state.dbh) + case showIO: + state.fsbi.Collect(state.dbh) + case showLocks: + state.tlwsbt.Collect(state.dbh) + } + lib.Logger.Println("state.Collect() took", time.Duration(time.Since(start)).String()) } func (state State) MySQLVersion() string {