Added sockstat test file
initial work on sockstat work Fixed package name Finished implementation of the sockstat plugin missed a return value Added sockstat to default plugins to start Fixed scanner read on sockstat fixed sockstat linux test for TCP alloc update sockstat test case Updated sockstat to return TCP and UDP memory in bytes instead of page count
This commit is contained in:
parent
38e6e6b672
commit
356e1bb866
4 changed files with 162 additions and 1 deletions
41
collector/sockstat_linux_test.go
Normal file
41
collector/sockstat_linux_test.go
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
package collector
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strconv"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestSockStats(t *testing.T) {
|
||||
file, err := os.Open("fixtures/sockstat")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
defer file.Close()
|
||||
|
||||
sockStats, err := parseSockStats(file, fileName)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if want, got := "229", sockStats["sockets"]["used"]; want != got {
|
||||
t.Errorf("want sockstat sockets used %s, got %s", want, got)
|
||||
}
|
||||
|
||||
if want, got := "4", sockStats["TCP"]["tw"]; want != got {
|
||||
t.Errorf("want sockstat sockets used %s, got %s", want, got)
|
||||
}
|
||||
|
||||
if want, got := "17", sockStats["TCP"]["alloc"]; want != got {
|
||||
t.Errorf("want sockstat sockets used %s, got %s", want, got)
|
||||
}
|
||||
|
||||
// The test file has 1 for TCP mem, which is one page. So we should get the
|
||||
// page size in bytes back from sockstat_linux. We get the page size from
|
||||
// os here because this value can change from system to system. The value is
|
||||
// 4096 by default from linux 2.4 onward.
|
||||
if want, got := strconv.Itoa(os.Getpagesize()), sockStats["TCP"]["mem"]; want != got {
|
||||
t.Errorf("want sockstat sockets used %s, got %s", want, got)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue