summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleaner.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/cleaner.go b/cleaner.go
index e60e573..47caa82 100644
--- a/cleaner.go
+++ b/cleaner.go
@@ -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
}