client_golang/prometheus
Tobias Schmidt 7faf9e76ef Handle process collector errors gracefully
As it is expected that the process collector can fail under certain
conditions (proc information for a process only readable by root or
other user for example) and as there is currently no option to configure
the error behavior of the client, this change reverts the error
reporting introduced in 159e96f. This effectively means that errors are
simply ignored and there won't be any samples for the process_* metrics
in case of an error.

Once a user can control how to behave in case of errors returned by
collectors, this change should probably be reverted.
2015-02-10 16:19:27 -05: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 Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
collector.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
counter.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
counter_test.go Improve Gauge and Counter performance. 2015-02-02 18:11:11 +01:00
desc.go Allow error reporting during metrics collection and simplify Register(). 2015-01-12 19:16:09 +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 Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
examples_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +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
http.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +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 Handle process collector errors gracefully 2015-02-10 16:19:27 -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 Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
registry_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
summary.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
summary_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
untyped.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
value.go Improve Gauge and Counter performance. 2015-02-02 18:11:11 +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