clair/vendor/github.com/prometheus/client_golang/prometheus
2016-02-24 16:34:54 -05:00
..
.gitignore *: refresh godeps 2016-02-24 16:34:54 -05:00
collector.go *: refresh godeps 2016-02-24 16:34:54 -05:00
counter.go *: refresh godeps 2016-02-24 16:34:54 -05:00
desc.go *: refresh godeps 2016-02-24 16:34:54 -05:00
doc.go *: refresh godeps 2016-02-24 16:34:54 -05:00
expvar.go *: refresh godeps 2016-02-24 16:34:54 -05:00
fnv.go *: refresh godeps 2016-02-24 16:34:54 -05:00
gauge.go *: refresh godeps 2016-02-24 16:34:54 -05:00
go_collector.go *: refresh godeps 2016-02-24 16:34:54 -05:00
histogram.go *: refresh godeps 2016-02-24 16:34:54 -05:00
http.go *: refresh godeps 2016-02-24 16:34:54 -05:00
metric.go *: refresh godeps 2016-02-24 16:34:54 -05:00
process_collector.go *: refresh godeps 2016-02-24 16:34:54 -05:00
push.go *: refresh godeps 2016-02-24 16:34:54 -05:00
README.md *: refresh godeps 2016-02-24 16:34:54 -05:00
registry.go *: refresh godeps 2016-02-24 16:34:54 -05:00
summary.go *: refresh godeps 2016-02-24 16:34:54 -05:00
untyped.go *: refresh godeps 2016-02-24 16:34:54 -05:00
value.go *: refresh godeps 2016-02-24 16:34:54 -05:00
vec.go *: refresh godeps 2016-02-24 16:34:54 -05:00

Overview

This is the Prometheus telemetric instrumentation client Go 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

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