diff options
-rw-r--r-- | cleaner.go | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -4,6 +4,7 @@ import ( "database/sql" "errors" _ "github.com/go-sql-driver/mysql" + "log" "time" ) @@ -36,6 +37,7 @@ type CleanData struct { func cleanData() (err error) { db, err := sql.Open("mysql", DATABASE_USER+":"+DATABASE_PASS+"@/"+DATABASE_NAME) if err != nil { + log.Println("Failed to connect to db") return } defer db.Close() @@ -43,17 +45,20 @@ func cleanData() (err error) { //Fetch data that should be cleaned rDat, err := fetchRawData(db, MAXIMUM_ENTRIES) if err != nil { + log.Println("Faild to fetch raw data") return } cDat, err := clean(rDat) if err != nil { + log.Println("Failed to clean data") return } //Begin transaction tx, err := db.Begin() if err != nil { + log.Println("Failed to initialize transaction") return } @@ -62,6 +67,7 @@ func cleanData() (err error) { err = insertCleanData(tx, cd.ipbSrc, cd.ipbDst, cd.volume, cd.time, cd.port, cd.occurances) if err != nil { tx.Rollback() + log.Println("Failed to save cleaned data") return } } @@ -70,6 +76,7 @@ func cleanData() (err error) { err = purgeRawData(tx, rDat) if err != nil { tx.Rollback() + log.Println("Failed to remove old data") return } @@ -146,11 +153,13 @@ func clean(rDat []RawData) (cDat []CleanData, err error) { func fetchRawData(db *sql.DB, numRows int) (rDat []RawData, err error) { prepStmt, err := db.Prepare("SELECT * FROM raw_data LIMIT ? ") if err != nil { + log.Println("Failed to prepare statement") return } rows, err := prepStmt.Query(numRows) if err != nil { + log.Println("Failed to query prepared statement") return } @@ -158,6 +167,7 @@ func fetchRawData(db *sql.DB, numRows int) (rDat []RawData, err error) { var r RawData err = rows.Scan(&r.ipSrc, &r.ipDst, &r.time, &r.port, &r.packetSize) if err != nil { + log.Println("Failed to scan result of query") return } rDat = append(rDat, r) @@ -182,11 +192,13 @@ func purgeRawData(tx *sql.Tx, rDat []RawData) (err error) { func insertCleanData(tx *sql.Tx, ipbSrc, ipbDst, volume string, time time.Time, port, occurences int) error { prepStmt, err := tx.Prepare("INSERT INTO clean_data (ipb_src, ipb_dst, time, port, volume, occurenaces) VALUES ( ? , ? , ? , ? , ? , ? , ?) ON DUPLICATE KEY UPDATE occurences = occurences + ?") if err != nil { + log.Println("Failed to prepare statement") return err } _, err = prepStmt.Exec(ipbSrc, ipbDst, time, port, volume, occurences, occurences) if err != nil { + log.Println("Failed to execute statement") return err } |