Julius Volz
74cb676537
Implement Stringer interface for rules and all their children.
2013-06-07 15:54:32 +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
Matt T. Proud
fe5c70fc61
Merge pull request #270 from prometheus/fix/expression/index-error
...
Revert "Ensure that all extracted samples are added to view."
2013-05-23 06:27:27 -07:00
Matt T. Proud
4b30fb86b4
Revert "Ensure that all extracted samples are added to view."
...
This reverts commit 008314b5a8
. By
running an automated git bisection described in
https://gist.github.com/matttproud-soundcloud/22a371a8d2cba382ea64
this commit was found.
2013-05-23 13:36:22 +02:00
Matt T. Proud
9553971239
Merge pull request #267 from prometheus/fix/delta-boundaries
...
Use GetBoundaryValues() for non-counter deltas.
2013-05-22 10:23:54 -07:00
Julius Volz
750f862d9a
Use GetBoundaryValues() for non-counter deltas.
2013-05-22 19:13:47 +02:00
juliusv
cc07b9ce74
Merge pull request #268 from prometheus/fix/value-extraction
...
Interval value extraction fixes and optimizations.
2013-05-22 09:24:46 -07:00
Julius Volz
f2b48b8c4a
Make getValuesAtIntervalOp consume all chunk data in one pass.
...
This is mainly a small performance improvement, since we skip past the last
extracted time immediately if it was also the last sample in the chunk, instead
of trying to extract non-existent values before the chunk end again and again
and only gradually approaching the end of the chunk.
2013-05-22 18:14:45 +02:00
Julius Volz
83d60bed89
extractValuesAroundTime() code simplification.
2013-05-22 18:14:45 +02:00
Julius Volz
008314b5a8
Ensure that all extracted samples are added to view.
...
The current behavior only adds those samples to the view that are extracted by
the last pass of the last processed op and throws other ones away. This is a
bug. We need to append all samples that are extracted by each op pass.
This also makes view.appendSamples() take an array of samples.
2013-05-22 18:14:37 +02:00
Matt T. Proud
556be84c73
Merge pull request #265 from prometheus/feature/memory-arena-simplification
...
Move In-Memory Arena Away from Skiplist
2013-05-22 09:10:52 -07:00