Commit graph

1541 commits

Author SHA1 Message Date
Björn Rabenstein b841ae41cd Merge pull request #604 from prometheus/beorn7/benchmark
Add benchmark for loading chunks and chunk descs.
2015-03-28 11:56:17 +01:00
Julius Volz 188aec0e6d Remove now-unused utility.Time type. 2015-03-27 23:45:11 +01:00
Julius Volz 33702da8a8 Use simple Now() func in API instead of utility.Time. 2015-03-27 23:43:47 +01:00
Julius Volz a5a553f1da Add initial HTTP API tests.
This covers the /query (instant query) endpoint for now. Others to
follow.
2015-03-27 21:37:55 +01:00
Julius Volz 3f2686d0b3 Remove unused fields from MetricsService. 2015-03-27 18:51:13 +01:00
Julius Volz c8a6b73bff Merge pull request #606 from prometheus/custom-instant-timestamps
Allow custom timestamps in instant query API.
2015-03-27 18:31:51 +01:00
Julius Volz c9b76def4c Report all query API HTTP errors in JSON format. 2015-03-27 16:48:03 +01:00
Julius Volz af832f7641 Merge pull request #613 from prometheus/version-0.13.0rc1
Cut Prometheus 0.13.0rc1.
2015-03-26 18:19:58 +01:00
Julius Volz cd82bcff34 Cut Prometheus 0.13.0rc1. 2015-03-24 17:59:55 +01:00
Julius Volz 5aae273026 Strip trailing slash in alertmanager URL.
Fixes https://github.com/prometheus/prometheus/issues/607
2015-03-23 19:17:42 +01:00
Julius Volz ca94e09a23 Merge pull request #610 from prometheus/fix-html-escaping
HTML-escape label values in Rickshaw hover-detail.
2015-03-23 00:25:34 +01:00
Julius Volz ea8a12db59 Also fix label HTML-escaping in console graphs. 2015-03-22 23:47:00 +01:00
Julius Volz 8f6ef04d70 HTML-escape label values in Rickshaw hover-detail. 2015-03-22 21:59:14 +01:00
Julius Volz df314ead84 Remove unnecessary "else" branch in query API. 2015-03-21 17:54:30 +01:00
Julius Volz a68b880c27 Add tests for new timestamp/duration functions.
...and fix the first bugs in them where they truncate precision below a
second.
2015-03-21 17:50:45 +01:00
Julius Volz cb816ea14a Improve timestamp/duration parsing in query API.
Don't handle `0` as a special timestamp value for "now" anymore, except
in the `QueryRange()` case, where existing API consumers still expect
`0` to mean "now".

Also, properly return errors now for malformed timestamp/duration
float values.
2015-03-21 16:58:45 +01:00
Julius Volz 8a4acefd66 Allow custom timestamps in instant query API. 2015-03-20 23:10:58 +01:00
Julius Volz c78436d707 Remove unused API time dependency injection. 2015-03-20 23:10:26 +01:00
beorn7 fbc44d8f95 Add benchmark for loading chunks and chunk descs. 2015-03-19 19:28:21 +01:00
Björn Rabenstein 942686427d Merge pull request #596 from prometheus/beorn7/ingestion-tweaks
Remove the ingestion channel.
2015-03-19 17:56:55 +01:00
Björn Rabenstein bf5fc720d3 Merge pull request #589 from prometheus/beorn7/persistence
Redesign series maintenance and chunk persistence.
2015-03-19 17:56:46 +01:00
Björn Rabenstein a3bd2f6eb8 Merge pull request #601 from prometheus/beorn7/rename-persist-queue
Rename persist queue len/cap to num/max chunks to persist.
2015-03-19 17:56:03 +01:00
Björn Rabenstein 5440422bca Merge pull request #603 from prometheus/beorn7/storage-resilience
Increase resilience of the storage against data corruption.
2015-03-19 17:55:37 +01:00
beorn7 6a21f73898 Fixes after review. 2015-03-19 17:54:59 +01:00
beorn7 51d35f4481 Instrument series maintenance durations. 2015-03-19 17:06:16 +01:00
Julius Volz 3c473c635b Merge pull request #600 from prometheus/fix-special-graph-values
More fixes around special values in graphs.
2015-03-19 16:55:54 +01:00
beorn7 12ae6e9203 Increase resilience of the storage against data corruption - step 4.
Step 4: Add a configurable sync'ing of series files after modification.
2015-03-19 15:58:02 +01:00
beorn7 11bd9ce1bd Increase resilience of the storage against data corruption - step 3.
Step 3: Remember the mtime of series files and make use of it to
detect series files that are not the one the checkpoint thinks they
are.
2015-03-19 15:44:11 +01:00
Julius Volz 6fa510d6fa More fixes around special values in graphs. 2015-03-19 14:26:25 +01:00
beorn7 e25cca823c Increase resilience of the storage against data corruption - step 2.
Step 2: Add a flag -storage.local.pedantic-checks to check every
series file.

