Matt T. Proud
52664f701a
Hot Fix: Use extracted time.
2013-08-06 14:18:02 +02:00
Matt T. Proud
38dac35b3e
Code Review: Short name consistency.
2013-08-06 12:38:35 +02:00
Matt T. Proud
a00f18d78b
Code Review: Manual re-alignment.
2013-08-06 12:23:06 +02:00
Matt T. Proud
cc989c68e1
Replace direct curation table access with wrapper.
2013-08-06 12:02:52 +02:00
Matt T. Proud
07ac921aec
Code Review: First pass.
2013-08-05 17:31:49 +02:00
Matt T. Proud
d8792cfd86
Extract HighWatermarking.
...
Clean up the rest.
2013-08-05 11:03:03 +02:00
Matt T. Proud
f4669a812c
Extract index storage into separate types.
2013-08-04 15:31:52 +02:00
Matt T. Proud
772d3d6b11
Consolidate LevelDB storage construction.
...
There are too many parameters to constructing a LevelDB storage
instance for a construction method, so I've opted to take an
idiomatic approach of embedding them in a struct for easier
mediation and versioning.
2013-08-03 17:25:03 +02:00
Julius Volz
e3415e953f
Add notifications telemetry.
2013-07-31 12:40:56 +02:00
juliusv
927435d68e
Merge pull request #333 from prometheus/round-time
...
Round time to nearest second in memory storage.
2013-07-16 05:52:31 -07:00
Julius Volz
5d88e8cc45
Round time to nearest second in memory storage.
...
When samples get flushed to disk, they lose sub-second precision anyways. By
already dropping sub-second precision, data fetched from memory vs. disk will
behave the same. Later, we should consider also storing a more compact
representation than time.Time in memory if we're not going to use its full
precision.
2013-07-16 14:51:54 +02:00
Matt T. Proud
f7704af4f8
Code Review: Formatting comments.
2013-07-15 15:12:01 +02:00
Julius Volz
a76a797f3f
Always treat series without watermarks as too old.
...
Current series always get watermarks written out upon append now. This
drops support for old series without any watermarks by always reporting
them as too old (stale) during queries.
2013-06-27 17:10:06 +02:00
Julius Volz
d2da21121c
Implement getValueRangeAtIntervalOp for faster range queries.
...
This also short-circuits optimize() for now, since it is complex to implement
for the new operator, and ops generated by the query layer already fulfill the
needed invariants. We should still investigate later whether to completely
delete operator optimization code or extend it to support
getValueRangeAtIntervalOp operators.
2013-06-26 18:10:36 +02:00
Julius Volz
e7f049c85b
Fix expunging of empty memory series (loop var pointerization bug)
2013-06-26 18:00:47 +02:00
Julius Volz
baa5b07829
Fix condition for dropping empty memory series.
2013-06-25 17:57:35 +02:00
Matt T. Proud
30b1cf80b5
WIP - Snapshot of Moving to Client Model.
2013-06-25 15:52:42 +02:00
juliusv
42198c1f1c
Merge pull request #311 from prometheus/fix/watermarking/on-first-write
...
Ensure new metrics are watermarked early.
2013-06-25 03:13:58 -07:00
Matt T. Proud
b811ccc161
Disable paranoid checks and expose max FDs option.
...
We shouldn't need paranoid checks now. We also shouldn't need
too many FDs being open due to rule evaluator hitting in-memory
values stream.
2013-06-24 12:10:14 +02:00
Matt T. Proud
4137c75523
Shrink default LRU cache sizes.
...
Observing Prometheus in production confirms we can lower these values
safely.
2013-06-24 12:09:16 +02:00
Matt T. Proud
ecb9c7bb9d
Code Review: Swap ordering of elements.
2013-06-21 21:17:50 +02:00
Matt T. Proud
5daa0a09ea
Code Review: Swap ordering of watermark getting.
...
A test for Julius.
2013-06-21 18:34:08 +02:00
Matt T. Proud
ee840904d2
Code Review: !Before -> After.
2013-06-21 18:26:40 +02:00
Matt T. Proud
2d5de99fbf
Regard in-memory series as new.
...
This commit ensures that series that exist only in-memory and not
on-disk are not regarded as too old for operation exclusion.
2013-06-21 18:26:39 +02:00
Matt T. Proud
81c406630a
Merge pull request #312 from prometheus/fix/sample-append-logging
...
Log correct sample count when appending to disk.
2013-06-21 08:55:51 -07:00
Matt T. Proud
a1a23fbaf8
Ensure new metrics are watermarked early.
...
With the checking of fingerprint freshness to cull stale metrics
from queries, we should write watermarks early to aid in more
accurate responses.
2013-06-21 16:38:46 +02:00
Julius Volz
ba8c122147
Log correct sample count when appending to disk.
2013-06-21 12:23:27 +02:00
Julius Volz
f2b4067b7b
Speedup and clean up operation optimization.
2013-06-20 03:01:13 +02:00
Julius Volz
008bc09da8
Move check for empty memory series to separate method.
2013-06-19 14:19:53 +02:00
Julius Volz
16364eda37
Drop empty series from memory after flushing.
2013-06-19 12:14:23 +02:00
Julius Volz
71199e2c93
Cache disk fingerprint->metric lookups in memory.
2013-06-18 14:08:58 +02:00
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
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
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
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
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
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
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
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
Julius Volz
a8468a2e5e
Fix reversed disk flush cutoff behavior.
2013-05-28 16:14:30 +02:00