Prometheus instrumentation library for Go applications
Go to file
beorn7 9c3fe750dd Expose the registry implementation and add two interfaces.
Registry is now a struct, which implements two interfaces, Registrerer
and Deliverer. The latter is particularly important as it is now the
argument type for pushes and HTTP handler construction (i.e. it is
easy to implement a custom Deliverer for testing or other
purposes). The Registerer interface is not used as a parameter type
but can (and should) be used by users of custom registries so that
they can easily do things like mocking it out for testing purposes.

With the broken up interfaces, adding MustRegister to the interface is
not such a big deal anymore (interface is still small). And since
setting the injection hook is such a rare thing to happen, it is
acceptable to not have it in any of the interfaces.

The renaming from `Collect` to `Deliver` was done to avoid confusion
with Collectors. (The registry _collects_ from the Collectors, and
then _delivers_ to the exposition mechanism.)
2016-08-03 01:02:34 +02:00
api/prometheus api: document goroutine safeness 2016-08-01 00:11:57 +02:00
examples Add a histogram to the random example. 2015-02-23 16:19:01 +01:00
prometheus Expose the registry implementation and add two interfaces. 2016-08-03 01:02:34 +02:00
.gitignore Enclose artifact generation process into Makefile. 2013-07-21 17:45:53 +02:00
.travis.yml Update Go version .travis.yml 2016-05-27 15:26:51 +02:00
AUTHORS.md Update Julius's email address in AUTHORS.md 2015-10-26 02:27:06 +01:00
CHANGELOG.md Cut v0.7.0 2015-07-27 17:09:29 +02:00
CONTRIBUTING.md License cleanup 2015-01-22 16:13:15 +01:00
LICENSE License cleanup 2015-01-22 16:13:15 +01:00
NOTICE Create a public registry interface and separate out HTTP exposition 2016-08-02 18:46:22 +02:00
README.md Update README.md 2015-09-18 14:41:53 +02:00
VERSION Cut v0.7.0 2015-07-27 17:09:29 +02:00

README.md

Prometheus Go client library

Build Status

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.

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.

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.