Commit Graph

886 Commits

Author SHA1 Message Date
André Carvalho 09dcce7042
api: uses context from net/http
This commit removes the now unnecessary CancelableTransport and rely on
the net/http context support.
2017-04-20 10:31:18 -03:00
André Carvalho 11fae2ef0c
api: uses stdlib context 2017-04-20 09:57:46 -03:00
André Carvalho 349922b38c
api: creates versioned package for prometheus v1 api
This commit creates a new package to hold the prometheus
v1 API interface. This interface will contain all the funcionality
exposed by Prometheus v1 HTTP API.

The underlying http client is kept on the api package since it
may be reused across diferent API versions and also by the Alertmanager
api package (to come.)
2017-04-19 18:24:14 -03:00
Björn Rabenstein 08fd2e1237 Merge pull request #281 from adjust/add_gc_cpu_fraction
Adding GCCPUFraction metric to goCollector
2017-04-01 12:34:46 +02:00
André Carvalho 7b5f0fdaa9
api: fix godoc comment 2017-03-31 21:31:42 -03:00
André Carvalho 57f23d303f
api: returns specific type for label values 2017-03-31 21:29:30 -03:00
André Carvalho 123637b5ca
api: renames method for consistency 2017-03-31 21:07:16 -03:00
André Carvalho 8cb7769e36
api: stops ignoring errors creating requests 2017-03-31 21:05:08 -03:00
André Carvalho 2f33fabffe
api: adds label values query implementation
This commit adds a client side implementation for fetching label values
from prometheus api.
2017-03-31 19:42:19 -03:00
Björn Rabenstein 738ed6c0b9 Merge pull request #287 from caitong93/patch-1
Fix typo
2017-03-22 14:40:44 +01:00
Tong 6d619ff5a8 Fix typo 2017-03-22 21:29:18 +08:00
Brian Brazil a5060f1eaa Merge pull request #284 from Bo0mer/master
Fix typo
2017-03-07 14:33:02 +00:00
Ivan Borshukov bea9149ebb Fix typo 2017-03-07 16:11:13 +02:00
Björn Rabenstein aace68cde2 Merge pull request #282 from prometheus/grobie/fix-vet-issues
Fix invalid Timer (gauge) example
2017-02-28 17:20:01 +01:00
Tobias Schmidt ae77d82d88 Fix invalid Timer (gauge) example
The example method is assumed to be used as main() function. As a main()
function doesn't have any return values, the example doesn't compile and
is invalid.
2017-02-28 11:13:17 -04:00
Julius Volz 69bb387064 Fix typo 2017-02-23 10:28:41 +01:00
Francis Stephens 56cf0be13f Adding GCCPUFraction metric to goCollector 2017-02-22 17:26:08 +01:00
Björn Rabenstein 6ab3432d24 Merge pull request #279 from prometheus/beorn7/meta
Replace AUTHORS.md by an updated MAINTAINERS.md
2017-02-17 09:31:07 +01:00
beorn7 99493b1515 Replace AUTHORS.md by an updated MAINTAINERS.md
Also, note the unmaintained state of the API client in the README.md
2017-02-16 19:49:34 +01:00
Björn Rabenstein d9673f3262 Merge pull request #278 from prometheus/grobie/update-graphite-exposition
Document graphite bridge
2017-02-16 16:11:05 +01:00
Tobias Schmidt 70693bc297 Document graphite bridge 2017-02-15 12:19:46 -04:00
Björn Rabenstein 9c2f725467 Merge pull request #277 from ggaaooppeenngg/goCollector
goCollector: add thread count gauge in goCollector
2017-02-15 14:38:33 +01:00
Peng Gao efb2f142f3 goCollector: change goroutines and treads type
Change gorountines and threads created Gauge to NewConstMetric.

Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2017-02-15 13:06:22 +08:00
Peng Gao fa1cd67d1e goCollector: add thread count gauge in goCollector
Signed-off-by: Peng Gao <peng.gao.dut@gmail.com>
2017-02-13 19:39:00 +08:00
Björn Rabenstein c317fb7474 Merge pull request #273 from prometheus/beorn7/doc
InstrumentHandler: Document issues with HTTP/2
2017-01-25 13:09:23 +01:00
beorn7 9fdd167dba InstrumentHandler: Document issues with HTTP/2 2017-01-25 12:49:31 +01:00
Björn Rabenstein 74f9ce27f6 Merge pull request #270 from prometheus/beorn7/fixes
graphite: Adjust ExtractSamples call to new interface
2017-01-09 00:28:57 +01:00
beorn7 60e61927fc graphite: Adjust ExtractSamples call to new interface 2017-01-08 20:55:34 +01:00
Björn Rabenstein 575f371f78 Merge pull request #262 from prometheus/beorn7/summary
Allow Summaries with empty objectives and deprecate DefObjectives
2016-11-24 16:57:32 +01:00
Björn Rabenstein e83345f73f Merge pull request #250 from prometheus/timer-helper
Add timer helper function
2016-11-23 18:45:33 +01:00
beorn7 9c4b7780d7 Allow Summaries with empty objectives and deprecate DefObjectives
This also updates all tests and examples to use explicitly set
objectives.

