client_golang/prometheus
beorn7 79efd06178 Use binary search to pick bucket.
With the usual number of buckets, this doesn't really make a
difference, but it should scale... See the added TODO for the precise
numbers.
2015-02-20 15:53:53 +01:00
..
.gitignore Rearrange file and package per convention. 2013-04-04 15:27:09 +02:00
README.md Fix document 2015-02-11 17:35:04 -05:00
benchmark_test.go Add support for histograms to the Go client library. 2015-02-19 15:54:26 +01:00
collector.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
counter.go Replaced http by HTTP if used as the name of the protocol in English. 2015-02-19 15:54:26 +01:00
counter_test.go Improve Gauge and Counter performance. 2015-02-02 18:11:11 +01:00
desc.go Update protobuf library package name. 2015-02-14 00:00:34 +01:00
doc.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
example_clustermanager_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
example_memstats_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
example_selfcollector_test.go Update protobuf library package name. 2015-02-14 00:00:34 +01:00
examples_test.go Replaced http by HTTP if used as the name of the protocol in English. 2015-02-19 15:54:26 +01:00
expvar.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
expvar_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
gauge.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
gauge_test.go Improve Gauge and Counter performance. 2015-02-02 18:11:11 +01:00
go_collector.go Add ProcessCollector and GoCollector 2014-12-22 13:49:45 -05:00
go_collector_test.go Fix the summary decay by avoiding the Merge method. 2015-01-21 13:44:43 +01:00
histogram.go Use binary search to pick bucket. 2015-02-20 15:53:53 +01:00
histogram_test.go Do not count the +Inf bucket for bucket creation. 2015-02-19 15:54:26 +01:00
http.go Replaced http by HTTP if used as the name of the protocol in English. 2015-02-19 15:54:26 +01:00
http_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
metric.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
metric_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
process_collector.go Remove dependency on procfs/cgo in non-procfs systems 2015-02-02 15:40:04 -05:00
process_collector_procfs.go Add todo comment to bring back error reporting 2015-02-11 14:58:35 -05:00
process_collector_rest.go Remove procfs dependency unless cgo is enabled 2015-02-09 16:38:04 +01:00
process_collector_test.go Use clear error interface for process pidFn 2015-02-02 14:59:24 -05:00
registry.go Replaced http by HTTP if used as the name of the protocol in English. 2015-02-19 15:54:26 +01:00
registry_test.go Update protobuf library package name. 2015-02-14 00:00:34 +01:00
summary.go Replaced http by HTTP if used as the name of the protocol in English. 2015-02-19 15:54:26 +01:00
summary_test.go Mark slow test as such and exclude them from travis. 2015-02-19 15:51:11 +01:00
untyped.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
value.go Update protobuf library package name. 2015-02-14 00:00:34 +01:00
vec.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
vec_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01: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