Giter Club home page Giter Club logo

client_golang's Introduction

Prometheus Go client library

Build Status Go Report Card go-doc

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.9 or later.

Important note about releases, versioning, tagging, and stability

In this repository, we used to mostly ignore the many coming and going dependency management tools for Go and instead wait for a tool that most of the community would converge on. Our bet is that this tool has arrived now in the form of Go Modules.

To make full use of what Go Modules are offering, the previous versioning roadmap for this repository had to be changed. In particular, Go Modules finally provide a way for incompatible versions of the same package to coexist in the same binary. For that, however, the versions must be tagged with different major versions of 1 or greater (following Semantic Versioning). Thus, we decided to abandon the original plan of introducing a lot of breaking changes before releasing v1 of this repository, mostly driven by the widespread use this repository already has and the relatively stable state it is in.

To leverage the mechanism Go Modules offers for a transition between major version, the current plan is the following:

  • The v0.9.x series of releases will see a small number of bugfix releases to deal with a few remaining minor issues (#543, #542, #539).
  • After that, all features currently marked as deprecated will be removed, and the result will be released as v1.0.0.
  • The planned breaking changes previously gathered as part of the v0.10 milestone will now go into the v2 milestone. The v2 development happens in a separate branch for the time being. v2 releases off that branch will happen once sufficient stability is reached. v1 and v2 will coexist for a while to enable a convenient transition.
  • The API client in prometheus/client_golang/api/โ€ฆ is still considered experimental. While it will be tagged alongside the rest of the code according to the plan above, we cannot strictly guarantee semver semantics for it.

Instrumenting applications

code-coverage go-doc

The prometheus directory contains the instrumentation library. See the guide on the Prometheus website 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.

client_golang's People

Contributors

beorn7 avatar matttproud avatar juliusv avatar fabxc avatar grobie avatar brian-brazil avatar bernerdschaefer avatar andrestc avatar knweiss avatar m3co-code avatar robx avatar sevagh avatar simonpasquier avatar glefloch avatar prombot avatar stuartnelson3 avatar peterbourgon avatar jacksontj avatar stapelberg avatar bboreham avatar dnesting avatar edaniels avatar stevvooe avatar smcquay avatar gkze avatar ardan-bkennedy avatar telendt avatar philipgough avatar ggaaooppeenngg avatar oliver006 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.