/go-runtime-stats

A tiny library to publish Golang runtime stats to Grafana

Primary LanguageGoMIT LicenseMIT

go-runtime-stats

A tiny library to publish Golang runtime stats to Grafana (with or without InfluxDB tags)

FOSSA Status

GitHub license

Build Status

Maintainability

Usage;

package main

import "github.com/tushar2708/go-runtime-stats"

func main(){
	runtimestats.Start("statsd-host:8125", "app_name.app_env", 5, "tag1", "value1", "tag2", "value2")
}

Metrics exported;

Metric Source Description Unit
cgo.calls runtime.NumCgoCall() Number of Cgo Calls calls per second
gc.pauseTimeMs runtime.ReadMemStats Pause time of last GC run MS
gc.pauseTimeNs runtime.ReadMemStats Pause time of last GC run NS
gc.period runtime.ReadMemStats Time between last two GC runs MS
gc.perSecond runtime.ReadMemStats Number of GCs per second runs per second
goroutines.total runtime.NumGoroutine() Number of currently running goroutines total
memory.counters.Frees runtime.ReadMemStats.Frees Number of frees issued to the system frees per second
memory.counters.Mallocs runtime.ReadMemStats.Mallocs Number of Mallocs issued to the system mallocs per second
memory.heap.Idle runtime.ReadMemStats.HeapIdle Memory on the heap not in use bytes
memory.heap.InUse runtime.ReadMemStats.HeapInuse Memory on the heap in use bytes
memory.objects.HeapObjects runtime.ReadMemStats.HeapObjects Total objects on the heap # Objects
memory.summary.Alloc runtime.ReadMemStats.Alloc Total bytes allocated bytes
memory.summary.System runtime.ReadMemStats.HeapSys Total bytes acquired from system bytes

License

FOSSA Status