client_golang/prometheus
beorn7 c06fb788be Relax consistency checks during gathering
Also, clarify in the doc comment.

Previously, the assumption was that inconsistent label dimensions are
violating the exposition format spec. However, especially with the
knowledge that OpenMetrics will explicitly allow inconsistent label
dimensions in expositions, we should allow it in client_golang, too.

Note that registration with proper Descs provided will still check for
consistont label dimensions. However, you can "cheat" with custom
Collectors as you can collect metrics that don't follew the provided
Desc (this will be made more explicit and less cheaty once #47 is
fixed). You can also create expositions with inconsistent label
dimensions by merging Gatherers with the Gatherers slice type. (The
latter is used in the Pushgateway.)

Effectively, normal direct instrumentation will always have consistent
label dimensions in this way, but you can cover special use cases with
custom collectors or merging of different Gatherers.

Signed-off-by: beorn7 <beorn@soundcloud.com>
2018-06-06 19:30:53 +02:00
..
graphite graphite: Adjust ExtractSamples call to new interface 2017-01-08 20:55:34 +01:00
promauto promauto: add NewCounterFunc and NewGaugeFunc 2018-03-17 14:01:36 -07:00
promhttp Fix three shadow variable warnings (govet -shadow) 2018-04-13 23:25:14 +02:00
push Fix typos 2018-04-13 23:23:52 +02:00
.gitignore Rearrange file and package per convention. 2013-04-04 15:27:09 +02:00
README.md Create a public registry interface and separate out HTTP exposition 2016-08-02 18:46:22 +02:00
benchmark_test.go Add a benchmark for concurrent counter increments 2018-01-19 15:15:10 -08:00
collector.go Fix a number of doc comments and similar nits 2016-08-03 12:23:37 +02:00
counter.go Iterate on a proposed performance improvement for counters 2018-01-19 19:06:43 +01:00
counter_test.go Iterate on a proposed performance improvement for counters 2018-01-19 19:06:43 +01:00
desc.go Allow currying of metric vec's 2017-12-22 15:56:11 +01:00
desc_test.go validate ConstLabels values in NewDesc 2017-08-20 00:09:51 +02:00
doc.go Add a package promauto that provides auto-registering metrics 2018-02-16 12:55:57 +01:00
example_clustermanager_test.go Fix a number of doc comments and similar nits 2016-08-03 12:23:37 +02:00
example_timer_complex_test.go fix spelling typo 2017-08-28 08:57:51 +08:00
example_timer_gauge_test.go Fix invalid Timer (gauge) example 2017-02-28 11:13:17 -04:00
example_timer_test.go Change the Timer API 2016-11-18 20:32:18 +01:00
examples_test.go Relax consistency checks during gathering 2018-06-06 19:30:53 +02:00
expvar_collector.go Create a public registry interface and separate out HTTP exposition 2016-08-02 18:46:22 +02:00
expvar_collector_test.go Simplify if expr in ExampleNewExpvarCollector() 2018-04-13 23:23:52 +02:00
fnv.go use local fnv hash everywhere 2015-11-12 14:07:23 +01:00
gauge.go Iterate on a proposed performance improvement for counters 2018-01-19 19:06:43 +01:00
gauge_test.go Iterate on a proposed performance improvement for counters 2018-01-19 19:06:43 +01:00
go_collector.go Document the stop-the-world implications of the Go collector 2018-05-19 21:14:04 +02:00
go_collector_test.go Iterate on a proposed performance improvement for counters 2018-01-19 19:06:43 +01:00
histogram.go Pull currying methods up into ObserverVec interface 2017-12-22 16:11:58 +01:00
histogram_test.go new handler instrumentation (#285) 2017-04-24 15:13:19 -04:00
http.go Fix three shadow variable warnings (govet -shadow) 2018-04-13 23:25:14 +02:00
http_test.go Fix three shadow variable warnings (govet -shadow) 2018-04-13 23:25:14 +02:00
labels.go improve validation function naming 2017-08-25 17:58:59 +02:00
metric.go metric.go: Remove unused type hashSorter 2018-04-13 23:23:52 +02:00
metric_test.go Change "Prometheus Team" to "The Prometheus Authors". 2015-02-02 15:14:36 +01:00
observer.go Pull currying methods up into ObserverVec interface 2017-12-22 16:11:58 +01:00
process_collector.go Type processCollector: Remove unused field 'pid' 2018-04-13 23:25:14 +02:00
process_collector_test.go Build process_collector_test.go only on Linux 2018-04-13 23:25:14 +02:00
registry.go Relax consistency checks during gathering 2018-06-06 19:30:53 +02:00
registry_test.go Fix TestHandler 2018-03-19 14:04:12 +01:00
summary.go Pull currying methods up into ObserverVec interface 2017-12-22 16:11:58 +01:00
summary_test.go new handler instrumentation (#285) 2017-04-24 15:13:19 -04:00
timer.go Document the use of Go1.9+ for monotonic time where applicable 2017-06-29 16:07:12 +02:00
timer_test.go new handler instrumentation (#285) 2017-04-24 15:13:19 -04:00
untyped.go Remove the deprecated uses of Untyped metrics 2017-08-29 17:31:45 +02:00
value.go Remove unnecessary for loop in makeLabelPairs() 2018-04-13 23:18:20 +02:00
value_test.go make code compatible with go 1.6 2017-08-20 00:53:55 +02:00
vec.go Fix unprotected write in metricMap 2018-04-09 10:10:15 -04:00
vec_test.go Allow currying of metric vec's 2017-12-22 15:56:11 +01:00

README.md

See go-doc.