Commit graph

2111 commits

Author SHA1 Message Date
beorn7 ff08f0b6fe storage: ensure timestamp monotonicity within series.
Fixes https://github.com/prometheus/prometheus/issues/481

While doing so, clean up and fix a few other things:

- Fix `go vet` warnings (@fabxc to blame ;).

- Fix a racey problem with unarchiving: Whenever we unarchive a
  series, we essentially want to do something with it. However, until
  we have done something with it, it appears like a series that is
  ready to be archived or even purged. So e.g. it would be ignored
  during checkpointing. With this fix, we always load the chunkDescs
  upon unarchiving. This is wasteful if we only want to add a new
  sample to an archived time series, but the (presumably more common)
  case where we access an archived time series in a query doesn't
  become more expensive.

- The change above streamlined the getOrCreateSeries ond
  newMemorySeries flow. Also, the modTime is now always set correctly.

- Fix the leveldb-backed implementation of KeyValueStore.Delete. It
  had the wrong behavior of still returning true, nil if a
  non-existing key has been passed in.
2015-07-15 18:56:53 +02:00
Fabian Reinartz 0834bd03b5 Merge pull request #892 from prometheus/fabxc/cfgfix
config: add overflow detection for serverset config
2015-07-14 14:50:26 +02:00
Fabian Reinartz 435fc7234f config: add overflow detection for serverset config 2015-07-14 02:46:00 +02:00
Julius Volz 1c25247a75 Merge pull request #890 from prometheus/fix-float-conversions
storage: Fix float->uint conversions on some compilers.
2015-07-13 12:58:13 +02:00
Julius Volz acbc2b8cb6 storage: Fix float->uint conversions on some compilers.
See https://github.com/prometheus/prometheus/issues/887, which will at
least be partially fixed by this.

From the spec https://golang.org/ref/spec#Conversions:

"In all non-constant conversions involving floating-point or complex
values, if the result type cannot represent the value the conversion
succeeds but the result value is implementation-dependent."

This ended up setting the converted values to 0 on Debian's Go 1.4.2
compiler, at least on 32-bit Debians.
2015-07-13 11:19:11 +02:00
Brian Brazil 87b9813be4 Merge pull request #883 from brian-brazil/fix-menu
web: Fix regression in .Path
2015-07-10 10:38:30 +01:00
Brian Brazil 7b5a29fc8f web: Fix regression in .Path
.Path is documented as removing /consoles/,
recent changes added in a leading / which broke
the provided console templates menu system.
2015-07-10 10:31:35 +01:00
Fabian Reinartz 8b53ffb0be Merge pull request #885 from prometheus/fabxc/retrace
retrieval: avoid race conditions
2015-07-09 18:20:04 -06:00
Fabian Reinartz b0efbf8c98 Merge pull request #886 from prometheus/fabxc/fixui
web/js: fix display error for vectors in console
2015-07-09 16:46:15 -06:00
Fabian Reinartz 9e599976c4 web/js: fix display error for vectors in console 2015-07-10 00:43:43 +02:00
Julius Volz a5093e08a0 Merge pull request #882 from prometheus/export-buildinfo
Export build information as metric.
2015-07-08 18:03:54 -06:00
Fabian Reinartz d53cc7935d retrieval: avoid race conditions 2015-07-08 21:27:52 +02:00
Julius Volz 6b3c7de727 Export build information as metric.
There is more build information that could be put into labels, but
Version, Revision, and Branch seemed like the right level of detail to
me.
2015-07-07 23:29:59 -06:00
Johannes 'fish' Ziemke 1d6d39a9ed Merge pull request #881 from sdurrheimer/glibc
New dockerfile using alpine-glibc base image and make
2015-07-07 13:07:38 -07:00
Steve Durrheimer 2b025c0f49 New dockerfile using alpine-glibc base image and make 2015-07-07 21:57:58 +02:00
Björn Rabenstein aea906123d Merge pull request #879 from prometheus/beorn7/makefile
Fix the race condition targets in the Makefile.
2015-07-07 00:18:26 +02:00
beorn7 b55a71a30c Fix the race condition targets in the Makefile.
Remove race_condition_run as the original run target has been removed, too.