In v0.10, DefObjectives will be completely removed, and the default
Summary will have no objectives then.

Fixes #118
2016-11-23 18:35:02 +01:00
Björn Rabenstein 7993aa4cbe Merge pull request #261 from prometheus/beorn7/memstats
Make heap_released_bytes a Gauge.
2016-11-22 19:37:26 +01:00
beorn7 6bff9dc5a4 Make heap_released_bytes a Gauge.
It's not a counter after all.

Also, remove a misleading part of the sys_bytes help string.
2016-11-22 18:11:47 +01:00
beorn7 bc365741ee Improve timer examples 2016-11-21 19:16:56 +01:00
beorn7 89ca0458cb Change the Timer API
This finally makes the (presumably) common simple case as simple as it
gets.

The still quite common (but less common) case of using a Gauge is
slightly more verbose now, but not needing to provide a separate
constructor is totally worth it.

Finally, the advanced use case is not really more verbose as in my
original suggestion. However, the logic to decide which Observer to
use is now all in the ObserverFunc handed in at construction
time. This is deliberate and desired. It makes sure the selection
mechanism is all spelled out there. No surprises buried deep in the
function code somewhere.
2016-11-18 20:32:18 +01:00
beorn7 18c13ef63d Added doc comments 2016-11-18 20:32:18 +01:00
beorn7 8aba21aba3 Completed tests 2016-11-18 20:32:18 +01:00
beorn7 120be69578 Change timer naming from Start/Stop to New/ObserveDuration 2016-11-18 20:32:18 +01:00
beorn7 e63845e3ce Add observerFunc to observe with a Gauge 2016-11-18 20:32:18 +01:00
beorn7 8496756f6d Turn timer helper into a struct with methods 2016-11-18 20:32:18 +01:00
stuart nelson d845abb9f9 Add timer helper function 2016-11-18 20:32:18 +01:00
Björn Rabenstein 573acbcb7f Merge pull request #260 from prometheus/beorn7/doc
Extend the example for pushing to pushgateway
2016-11-18 20:30:02 +01:00
beorn7 e72c7946c6 Extend the example for pushing to pushgateway 2016-11-18 20:22:35 +01:00
Björn Rabenstein 87297c8d5c Merge pull request #259 from prometheus/beorn7/guideline-compliance
Bring Gauges and Counters in line with client library guidelines
2016-11-18 19:33:10 +01:00
beorn7 606b8f85e5 - Point from Inc and Dec to Add and Sub in doc comments.
- Deprecate Untyped for direct instrumentation.

- Add a SetToCurrentTime method to Gauge

Note that adding the SetToCurrentTime method is not really following
Go's principle of lean interfaces. However, the Gauge interface is
already quite fat. (The only methods really required are Set and
Add. Everything else could be expressed in terms of those two.) So we
have already quite a few "convenience" methods traditionally, so I
think we should stay consistent here.

The alternatives would be:

- Not support SetToCurrentTime at all (it's only a SHOULD in the
  guidelines).

- A top level function `SetToCurrentTime(Gauge)`.

- Just a helper `CurrentTime()` that returns the curent unix time in
  seconds as a float (which is pretty verbose using the standard
  library, see code in this commit). This would allow
  `myGauge.Set(CurrentTime)`.

Weighing all circumstances, I believe the way in this commit is the
least evil. Issue #223 could be used to rework interfaces more
fundamentally in a breaking change if feasible.
2016-11-18 19:32:10 +01:00
Björn Rabenstein f9f18f54dd Merge pull request #258 from prometheus/beorn7/doc
Update AUTHORS.md
2016-11-15 18:41:34 +01:00
beorn7 619375609f Update AUTHORS.md
See follows the same spirit as
https://github.com/prometheus/prometheus/pull/2190 .
2016-11-15 18:20:25 +01:00
stuart nelson 7664178cb2 Graphite bridge (#244)
Add Graphite bridge
2016-11-14 14:43:07 +01:00
Björn Rabenstein 54851043b9 Merge pull request #257 from prometheus/beorn7/examples
Adjust examples to modern usage
2016-11-13 17:57:16 +01:00
beorn7 d703c70ef1 Adjust examples to modern usage
- Use seconds instead of microseconds.
- Use promhttp.Handler instead of prometheus.Handler
2016-11-12 16:36:39 +01:00