Skip to content

Latest commit

History

97 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

sflow Circle CIGoDocBSD License

An sFlow v5 encoding and decoding package for Go.

Usage

// Create a new decoder that reads from an io.Reader.d:=sflow.NewDecoder(r)
// Attempt to decode an sFlow datagram.dgram, err:=d.Decode()
iferr!=nil {
log.Println(err)
return
}
for_, sample:=rangedgram.Samples {
// Sample is an interface typeifsample.SampleType() ==sflow.TypeCounterSample {
counterSample:=sample.(sflow.CounterSample)
for_, record:=rangecounterSample.Records {
// While there is a record.RecordType() method,// you can always check types directly.switchrecord.(type) {
case sflow.HostDiskCounters:
fmt.Printf("Max used percent of disk space is %d.\n",
record.MaxUsedPercent)
}
}
}
}

API guarantees

API stability is not guaranteed. Vendoring or using a dependency manager is suggested.

Reporting issues

Bug reports are greatly appreciated. Please provide raw datagram dumps when possible.

License

BSD (see LICENSE)

About

sFlow v5 encoding and decoding in Go

Resources

Stars

47 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages