From 5b2ab1f1d0e4066b9ed416fc7c829ab75b33870c Mon Sep 17 00:00:00 2001 From: Simon J Mudd Date: Mon, 17 Nov 2014 09:21:20 +0100 Subject: [PATCH] Collect only the data as we need it --- state/state.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/state/state.go b/state/state.go index 8898331..4df68d2 100644 --- a/state/state.go +++ b/state/state.go @@ -75,7 +75,11 @@ 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() } @@ -87,11 +91,18 @@ func (state *State) 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() { start := time.Now() - state.fsbi.Collect(state.dbh) - state.tlwsbt.Collect(state.dbh) - state.tiwsbt.Collect(state.dbh) + + 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()) } -- 2.20.1