X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=state%2Fstate.go;fp=state%2Fstate.go;h=f1fbe880b1b741df211bf8c60b4186a013d8bce5;hb=19c8ae094d0914226a3fcd75576d39528828dace;hp=52fb6815de70778251fcf1cb5a1c66ae8abb49ce;hpb=24183433de0c5d606a4fc1d9f90df0608547bf78;p=pstop.git diff --git a/state/state.go b/state/state.go index 52fb681..f1fbe88 100644 --- a/state/state.go +++ b/state/state.go @@ -11,14 +11,15 @@ import ( "github.com/sjmudd/pstop/i_s" "github.com/sjmudd/pstop/lib" + ewsgben "github.com/sjmudd/pstop/p_s/events_waits_summary_global_by_event_name" fsbi "github.com/sjmudd/pstop/p_s/file_summary_by_instance" "github.com/sjmudd/pstop/p_s/ps_table" - "github.com/sjmudd/pstop/wait_info" - ewsgben "github.com/sjmudd/pstop/p_s/events_waits_summary_global_by_event_name" + "github.com/sjmudd/pstop/p_s/setup_instruments" tiwsbt "github.com/sjmudd/pstop/p_s/table_io_waits_summary_by_table" tlwsbt "github.com/sjmudd/pstop/p_s/table_lock_waits_summary_by_table" "github.com/sjmudd/pstop/screen" "github.com/sjmudd/pstop/version" + "github.com/sjmudd/pstop/wait_info" ) // what information to show @@ -48,7 +49,8 @@ type State struct { show Show mysql_version string want_relative_stats bool - wait_info.WaitInfo // embedded + wait_info.WaitInfo // embedded + setup_instruments setup_instruments.SetupInstruments } func (state *State) Setup(dbh *sql.DB) { @@ -57,6 +59,7 @@ func (state *State) Setup(dbh *sql.DB) { state.screen.Initialise() + state.setup_instruments.EnableMutexMonitoring(dbh) _, variables := lib.SelectAllGlobalVariablesByVariableName(state.dbh) // setup to their initial types/values state.fsbi = fsbi.NewFileSummaryByInstance(variables) @@ -70,8 +73,8 @@ func (state *State) Setup(dbh *sql.DB) { state.tlwsbt.SetNow() state.tiwsbt.SetWantRelativeStats(state.want_relative_stats) state.tiwsbt.SetNow() - state.users.SetWantRelativeStats(state.want_relative_stats) // ignored - state.users.SetNow() // ignored + state.users.SetWantRelativeStats(state.want_relative_stats) // ignored + state.users.SetNow() // ignored state.ewsgben.SetWantRelativeStats(state.want_relative_stats) // ignored state.ewsgben.SetNow() // ignored @@ -438,6 +441,7 @@ func (state *State) ScreenSetSize(width, height int) { func (state *State) Cleanup() { state.screen.Close() if state.dbh != nil { + state.setup_instruments.Restore(state.dbh) _ = state.dbh.Close() } }