Commit graph

3274 commits

Author SHA1 Message Date
Björn Rabenstein 096a2ef200 Merge pull request #1555 from prometheus/beorn7/cd
Checkpoint fingerprint mappings only upon shutdown
2016-04-15 01:05:32 +02:00
beorn7 a90d645378 Checkpoint fingerprint mappings only upon shutdown
Before, we checkpointed after every newly detected fingerprint
collision, which is not a problem as long as collisions are
rare. However, with a sufficient number of metrics or particular
nature of the data set, there might be a lot of collisions, all to be
detected upon the first set of scrapes, and then the checkpointing
after each detection will take a quite long time (it's O(n²),
essentially).

Since we are rebuilding the fingerprint mapping during crash recovery,
the previous, very conservative approach didn't even buy us
anything. We only ever read from the checkpoint file after a clean
shutdown, so the only time we need to write the checkpoint file is
during a clean shutdown.
2016-04-15 01:03:28 +02:00
Fabian Reinartz f6c29843fb Merge pull request #1552 from prometheus/link-to-documentation
Add link to prometheus.io in the README
2016-04-14 10:38:06 +02:00
Tobias Schmidt 92d5054c67 Add link to prometheus.io in the README 2016-04-13 22:23:33 -04:00
Julius Volz 4a372fdcfb Merge pull request #1554 from jonboulle/master
Add missing Apache license headers + travis check
2016-04-13 16:36:41 +02:00
Jonathan Boulle 096219d535 Add check_style to travis configuration 2016-04-13 16:09:52 +02:00
Jonathan Boulle 38098f8c95 Add missing license headers
Prometheus is Apache 2 licensed, and most source files have the
appropriate copyright license header, but some were missing it without
apparent reason. Correct that by adding it.
2016-04-13 16:08:22 +02:00
Jonathan Boulle 1c8262be12 Add script to check for missing license headers
Also adds a `check_license` target to the Makefile to run the script
2016-04-13 16:08:14 +02:00
Fabian Reinartz 322ad49b01 Merge branch 'release-0.18' 2016-04-09 12:56:13 +02:00
Fabian Reinartz b9853cacba Add CHANGE on alerting rule syntax 2016-04-09 12:55:49 +02:00
Fabian Reinartz a18639dc2d Merge pull request #1454 from prometheus/beorn7/fix-test
Give TestEvictAndLoadChunkDescs more time to actually evict
2016-04-08 14:58:01 +02:00
Fabian Reinartz 0520414000 Merge pull request #1535 from prometheus/fabxc/0.18.0rc1_changelog
Add 0.18.0rc1 changelog
2016-04-07 16:45:10 +02:00
Fabian Reinartz 6d1a756613 Add 0.18.0rc1 changelog 2016-04-07 16:42:33 +02:00
Fabian Reinartz 8ce4cfe858 Bump version to 0.18.0rc1 2016-04-07 15:43:09 +02:00
Seth Miller 79fe798e67 Add vendoring for Azure discovery 2016-04-06 22:48:01 -05:00
Seth Miller 0988e3b937 Add support for Azure discovery
This change adds the ability to do target discovery with Microsoft's Azure platform.
2016-04-06 22:47:02 -05:00
Brian Brazil 3683eaf205 Merge pull request #1534 from prometheus/fabxc/gover
Include goversion in build_info metric
2016-04-06 15:40:15 +01:00
Fabian Reinartz f3e55cba1d Include goversion in build_info metric 2016-04-06 16:35:20 +02:00
Julius Volz 17079952c1 Merge pull request #1531 from prometheus/revert-1530-simplify-runtime-version
Revert "Simplify runtime version code more"
2016-04-06 12:08:09 +02:00
Fabian Reinartz 77f5b9d268 Revert "Simplify runtime version code more" 2016-04-06 08:39:51 +02:00
Julius Volz cb690a2d23 Merge pull request #1530 from prometheus/simplify-runtime-version
Simplify runtime version code more
2016-04-06 00:54:20 +02:00
Julius Volz 17ece74511 Simplify runtime version code more
It's no longer a build-time injected variable (as the comment above its
block indicates), so move it to the map below.
2016-04-05 23:57:22 +02:00
Fabian Reinartz 2c19334715 Merge pull request #1529 from prometheus/fabxc/goversion
Use runtime.Version()
2016-04-05 23:23:32 +02:00
Fabian Reinartz da701f9d13 Merge pull request #1527 from prometheus/fabxc/fixrace
Fix potential race in ctx intialization
2016-04-05 22:41:01 +02:00
Fabian Reinartz 9f5ae819e2 Use runtime.Version() 2016-04-05 22:38:49 +02:00
Fabian Reinartz 769389e559 Fix potential race in ctx intialization 2016-04-05 20:27:31 +02:00
Fabian Reinartz 9ee91062c4 Merge pull request #1522 from prometheus/unless-operator
Implement relative complement set operator "unless"
2016-04-04 21:36:17 +02:00
Tobias Schmidt 8cc86f25c0 Implement relative complement set operator "unless"
The `unless` set operator can be used to return all vector elements from
the LHS which do not match the elements on the RHS. A use case is to
return all metrics for nodes which do not have a specific role:

    node_load1 unless on(instance) chef_role{role="app"}
