You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.5 KiB
65 lines
1.5 KiB
package stats
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
type ServerStats struct {
|
|
Requests *DurationCounter
|
|
Connections *DurationCounter
|
|
AssignRequests *DurationCounter
|
|
ReadRequests *DurationCounter
|
|
WriteRequests *DurationCounter
|
|
DeleteRequests *DurationCounter
|
|
BytesIn *DurationCounter
|
|
BytesOut *DurationCounter
|
|
}
|
|
|
|
var (
|
|
ServStats = NewServerStats()
|
|
)
|
|
|
|
func NewServerStats() *ServerStats {
|
|
return &ServerStats{
|
|
Requests: NewDurationCounter(),
|
|
Connections: NewDurationCounter(),
|
|
AssignRequests: NewDurationCounter(),
|
|
ReadRequests: NewDurationCounter(),
|
|
WriteRequests: NewDurationCounter(),
|
|
DeleteRequests: NewDurationCounter(),
|
|
BytesIn: NewDurationCounter(),
|
|
BytesOut: NewDurationCounter(),
|
|
}
|
|
}
|
|
|
|
func ConnectionOpen() {
|
|
ServStats.Connections.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func ConnectionClose() {
|
|
ServStats.Connections.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func RequestOpen() {
|
|
ServStats.Requests.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func RequestClose() {
|
|
ServStats.Requests.Add(NewTimedValue(time.Now(), 1))
|
|
|
|
}
|
|
func AssignRequest() {
|
|
ServStats.AssignRequests.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func ReadRequest() {
|
|
ServStats.ReadRequests.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func WriteRequest() {
|
|
ServStats.WriteRequests.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func DeleteRequest() {
|
|
ServStats.DeleteRequests.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func BytesIn(val int64) {
|
|
ServStats.BytesIn.Add(NewTimedValue(time.Now(), 1))
|
|
}
|
|
func BytesOut(val int64) {
|
|
ServStats.BytesOut.Add(NewTimedValue(time.Now(), 1))
|
|
}
|