X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;ds=sidebyside;f=performance_schema%2Ftable_lock_waits_summary_by_table%2Ftable_lock_waits_summary_by_table.go;fp=performance_schema%2Ftable_lock_waits_summary_by_table%2Ftable_lock_waits_summary_by_table.go;h=0000000000000000000000000000000000000000;hb=52d3c00ce729f908f342e10f48818b112dec0130;hp=5ae561f31dac4ea921349eedea080253e43bb537;hpb=b958730449ac1d927c267373a68b9ae54b72c454;p=pstop.git diff --git a/performance_schema/table_lock_waits_summary_by_table/table_lock_waits_summary_by_table.go b/performance_schema/table_lock_waits_summary_by_table/table_lock_waits_summary_by_table.go deleted file mode 100644 index 5ae561f..0000000 --- a/performance_schema/table_lock_waits_summary_by_table/table_lock_waits_summary_by_table.go +++ /dev/null @@ -1,101 +0,0 @@ -// This file contains the library routines for managing the -// table_lock_waits_summary_by_table table. -package table_lock_waits_summary_by_table - -import ( - "database/sql" - _ "github.com/go-sql-driver/mysql" - "time" - - "github.com/sjmudd/pstop/lib" - ps "github.com/sjmudd/pstop/performance_schema" -) - -// a table of rows -type Table_lock_waits_summary_by_table struct { - ps.RelativeStats - ps.InitialTime - initial table_lock_waits_summary_by_table_rows // initial data for relative values - current table_lock_waits_summary_by_table_rows // last loaded values - results table_lock_waits_summary_by_table_rows // results (maybe with subtraction) - totals table_lock_waits_summary_by_table_row // totals of results -} - -// Collect data from the db, then merge it in. -func (t *Table_lock_waits_summary_by_table) Collect(dbh *sql.DB) { - start := time.Now() - t.current = select_tlwsbt_rows(dbh) - - if len(t.initial) == 0 && len(t.current) > 0 { - t.initial = make(table_lock_waits_summary_by_table_rows, len(t.current)) - copy(t.initial, t.current) - } - - // check for reload initial characteristics - if t.initial.needs_refresh(t.current) { - t.initial = make(table_lock_waits_summary_by_table_rows, len(t.current)) - copy(t.initial, t.current) - } - - t.make_results() - lib.Logger.Println("Table_lock_waits_summary_by_table.Collect() took:", time.Duration(time.Since(start)).String()) -} - -func (t *Table_lock_waits_summary_by_table) make_results() { - // lib.Logger.Println( "- t.results set from t.current" ) - t.results = make(table_lock_waits_summary_by_table_rows, len(t.current)) - copy(t.results, t.current) - if t.WantRelativeStats() { - // lib.Logger.Println( "- subtracting t.initial from t.results as WantRelativeStats()" ) - t.results.subtract(t.initial) - } - - // lib.Logger.Println( "- sorting t.results" ) - t.results.sort() - // lib.Logger.Println( "- collecting t.totals from t.results" ) - t.totals = t.results.totals() -} - -// reset the statistics to current values -func (t *Table_lock_waits_summary_by_table) SyncReferenceValues() { - t.SetNow() - t.initial = make(table_lock_waits_summary_by_table_rows, len(t.current)) - copy(t.initial, t.current) - - t.make_results() -} - -// return the headings for a table -func (t Table_lock_waits_summary_by_table) Headings() string { - var r table_lock_waits_summary_by_table_row - - return r.headings() -} - -// return the rows we need for displaying -func (t Table_lock_waits_summary_by_table) RowContent(max_rows int) []string { - rows := make([]string, 0, max_rows) - - for i := range t.results { - if i < max_rows { - rows = append(rows, t.results[i].row_content(t.totals)) - } - } - - return rows -} - -// return all the totals -func (t Table_lock_waits_summary_by_table) TotalRowContent() string { - return t.totals.row_content(t.totals) -} - -// return an empty string of data (for filling in) -func (t Table_lock_waits_summary_by_table) EmptyRowContent() string { - var emtpy table_lock_waits_summary_by_table_row - return emtpy.row_content(emtpy) -} - -func (t Table_lock_waits_summary_by_table) Description() string { - return "Locks by Table Name (table_lock_waits_summary_by_table)" -}