Commit graph

891 commits

Author SHA1 Message Date
Matt T. Proud a73f061d3c Persist solely Protocol Buffers.
An design question was open for me in the beginning was whether to
serialize other types to disk, but Protocol Buffers quickly won out,
which allows us to drop support for other types.  This is a good
start to cleaning up a lot of cruft in the storage stack and
can let us eventually decouple the various moving parts into
separate subsystems for easier reasoning.

This commit is not strictly required, but it is a start to making
the rest a lot more enjoyable to interact with.
2013-06-08 11:02:35 +02:00
juliusv 25bd356aac Merge pull request #289 from prometheus/feature/rule-strings
Implement Stringer interface for rules and all their children.
2013-06-07 07:00:46 -07:00
Julius Volz 74cb676537 Implement Stringer interface for rules and all their children. 2013-06-07 15:54:32 +02:00
juliusv 95400cb785 Merge pull request #290 from prometheus/fix/go-vet
Minor "go tool vet" cleanups
2013-06-07 06:52:48 -07:00
Julius Volz 558281890b Minor "go tool vet" cleanups 2013-06-07 15:34:41 +02:00
juliusv 615972dd01 Merge pull request #288 from prometheus/fix/curator/fallthrough-compaction-ordering
Fix fallthrough compaction value ordering.
2013-06-07 05:46:15 -07:00
Matt T. Proud 86f63b078b Fix fallthrough compaction value ordering.
We discovered a regression whereby data chunks could be appended out
of order if the fallthrough case was hit.
2013-06-07 14:41:00 +02:00
Bernerd Schaefer b12ddbbc75 Merge pull request #271 from prometheus/feature/static-user-assets
Support user-provided static asset directory
2013-06-07 03:22:40 -07:00
Bernerd Schaefer f7a2436665 Include link to user dashboard when provided 2013-06-07 11:17:17 +02:00
Bernerd Schaefer 1d794896ac Support user-provided static asset directory
[fix #159]
2013-06-07 10:25:12 +02:00
Matt T. Proud 757ab938db Merge pull request #286 from prometheus/optimize/avoid-stale-series
Use LRU cache to avoid querying stale timeseries
2013-06-06 22:21:25 -07:00
Julius Volz 7b9ee95030 Minor LevelDB watermark handling cleanups. 2013-06-06 23:56:31 +02:00
Julius Volz 84741b227d Use LRU cache to avoid querying stale series. 2013-06-06 23:56:19 +02:00
Julius Volz f98853d7b7 Fix type error in watermark list handling. 2013-06-06 23:56:14 +02:00
Matt T. Proud 6b2be5024e Merge pull request #279 from prometheus/refactor/storage-semaphore
Cleanups in tiered storage and apply semaphores.
2013-06-06 09:16:53 -07:00
Matt T. Proud ef1d5fd8a2 Introduce semaphores for tiered storage.
This commit wraps the tiered storage access componnets in semaphores,
since we can handle several concurrent memory reads.
2013-06-06 18:16:18 +02:00
Matt T. Proud 0d46f6b42a Merge pull request #285 from prometheus/fix/storage/states
Add storage state guards and transition callbacks.
2013-06-06 03:41:18 -07:00
Matt T. Proud 819045541e Code Review: Make double-drain a panic. 2013-06-06 12:40:06 +02:00
Matt T. Proud e217a9fb41 Race Work: Make memory arena locks more coarse.
We can optimize these as needed later.
2013-06-06 12:08:20 +02:00
Matt T. Proud beaaf386e7 Add storage state guards and transition callbacks.
To ensure that we access tiered storage in the proper way, we have
guards now.
2013-06-06 11:52:09 +02:00
Matt T. Proud abb5353ade Merge pull request #283 from prometheus/feature/storage/consult-watermark
Include LRU cache for fingerprint watermarks.
2013-06-06 02:33:45 -07:00
Matt T. Proud 52a1e50dda Merge pull request #284 from prometheus/refactor/storage/notify-when-available
Ensure database access waits until it is started.
2013-06-06 02:33:27 -07:00
Matt T. Proud 2c3df44af6 Ensure database access waits until it is started.
This commit introduces a channel message to ensure serving
state has been reached with the storage stack before anything attempts
to use it.
2013-06-06 10:42:21 +02:00
Matt T. Proud cbe2f3a7b1 Include LRU cache for fingerprint watermarks. 2013-06-06 10:13:18 +02:00
juliusv 115437ad1f Merge pull request #278 from prometheus/debug/query-timings
Add debug timers to instant and range queries.
2013-06-05 09:41:51 -07:00
Julius Volz 51689d965d Add debug timers to instant and range queries.
This adds timers around several query-relevant code blocks. For now, the
query timer stats are only logged for queries initiated through the UI.
In other cases (rule evaluations), the stats are simply thrown away.

My hope is that this helps us understand where queries spend time,
especially in cases where they sometimes hang for unusual amounts of
time.
2013-06-05 18:32:54 +02:00
Matt T. Proud c594d18f54 Merge pull request #282 from prometheus/fix/race/targetpool
Fix race conditions in TargetPool.
2013-06-05 07:35:16 -07:00
Matt T. Proud d4db3cf00b Code Review: Last replacement wins. 2013-06-05 16:29:05 +02:00
Matt T. Proud 9cde48754b Fix race conditions in TargetPool.
The race condition detector found a few anomalies whereby a
TargetPool could be read during a mutation.  This has been fixed.
2013-06-05 14:44:20 +02:00
Matt T. Proud d169e1d282 Merge pull request #281 from prometheus/feature/build/race-condition-binary
Include race condition runner.
2013-06-05 05:10:35 -07:00
Matt T. Proud 2ee6e32847 Include race condition runner. 2013-06-05 14:07:40 +02:00
juliusv 95adf1958b Merge pull request #280 from prometheus/cleanup/rules-concurrency
Put RuleManager concurrency in hands of caller, fix races.
2013-06-05 05:01:19 -07:00
Julius Volz adb87816f4 Put RuleManager concurrency in hands of caller, fix races. 2013-06-05 13:56:56 +02:00
Matt T. Proud 9215580488 Include race condition binary target.
The race condition binary target is special in that it needs to
explicitly link against the dependent libraries and recompile the CGO
bindings.  Because of this, we have a new build target that produces
these binaries.
2013-06-05 13:56:15 +02:00
juliusv 6c36beb764 Merge pull request #269 from prometheus/feature/view-tracing
Conditionalize disk initializations.
2013-06-04 04:25:16 -07:00
Matt T. Proud 8339a189cb Code Review: Fix seriesPresent scope.
The seriesPresent scope should be constrained to the scope of a
scanJob, since this is keyed to given series.
2013-06-04 13:16:59 +02:00
Matt T. Proud fe41ce0b19 Conditionalize disk initializations.
This commit conditionalizes the creation of the diskFrontier and
seriesFrontier along with the iterator such that they are provisioned
once something is actually required from disk.
2013-06-04 12:53:57 +02:00
juliusv 97736a030a Merge pull request #277 from prometheus/feature/exporter-prefix
Prepend "exporter_" to labels that already exist in exported metrics.
2013-06-03 01:46:17 -07:00
Julius Volz dcfd09c801 Prepend "exporter_" to labels that already exist in exported metrics.
If the metrics exported by a process already contain any of a target's
base labels (such as "job" or "instance", but also any manually assigned
target-group label), don't overwrite that label, but instead add a new
label consisting of the original label name prepended with "exporter_".
This is to accomodate intermediate exporter jobs, which might indicate
e.g. the jobs and instances for which they are exporting data.
2013-06-02 22:48:46 +02:00
juliusv d828b9c835 Merge pull request #276 from prometheus/fix/delta-noncounter-resets
Fix handling of negative deltas for non-counter values.
2013-05-29 02:26:20 -07:00
Julius Volz 138334fb31 Fix handling of negative deltas for non-counter values. 2013-05-28 17:36:53 +02:00
Julius Volz a8468a2e5e Fix reversed disk flush cutoff behavior. 2013-05-28 16:14:30 +02:00
Julius Volz eb1f956909 Revert "Revert "Ensure that all extracted samples are added to view.""
This reverts commit 4b30fb86b4.
2013-05-28 14:36:03 +02:00
juliusv 03addcd1a7 Merge pull request #273 from prometheus/fix/delta-handling
Fix handling of empty ranges in delta
2013-05-28 05:35:31 -07:00
Julius Volz 66d4620061 Don't assume delta has at least one sample per vector element. 2013-05-28 14:02:36 +02:00
Julius Volz 21c3be0814 Skip any empty range/boundary elements, not only nil ones. 2013-05-28 14:02:08 +02:00
Matt T. Proud 20d49ea169 Merge pull request #272 from prometheus/feature/status/uptime
Include uptime in the status console.
2013-05-24 02:02:28 -07:00
Matt T. Proud 0d2d6e9a27 Include uptime in the status console.
In order to help corroborate whether a Prometheus instance has
flapped until meta-monitoring is in-place, we ought to provide the
instance's start time in the console to aid in diagnostics.
2013-05-24 10:44:34 +02:00
Matt T. Proud c10780c966 Introduce telemetry for rule evaluator durations.
This commit adds telemetry for the Prometheus expression rule
evaluator, which will enable meta-Prometheus monitoring of customers
to ensure that no instance is falling behind in answering routine
queries.

A few other sundry simplifications are introduced, too.
2013-05-23 21:29:27 +02:00
Johannes 'fish' Ziemke 8507c58bf2 Fix filename in Makefile. 2013-05-23 16:54:21 +02:00