client_golang/prometheus
Bjoern Rabenstein 05059724f8 Remove the partition of summaries by HTTP status code and method.
Summaries as implemented cannot be aggregated in a meaningful
way. Partitoning them by status code and method only made sense if we
were interested in the individual latency and size of e.g. GET request
that result in status 503. In general, that's not the case. Most of
the time, the user will be interested in the latency and size of _all_
HTTP requests.

(With future changes to client_golang, we will consider making the
HTTP instrumentation configurable, e.g. to handle the case where the
user is only interested in the latency of successful requests.)
2015-01-13 14:57:37 +01:00
..
.gitignore Rearrange file and package per convention. 2013-04-04 15:27:09 +02:00
README.md Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
benchmark_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
collector.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
counter.go Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
counter_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
desc.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
doc.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
example_clustermanager_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
example_memstats_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
example_selfcollector_test.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
examples_test.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
expvar.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
expvar_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
gauge.go Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
gauge_test.go Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
go_collector.go Add ProcessCollector and GoCollector 2014-12-22 13:49:45 -05:00
go_collector_test.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
http.go Remove the partition of summaries by HTTP status code and method. 2015-01-13 14:57:37 +01:00
http_test.go Remove the partition of summaries by HTTP status code and method. 2015-01-13 14:57:37 +01:00
metric.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
metric_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
process_collector.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
process_collector_test.go Add ProcessCollector and GoCollector 2014-12-22 13:49:45 -05:00
registry.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
registry_test.go Add a configurable version of InstrumentHandler and InstrumentHandlerFunc. 2014-07-22 17:40:20 +02:00
summary.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
summary_test.go Disable the timing-sensitive test TestSummaryDecay for now. 2014-12-18 18:05:06 +01:00
untyped.go Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
value.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +01:00
vec.go Fix typo in doc comment. 2014-09-19 13:20:59 +02:00
vec_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00

README.md

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