+ rows table_rows
+ dbh *sql.DB
+}
+
+// Return a newly initialised SetupInstruments structure with a handle to the database.
+// Better to return a pointer ?
+func NewSetupInstruments(dbh *sql.DB) SetupInstruments {
+ return SetupInstruments{dbh: dbh}
+}
+
+// enable mutex and stage monitoring
+func (si *SetupInstruments) EnableMonitoring() {
+ si.EnableMutexMonitoring()
+ si.EnableStageMonitoring()
+}
+
+// Change settings to monitor stage/sql/%
+func (si *SetupInstruments) EnableStageMonitoring() {
+ lib.Logger.Println("EnableStageMonitoring")
+ sql_match := "stage/sql/%"
+ sql_select := "SELECT NAME, ENABLED, TIMED FROM setup_instruments WHERE NAME LIKE '" + sql_match + "' AND 'YES' NOT IN (enabled,timed)"
+
+ collecting := "Collecting setup_instruments stage/sql configuration settings"
+ updating := "Updating setup_instruments configuration for: stage/sql"
+
+ si.Configure(sql_select, collecting, updating)
+ lib.Logger.Println("EnableStageMonitoring finishes")