Prometheus instrumentation library for Go applications
Go to file
beorn7 14730c70c0 promhttp: Bite the bullet and implement all 32 possible interface combos
As it turned out, it's not that esay to guess "common" combination of
interface upgrades. So I decided to just implement all 32 possible
combination of interface upgrades. (Only 16 with Go 1.7 and earlier.)

Clearly, this calls for code generation. But right now, we still need
to find out what's the best form of the code. For later additions,
implementing code generation might be useful.

Note that newDelegator is called for each HTTP request. Thus, this
commit aims to make the upgrade selection quick. (After the type
checks, it's just directly accessing an element in a slice.)
2017-06-02 19:03:08 +02:00
api api: fix typo in comments 2017-04-25 18:17:16 -03:00
examples Allow Summaries with empty objectives and deprecate DefObjectives 2016-11-23 18:35:02 +01:00
prometheus promhttp: Bite the bullet and implement all 32 possible interface combos 2017-06-02 19:03:08 +02:00
.gitignore Enclose artifact generation process into Makefile. 2013-07-21 17:45:53 +02:00
.travis.yml Instrument RoundTripper via middleware (#295) 2017-05-09 18:46:09 +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 Replace AUTHORS.md by an updated MAINTAINERS.md 2017-02-16 19:49:34 +01: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.

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.