Prometheus instrumentation library for Go applications
Go to file
beorn7 a2facc3074 Iterate on a proposed performance improvement for counters
Original discussion see
https://github.com/prometheus/client_golang/pull/362 .

Assuming that the most frequently used method of a `Gauge` is `Set`
and the most frequently used method of a `Conuter` is `Inc`, this
separates the implementation of both metric types. `Inc` and integral
`Add` of a counter is now handled in a separate `uint64`. This would
create a race in `Set`, but luckily, there is no `Set` anymore in a
counter.

All attempts to solve above race (to use the same idea for a `Gauge`)
slow down `Set`, So we just stick with the old implementation
(formerly `value`) for `Gauge`.
2018-01-19 19:06:43 +01:00
api v1: support series API 2017-11-24 20:12:53 +08:00
examples Create Docker images for the examples 2017-09-19 13:59:05 +01:00
prometheus Iterate on a proposed performance improvement for counters 2018-01-19 19:06:43 +01:00
.gitignore Create Docker images for the examples 2017-09-19 13:59:05 +01:00
.travis.yml Drop Go1.6 support, add test for Go1.9 2017-09-06 15:36:30 +02:00
CHANGELOG.md Cut v0.8.0 2016-08-17 16:08:12 +02:00
CONTRIBUTING.md Replace AUTHORS.md by an updated MAINTAINERS.md 2017-02-16 19:49:34 +01:00
LICENSE License cleanup 2015-01-22 16:13:15 +01:00
MAINTAINERS.md Replace AUTHORS.md by an updated MAINTAINERS.md 2017-02-16 19:49:34 +01:00
NOTICE Create a public registry interface and separate out HTTP exposition 2016-08-02 18:46:22 +02:00
README.md Drop Go1.6 support, add test for Go1.9 2017-09-06 15:36:30 +02:00
VERSION Cut v0.8.0 2016-08-17 16:08:12 +02:00

README.md

Prometheus Go client library

Build Status Go Report Card

This is the Go client library for Prometheus. It has two separate parts, one for instrumenting application code, and one for creating clients that talk to the Prometheus HTTP API.

This library requires Go1.7 or later.

Instrumenting applications

code-coverage go-doc

The prometheus directory contains the instrumentation library. See the best practices section of the Prometheus documentation to learn more about instrumenting applications.

The examples directory contains simple examples of instrumented code.

Client for the Prometheus HTTP API

code-coverage go-doc

The api/prometheus directory contains the client for the Prometheus HTTP API. It allows you to write Go applications that query time series data from a Prometheus server. It is still in alpha stage.

Where is model, extraction, and text?

The model packages has been moved to prometheus/common/model.

The extraction and text packages are now contained in prometheus/common/expfmt.

Contributing and community

See the contributing guidelines and the Community section of the homepage.