client_golang/prometheus
Bjoern Rabenstein 998774096c Make the collectorID independent of the desc order.
This is actually the intended behavior, and (as a nice side effect)
makes things cheaper to calculate.

Also, introduce a separator character to avoid hash collisions
(like label values {"ab","c"} vs {"a", "bc"}).

Apply the same principles to signature.go.

Change-Id: I607db544f278ed89684fe5fa11abdbc3e03d3061
2014-06-26 15:50:11 +02: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 Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02: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 Make the collectorID independent of the desc order. 2014-06-26 15:50:11 +02: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 Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
examples_test.go Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
expvar.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02: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
http.go Add InstrumentHandlerFunc. 2014-06-20 20:57:27 +02:00
http_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
metric.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
metric_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
registry.go Make the collectorID independent of the desc order. 2014-06-26 15:50:11 +02:00
registry_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
summary.go Vendorize perks/quantile. 2014-06-23 19:48:50 +02:00
summary_test.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +02:00
untyped.go Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
value.go Added "callback" metrics, e.g. GaugeFunc. 2014-06-23 14:35:01 +02:00
vec.go Complete rewrite of the exposition library. 2014-06-17 14:08:22 +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