54 lines
1.3 KiB
Markdown
54 lines
1.3 KiB
Markdown
|
# Overview
|
||
|
This is the [Prometheus](http://www.prometheus.io) telemetric
|
||
|
instrumentation client [Go](http://golang.org) client library. It
|
||
|
enable authors to define process-space metrics for their servers and
|
||
|
expose them through a web service interface for extraction,
|
||
|
aggregation, and a whole slew of other post processing techniques.
|
||
|
|
||
|
# Installing
|
||
|
$ go get github.com/prometheus/client_golang/prometheus
|
||
|
|
||
|
# Example
|
||
|
```go
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"net/http"
|
||
|
|
||
|
"github.com/prometheus/client_golang/prometheus"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
indexed = prometheus.NewCounter(prometheus.CounterOpts{
|
||
|
Namespace: "my_company",
|
||
|
Subsystem: "indexer",
|
||
|
Name: "documents_indexed",
|
||
|
Help: "The number of documents indexed.",
|
||
|
})
|
||
|
size = prometheus.NewGauge(prometheus.GaugeOpts{
|
||
|
Namespace: "my_company",
|
||
|
Subsystem: "storage",
|
||
|
Name: "documents_total_size_bytes",
|
||
|
Help: "The total size of all documents in the storage."}})
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
http.Handle("/metrics", prometheus.Handler())
|
||
|
|
||
|
indexed.Inc()
|
||
|
size.Set(5)
|
||
|
|
||
|
http.ListenAndServe(":8080", nil)
|
||
|
}
|
||
|
|
||
|
func init() {
|
||
|
prometheus.MustRegister(indexed)
|
||
|
prometheus.MustRegister(size)
|
||
|
}
|
||
|
```
|
||
|
|
||
|
# Documentation
|
||
|
|
||
|
[![GoDoc](https://godoc.org/github.com/prometheus/client_golang?status.png)](https://godoc.org/github.com/prometheus/client_golang)
|
||
|
|