Fix the race_condition_binary target.
2015-07-06 22:26:41 +02:00
Fabian Reinartz 86474f3b0e Merge pull request #876 from prometheus/fabxc/authhide
config: hide authentication credentials in String() output
2015-07-06 18:35:14 +02:00
Fabian Reinartz 02e06839f2 config: hide authentication credentials in String() output 2015-07-06 14:28:07 +02:00
Fabian Reinartz f515559a96 Merge pull request #872 from prometheus/fabxc/vecfix
promql: marshal sample pairs to JSON tuples.
2015-07-06 13:46:10 +02:00
Fabian Reinartz 75ba840d88 web/js: adjust Javascript to new response format 2015-07-06 13:09:26 +02:00
Fabian Reinartz 3d67d75935 promql: implement JSON array format for scalar and string 2015-07-06 13:09:26 +02:00
Fabian Reinartz 834cec44cf httputil: remove non-general helper functions 2015-07-06 10:30:00 +02:00
Fabian Reinartz 77e8983221 promql: add MarshalJSON method for SamplePair 2015-07-06 10:29:59 +02:00
Fabian Reinartz 92c20168c4 Merge pull request #874 from prometheus/fabxc/cfgfix
resolve rule files relative to config file.
2015-07-03 16:15:16 +02:00
Julius Volz d4f1402444 Merge pull request #873 from prometheus/global-url-tests
Add tests for "globalURL" template function.
2015-07-03 15:24:05 +02:00
Fabian Reinartz 7e615dcdf0 cmd/promtool: resolve rule files relative to config file 2015-07-03 15:10:37 +02:00
Fabian Reinartz feb8a03503 rules: load rule files relative to a base dir 2015-07-03 15:10:37 +02:00
Julius Volz 0f57b403a9 Add tests for "globalURL" template function. 2015-07-03 14:47:52 +02:00
Julius Volz fd7b4cae43 Merge pull request #864 from prometheus/configurable-scheme
Consolidate external reachability flags into one.
2015-07-03 14:39:39 +02:00
Julius Volz fcff35b43e Consolidate external reachability flags into one.
Besides fixing https://github.com/prometheus/prometheus/issues/805 by
making the entire externally reachable server URL configurable, this
adds tests for the "globalURL" template function and makes it easier to
test other such functions in the future.

This breaks the `web.Hostname` flag (and introduces `web.external-url`).
This flag is likely only used by few users, so I hope that's
justifiable.

Fixes https://github.com/prometheus/prometheus/issues/805
2015-07-03 13:39:10 +02:00
Fabian Reinartz 85100767f7 Merge pull request #870 from prometheus/fabxc/ctype
api/v1: fix response format tests
2015-07-02 14:21:35 +02:00
Fabian Reinartz 8f904d6a54 api/v1: fix response format tests 2015-07-02 14:12:26 +02:00
Julius Volz 78f4da8bf1 Merge pull request #859 from sdurrheimer/circleci
Add circleci yaml for Dockerfile test build
2015-07-02 14:06:07 +02:00
Fabian Reinartz 6b3d79cfce Merge pull request #868 from prometheus/fabxc/ctype
api/v1: fix Content-Type in response
2015-07-01 22:49:32 +02:00
Fabian Reinartz b36fa7ad61 api/v1: fix Content-Type in response 2015-07-01 22:47:25 +02:00
Brian Brazil 293f3808fb Merge pull request #866 from brian-brazil/zk-no-node
retrieval: Handle serverset node not existing.
2015-07-01 14:06:23 +01:00
Brian Brazil 3d268d681e retrieval: Handle serverset node not existing.
This stops configuration loading hanging if
the Znode doesn't exist, and retries until the
node does exist.
2015-07-01 13:56:31 +01:00
Fabian Reinartz 049a106821 Merge pull request #863 from prometheus/fabxc/alertstate
Preserve alert state, cleanup rules/
2015-06-30 18:53:07 +02:00
Fabian Reinartz f06cf664e1 rules: cleanup alerting test 2015-06-30 18:22:24 +02:00
Fabian Reinartz 9bd4f6d017 rules: preserve alert state across reloads. 2015-06-30 11:32:07 +02:00
Fabian Reinartz 4625485b84 rules: move rules*.go contents to manager*.go 2015-06-30 11:32:07 +02:00
Steve Durrheimer 016e00441f Add circleci yaml for Dockerfile test build 2015-06-26 11:00:15 +02:00
Fabian Reinartz 1e61b5e0cf Merge pull request #858 from prometheus/fabxc/rmtfix
cmd/prometheus: fix remote storage fanout
2015-06-26 01:49:38 +02:00
Fabian Reinartz b201725d1c cmd/prometheus: fix remote storage fanout 2015-06-26 01:34:51 +02:00
Julius Volz edc73318eb Merge pull request #857 from prometheus/container-builds
Enable container-based Travis builds.
2015-06-26 00:16:09 +02:00
Julius Volz fed2fcbe25 Enable container-based Travis builds.
See:

http://docs.travis-ci.com/user/workers/container-based-infrastructure/

Apparently disabling sudo is all that's needed.
2015-06-26 00:14:13 +02:00
Fabian Reinartz ab7473b970 Merge pull request #856 from sdurrheimer/fix-dockerfile
Fix Dockerfile with the removal of tools/rulechecker
2015-06-25 21:13:18 +02:00
Steve Durrheimer 785736c742 Fix Dockerfile with the removal of tools/rulechecker 2015-06-25 20:59:55 +02:00
Julius Volz 5176a480e6 Merge pull request #855 from prometheus/cut-0.15.0
Cut Prometheus 0.15.0rc1.
2015-06-25 19:22:32 +02:00