2016-04-04 01:29:44 -04:00
Brian Brazil 6453f64000 Merge pull request #1523 from prometheus/cleanup
Remove unused code leftovers
2016-04-03 01:28:44 +01:00
Tobias Schmidt e82ef154ee Remove unused code leftovers 2016-04-02 20:20:55 -04:00
Tobias Schmidt 4c3dc25e35 Fix whitespace in promql test data 2016-04-02 18:25:26 -04:00
Brian Brazil 6aef22d68a Merge pull request #1516 from prometheus/fabxc/rune
Use ContainsRune
2016-04-01 09:39:25 +01:00
Fabian Reinartz 235e6c554b Use ContainsRune 2016-04-01 10:36:17 +02:00
Brian Brazil eb183ce154 Merge pull request #1510 from prometheus/beorn7/fix
Work around compiler bug
2016-03-29 16:30:02 +01:00
beorn7 d09ca03e10 Work around compiler bug
Benchmarks don't show any significant changes.
2016-03-29 17:05:28 +02:00
Brian Brazil 24a3ad3d16 Merge pull request #1485 from eliothedeman/master
Adds holt-winters query function
2016-03-28 20:53:01 +01:00
eliothedeman 1543ef92b2 Adds holt-winters query function 2016-03-28 15:42:27 -04:00
Fabian Reinartz 15ffd6b282 Update Fabian's email address 2016-03-24 17:02:57 +01:00
Björn Rabenstein d43f380cf2 Merge pull request #1502 from prometheus/beorn7/storage7
Beorn7/storage7
2016-03-24 14:23:16 +01:00
beorn7 507f550cd4 Merge branch 'master' into beorn7/storage7 2016-03-24 14:21:28 +01:00
Björn Rabenstein 2a62a7c702 Merge pull request #1491 from prometheus/beorn7/storage8
Gorilla-style chunks
2016-03-24 14:19:20 +01:00
Brian Brazil 070d663948 Merge pull request #1501 from prometheus/and-dummy
Pull in fix for and with empty labelsets
2016-03-24 12:52:28 +00:00
Brian Brazil da5311a35f Update common dependency to pick up label fix for #1489 2016-03-24 12:46:53 +00:00
beorn7 865d16f870 Rename Gorilla into varbit 2016-03-23 16:30:41 +01:00
Brian Brazil a9168e60c4 Merge pull request #1497 from prometheus/fabxc/alerts
Remove old alerting syntax
2016-03-23 09:30:18 +00:00
Fabian Reinartz ab3d7a0ec0 Remove old alerting syntax 2016-03-23 10:19:00 +01:00
Julius Volz d3b53bd7f0 Fix comment about Graphite mapping of dimensions. 2016-03-23 00:38:32 +01:00
beorn7 4b574e8a61 Switch chunk encoding to type 2 where it was hardcoded type 1 before
The chunk encoding was hardcoded there because it mostly doesn't
matter what encoding is chosen in that test. Since type 1 is
battle-hardened enough, I'm switching to type 2 here so that we can
catch unexpected problems as a byproduct. My expectation is that the
chunk encoding doesn't matter anyway, as said, but then "unexpected
problems" contains the word "unexpected".
2016-03-20 23:32:20 +01:00
beorn7 c72979e3ed Remove a redundancy from Gorilla-style chunks
So far, the last sample in a chunk was saved twice. That's required
for adding more samples as we need to know the last sample added to
add more samples without iterating through the whole chunk. However,
once the last sample was added to the chunk before it's full, there is
no need to save it twice. Thus, the very last sample added to a chunk
can _only_ be saved in the header fields for the last sample. The
chunk has to be identifiable as closed, then. This information has
been added to the flags byte.
2016-03-20 23:09:48 +01:00
beorn7 b6dbb826ae Improve fuzz testing and fix a bug exposed
This improves fuzz testing in two ways:

(1) More realistic time stamps. So far, the most common case in
practice was very rare in the test: Completely regular increases of
the timestamp.

(2) Verify samples by scanning through the whole relevant section of
the series.

For Gorilla-like chunks, this showed two things:

(1) With more regularly increasing time stamps, BenchmarkFuzz is
essentially as fast as with the traditional chunks:

```
BenchmarkFuzzChunkType0-8              2         972514684 ns/op        83426196 B/op    2500044 allocs/op
BenchmarkFuzzChunkType1-8              2         971478001 ns/op        82874660 B/op    2512364 allocs/op
BenchmarkFuzzChunkType2-8              2         999339453 ns/op        76670636 B/op    2366116 allocs/op
```

(2) There was a bug related to when and how the chunk footer is
overwritten to make use for the last sample. This wasn't exposed by
random access as the last sample of a chunk is retrieved from the
values in the header in that case.
2016-03-20 17:21:28 +01:00