-
Notifications
You must be signed in to change notification settings - Fork 0
/
ParseLog.go
121 lines (98 loc) · 2.72 KB
/
ParseLog.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package main
import (
"bufio"
"fmt"
//"io"
//"io/ioutil"
"os"
"log"
"strings"
// "regexp"
"strconv"
"path/filepath"
"io/ioutil"
//"gonum/stats"
"regexp"
)
func check(e error) {
if e != nil {
panic(e)
}
//defer f.close()
}
func main() {
//fmt.Printf("hello, world\n")
//Read the list of files from directory
//var dirPath string = "E:\FinCrime\prodLogs"
var dirPath string = "E:/FinCrime/prodLogs"
var filePath string
var writeFileName string
//var total int = 0
//var max int = 0
//var countSLA int = 0
var i int
//var roListener float64 // Elapsed time prior to transaction processing, includes MQGet
var dataEnricher int = 0 // Elapsed time of ODE internal overhead prior to MEH database fetch
//var countRoListener int = 0
var countDataEnricher int = 0
//var totalCount float64 = 0.0
var max int = 0;
files, err := ioutil.ReadDir(dirPath)
if err != nil {
log.Fatal(err)
}
writeFileName = filepath.Join(dirPath, "RoListener.txt")
fileWrite, err := os.Create(writeFileName)
if err != nil {
log.Fatal(err)
}
defer fileWrite.Close()
for _, file := range files {
filePath = filepath.Join(dirPath, file.Name())
fmt.Println("Reading file --> " + filePath)
file, err := os.Open(filePath)
if err != nil {
log.Fatal(err)
}
defer file.Close()
//var responseTimes []int
var readLine = ""
scanner := bufio.NewScanner(file)
i = 0
//responseTimes[0] = 0
for scanner.Scan() {
readLine = scanner.Text()
//fmt.Println(i)
if strings.Contains(readLine, "Time taken by ROlistener to read"){ // Time Taken by data enricher
var responseTime = regexp.MustCompile(`:===([0-9]+)`)
//fmt.Println(responseTime.FindStringSubmatch(readLine))
var response string = responseTime.FindStringSubmatch(readLine)[1]
//var splitString = strings.Split(responseTime.FindStringSubmatch(readLine), " ")
//fmt.Println(response)
var x int
x, err = strconv.Atoi(response)
//total += x
i++
var writeString string = strconv.Itoa(i) + "," + strconv.Itoa(x)
fileWrite.WriteString(writeString +"\n")
dataEnricher+= x
//Calculate max value
if x > max {
max = x
}
}
countDataEnricher = i
}
fileWrite.Sync()
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}
//var total int = 0
//fmt.Printf("Total --> %d", total)
//fmt.Printf("Count --> %d", i);
var average float64 = float64(dataEnricher) / float64(countDataEnricher)
fmt.Printf("Average --> %.2f ms\n" , average)
fmt.Printf("Max Value is %d\n", max)
//fmt.Println("Elapsed time prior to transaction processing, includes MQGet -> ", count66)
}