Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fukata/golang-stats-api-handler
Golang cpu, memory, gc, etc information api handler.
https://github.com/fukata/golang-stats-api-handler
go munin stats zabbix
Last synced: 13 days ago
JSON representation
Golang cpu, memory, gc, etc information api handler.
- Host: GitHub
- URL: https://github.com/fukata/golang-stats-api-handler
- Owner: fukata
- License: apache-2.0
- Created: 2013-11-29T23:41:36.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2016-03-25T10:50:45.000Z (over 8 years ago)
- Last Synced: 2024-10-10T12:25:37.805Z (about 1 month ago)
- Topics: go, munin, stats, zabbix
- Language: Go
- Size: 20.5 KB
- Stars: 268
- Watchers: 10
- Forks: 25
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
golang-stats-api-handler
========================Golang cpu, memory, gc, etc information api handler.
[![Build Status](https://travis-ci.org/fukata/golang-stats-api-handler.svg?branch=master)](https://travis-ci.org/fukata/golang-stats-api-handler)
## Install
go get github.com/fukata/golang-stats-api-handler
## Example
```go
import (
"net/http"
"log"
"github.com/fukata/golang-stats-api-handler"
)
func main() {
http.HandleFunc("/api/stats", stats_api.Handler)
log.Fatal( http.ListenAndServe(":8080", nil) )
}
```## Response
$ curl -i http://localhost:8080/api/stats/
HTTP/1.1 200 OK
Content-Length: 712
Content-Type: application/json
Date: Sun, 23 Aug 2015 16:52:13 GMT
{
"time": 1440348733548339479,
"go_version": "go1.5",
"go_os": "darwin",
"go_arch": "amd64",
"cpu_num": 8,
"goroutine_num": 24,
"gomaxprocs": 8,
"cgo_call_num": 9,
"memory_alloc": 3974536,
"memory_total_alloc": 12857888,
"memory_sys": 12871928,
"memory_lookups": 52,
"memory_mallocs": 144922,
"memory_frees": 118936,
"memory_stack": 688128,
"heap_alloc": 3974536,
"heap_sys": 8028160,
"heap_idle": 2170880,
"heap_inuse": 5857280,
"heap_released": 0,
"heap_objects": 25986,
"gc_next": 4833706,
"gc_last": 1440348732827834419,
"gc_num": 4,
"gc_per_second": 0,
"gc_pause_per_second": 0,
"gc_pause": [
0.196828,
2.027442,
0.181887,
0.312866
]
}|Key |Value|
|-------------------|----------------|
|time |unix timestamp as nano-seconds|
|go_version |runtime.Version()|
|go_os |runtime.GOOS|
|go_arch |runtime.GOARCH|
|cpu_num |number of CPUs|
|goroutine_num |number of goroutines|
|gomaxprocs |runtime.GOMAXRPOCS(0)|
|cgo_call_num |runtime.NumCgoCall()|
|memory_alloc |bytes allocated and not yet freed|
|memory_total_alloc |bytes allocated (even if freed)|
|memory_sys |bytes obtained from system|
|memory_lookups |number of pointer lookups|
|memory_mallocs |number of mallocs|
|memory_frees |number of frees|
|memory_stack |bytes used by stack allocator|
|heap_alloc |bytes allocated and not yet freed (same as memory_alloc above)|
|heap_sys |bytes obtained from system (not same as memory_sys)|
|heap_idle |bytes in idle spans|
|heap_inuse |bytes in non-idle span|
|heap_released |bytes released to the OS|
|heap_objects |total number of allocated objects|
|gc_next |next collection will happen when HeapAlloc ≥ this amount|
|gc_last |end time of last collection|
|gc_num |number of GC-run|
|gc_per_second |number of GC-run per second|
|gc_pause_per_second|pause duration by GC per seconds|
|gc_pause |pause durations by GC|## Plugins
- Zabbix: [fukata/golang-stats-api-handler-zabbix-userparameter](https://github.com/fukata/golang-stats-api-handler-zabbix-userparameter)
- Munin: [fukata/golang-stats-api-handler-munin-plugin](https://github.com/fukata/golang-stats-api-handler-munin-plugin)