diff --git a/internal/repository/dbConnection.go b/internal/repository/dbConnection.go index 8082bc4..38a258a 100644 --- a/internal/repository/dbConnection.go +++ b/internal/repository/dbConnection.go @@ -6,10 +6,10 @@ package repository import ( "database/sql" - "log" "sync" "time" + "github.com/ClusterCockpit/cc-backend/pkg/log" "github.com/jmoiron/sqlx" "github.com/mattn/go-sqlite3" "github.com/qustavo/sqlhooks/v2" @@ -48,15 +48,17 @@ func Connect(driver string, db string) { switch driver { case "sqlite3": - sql.Register("sqlite3WithHooks", sqlhooks.Wrap(&sqlite3.SQLiteDriver{}, &Hooks{})) - // - Set WAL mode (not strictly necessary each time because it's persisted in the database, but good for first run) // - Set busy timeout, so concurrent writers wait on each other instead of erroring immediately // - Enable foreign key checks opts.URL += "?_journal=WAL&_timeout=5000&_fk=true" - dbHandle, err = sqlx.Open("sqlite3WithHooks", opts.URL) - // dbHandle, err = sqlx.Open("sqlite3", opts.URL) + if log.Loglevel() == "debug" { + sql.Register("sqlite3WithHooks", sqlhooks.Wrap(&sqlite3.SQLiteDriver{}, &Hooks{})) + dbHandle, err = sqlx.Open("sqlite3WithHooks", opts.URL) + } else { + dbHandle, err = sqlx.Open("sqlite3", opts.URL) + } if err != nil { log.Fatal(err) } diff --git a/internal/repository/stats.go b/internal/repository/stats.go index 1065417..d96c20a 100644 --- a/internal/repository/stats.go +++ b/internal/repository/stats.go @@ -171,7 +171,7 @@ func (r *JobRepository) JobsStatsGrouped( } } - log.Infof("Timer JobStatistics %s", time.Since(start)) + log.Infof("Timer JobsStatsGrouped %s", time.Since(start)) return stats, nil } @@ -212,7 +212,7 @@ func (r *JobRepository) JobsStats( TotalAccHours: totalAccHours}) } - log.Infof("Timer JobStatistics %s", time.Since(start)) + log.Infof("Timer JobStats %s", time.Since(start)) return stats, nil } @@ -251,7 +251,7 @@ func (r *JobRepository) JobCountGrouped( } } - log.Infof("Timer JobStatistics %s", time.Since(start)) + log.Infof("Timer JobCountGrouped %s", time.Since(start)) return stats, nil } @@ -300,7 +300,7 @@ func (r *JobRepository) AddJobCountGrouped( } } - log.Infof("Timer JobStatistics %s", time.Since(start)) + log.Infof("Timer AddJobCountGrouped %s", time.Since(start)) return stats, nil } @@ -343,7 +343,7 @@ func (r *JobRepository) AddJobCount( } } - log.Infof("Timer JobStatistics %s", time.Since(start)) + log.Infof("Timer JobJobCount %s", time.Since(start)) return stats, nil } @@ -351,6 +351,7 @@ func (r *JobRepository) AddHistograms( ctx context.Context, filter []*model.JobFilter, stat *model.JobsStatistics) (*model.JobsStatistics, error) { + start := time.Now() castType := r.getCastType() var err error @@ -367,6 +368,7 @@ func (r *JobRepository) AddHistograms( return nil, err } + log.Infof("Timer AddHistograms %s", time.Since(start)) return stat, nil } diff --git a/pkg/log/log.go b/pkg/log/log.go index f514df9..7e89753 100644 --- a/pkg/log/log.go +++ b/pkg/log/log.go @@ -41,6 +41,8 @@ var ( CritLog *log.Logger = log.New(CritWriter, CritPrefix, log.LstdFlags|log.Llongfile) ) +var loglevel string = "info" + /* CONFIG */ func Init(lvl string, logdate bool) { @@ -78,6 +80,8 @@ func Init(lvl string, logdate bool) { ErrLog = log.New(ErrWriter, ErrPrefix, log.LstdFlags|log.Llongfile) CritLog = log.New(CritWriter, CritPrefix, log.LstdFlags|log.Llongfile) } + + loglevel = lvl } /* PRINT */ @@ -170,6 +174,10 @@ func Fatalf(format string, v ...interface{}) { os.Exit(1) } +func Loglevel() string { + return loglevel +} + /* SPECIAL */ // func Finfof(w io.Writer, format string, v ...interface{}) {