Also, remove countPersistedHeadChunks channel, which is unused.
2015-03-19 12:06:15 +01:00
beorn7 3d8d8928be Increase resilience of the storage against data corruption - step 1.
Step 1: Admit the problem by turning the various "panic"s into logged
errors, followed by marking the persistence as dirty.
2015-03-19 11:49:18 +01:00
beorn7 da7c0461c6 Rename persist queue len/cap to num/max chunks to persist.
Remove deprecated flag storage.incoming-samples-queue-capacity.
2015-03-18 19:36:41 +01:00
beorn7 a075900f9a Merge branch 'beorn7/persistence' into beorn7/ingestion-tweaks 2015-03-18 19:09:31 +01:00
beorn7 1d8fc7d56f Change minor things after code review. 2015-03-18 19:09:07 +01:00
beorn7 1a86dd3893 Merge branch 'master' into beorn7/persistence 2015-03-18 18:57:55 +01:00
beorn7 fa1935a644 Remove /api/targets call and do not show job and instance labels on status.
/api/targets was undocumented and never used and also broken.

Showing instance and job labels on the status page (next to targets)
does not make sense as those labels are set in an obvious way.

Also add a doc comment to TargetStateToClass.
2015-03-18 18:53:43 +01:00
Julius Volz b68ecdd451 Merge pull request #599 from fabxc/fabxc/logexp
Add ln, log2, log10 and exp functions
2015-03-16 19:42:56 +01:00
Fabian Reinartz 624f27f4b6 Add ln, log2, log10 and exp functions to the query language. 2015-03-16 18:26:19 +01:00
beorn7 3f81622628 Merge branch 'master' into beorn7/persistence 2015-03-16 15:21:31 +01:00
Björn Rabenstein 36531b5278 Merge pull request #593 from prometheus/beorn7/chunk-encoding
Improve various things around chunk encoding.
2015-03-16 14:53:58 +01:00
Julius Volz 60c7748a17 Merge pull request #598 from prometheus/binop-special-float-values
Fix special value handling in division and modulo.
2015-03-16 14:52:45 +01:00
Julius Volz b2651027fc Fix special value handling in division and modulo.
This fixes https://github.com/prometheus/prometheus/issues/597
2015-03-16 14:23:40 +01:00
beorn7 be11cb2b07 Remove the sample ingestion channel.
The one central sample ingestion channel has caused a variety of
trouble. This commit removes it. Targets and rule evaluation call an
Append method directly now. To incorporate multiple storage backends
(like OpenTSDB), storage.Tee forks the Append into two different
appenders.

Note that the tsdb queue manager had its own queue anyway. It was a
queue after a queue... Much queue, so overhead...

Targets have their own little buffer (implemented as a channel) to
avoid stalling during an http scrape. But a new scrape will only be
started once the old one is fully ingested.

The contraption of three pipelined ingesters was removed. A Target is
an ingester itself now. Despite more logic in Target, things should be
less confusing now.

Also, remove lint and vet warnings in ast.go.
2015-03-15 14:08:22 +01:00
beorn7 0056eaeb4f Redesign series maintenance and chunk persistence. 2015-03-14 22:05:23 +01:00
beorn7 5bea942d8e Improve various things around chunk encoding.
A number of mostly minor things:

- Rename chunk type -> chunk encoding.

- After all, do not carry around the chunk encoding to all parts of
  the system, but just have one place where the encoding for new
  chunks is set based on the flag. The new approach has caveats as
  well, but the polution of so many method signatures is worse.

- Use the default chunk encoding for new chunks of existing
  series. (Previously, only new _series_ would get chunks with the
  default encoding.)

- Use an enum for chunk encoding. (But keep the version number for the
  flag, for reasons discussed previously.)

- Add encoding() to the chunk interface (so that a chunk knows its own
  encoding - no need to have that in a different top-level function).

- Got rid of newFollowUpChunk (which would keep the existing encoding
  for all chunks of a time series). Now only use newChunk(), which
  will create a chunk encoding according to the flag.

- Simplified transcodeAndAdd.

- Reordered methods of deltaEncodedChunk and doubleDeltaEncoded chunk
  to match the order in the chunk interface.

- Only transcode if the chunk is not yet half full. If more than half
  full, add a new chunk instead.
2015-03-14 19:03:20 +01:00
Julius Volz 6b0ef506f3 Merge pull request #595 from prometheus/show-special-values-as-gaps
Show special float values as gaps.
2015-03-14 03:29:58 +01:00
Julius Volz 91da12ad6a Show special float values as gaps. 2015-03-13 21:08:22 +01:00
Björn Rabenstein c63dfbfab5 Merge pull request #592 from prometheus/beorn7/fix
Remove hopelessly outdated tutorial.
2015-03-13 16:14:15 +01:00
beorn7 33ef2e411b Remove hopelessly outdated tutorial. 2015-03-13 15:50:57 +01:00
Björn Rabenstein d797546b2d Merge pull request #590 from prometheus/beorn7/fix
Sync the checkpoints.
2015-03-11 23:39:07 +01:00