Commit Graph

828 Commits

Author SHA1 Message Date
Julius Volz
d67e4b9131 Address outstanding comments from PR/47 and other cleanups. 2013-02-07 11:38:01 +01:00
Julius Volz
2659304380 Add interface for getting all metrics from a MetricsPersistence. 2013-02-06 17:06:39 +01:00
Julius Volz
e23ac0adbd Implement bulk iteration/operation storage interface. 2013-02-06 17:05:23 +01:00
Matt T. Proud
ec3e98b365 Include Snappy in Runtime.
Snappy should have been explicitly included in the runtime, for I
erroneously thought that LevelDB bundled this into its runtime as-is.
It turns out that this assumption is wrong, and I thought we had
Snappy compression support all-along.
2013-02-01 13:35:07 +01:00
Matt T. Proud
79ba248bbe Make LevelDB operating modes invocation-time conf.
Presently our use of LevelDB and its operating modes are hardcoded
into the storage stack.  This pull request decouples this and
re-exposes this through flags.  We can now perform benchmarking
and remedial tuning.
2013-01-27 20:28:37 +01:00
Matt T. Proud
ea54751431 Update import paths to new location.
This repository moved from matttproud/prometheus to
prometheus/prometheus, and all import paths need to be updated.
2013-01-27 18:49:45 +01:00
Matt T. Proud
f2ded515b7 Support versioned telemetry providers.
client_golang was updated to support full label-oriented telemetry,
which introduced interface incompatibilities with the previous
version of Prometheus.  To alleviate this, a general fetching and
processing dispatching system has been created, which discriminates
and processes according to the version of input.
2013-01-27 17:45:50 +01:00
Matt T. Proud
88d15373c5 Upgrade Prometheus to new API. 2013-01-23 17:18:45 +01:00
Julius Volz
6f937ee032 Add preliminary metric docstrings and empty base labels. 2013-01-18 01:37:50 +01:00
Matt T. Proud
d9b165220e `GetFingerprintsForLabelSet` uses intersection.
This implementation needs to be cleaned up considerably, but it
should hopefully provide some breathing room.  Ultimately this will
be extracted out of the storage layer---specifically the LevelDB
hierarchy---to interface with a generic set of abstractions for a
storage system, but this will be where it remains for now.
2013-01-13 17:14:30 +01:00
Matt T. Proud
ac438e51f6 Debug corner-case seeking anomaly. 2013-01-07 11:23:09 +01:00
Matt T. Proud
be9b7942c1 Fix Stale. Pol. support in GetValueAtTime. 2013-01-06 18:36:05 +01:00
Matt T. Proud
52f52a7ee2 Include nascent instrumentation of stack. 2013-01-04 23:32:46 +01:00
Matt T. Proud
4f7adbbe7d Reduce work level for stochastic tests.
The LevelDB stochastic tests could take a long time.

Original:
```
Matt:prometheus mtp$ make test
make -C model
protoc --go_out=generated/ data.proto
go build ./...
go test ./...
warning: building out-of-date packages:
	github.com/matttproud/golang_instrumentation/maths
	github.com/matttproud/golang_instrumentation/utility
	github.com/matttproud/golang_instrumentation/metrics
	github.com/matttproud/golang_instrumentation
installing these packages with 'go test -i ./...' will speed future tests.

?   	github.com/matttproud/prometheus	[no test files]
?   	github.com/matttproud/prometheus/coding	[no test files]
ok  	github.com/matttproud/prometheus/coding/indexable	0.012s
?   	github.com/matttproud/prometheus/model	[no test files]
?   	github.com/matttproud/prometheus/model/generated	[no test files]
?   	github.com/matttproud/prometheus/retrieval	[no test files]
?   	github.com/matttproud/prometheus/storage/metric	[no test files]
ok  	github.com/matttproud/prometheus/storage/metric/leveldb	70.800s
?   	github.com/matttproud/prometheus/storage/raw	[no test files]
?   	github.com/matttproud/prometheus/storage/raw/index	[no test files]
ok  	github.com/matttproud/prometheus/storage/raw/index/leveldb	0.012s
ok  	github.com/matttproud/prometheus/storage/raw/leveldb	0.016s
ok  	github.com/matttproud/prometheus/utility	0.012s
?   	github.com/matttproud/prometheus/utility/test	[no test files]
```

to

```
Matt:prometheus mtp$ make test
make -C model
protoc --go_out=generated/ data.proto
go build ./...
go test ./...
warning: building out-of-date packages:
	github.com/matttproud/golang_instrumentation/maths
	github.com/matttproud/golang_instrumentation/utility
	github.com/matttproud/golang_instrumentation/metrics
	github.com/matttproud/golang_instrumentation
installing these packages with 'go test -i ./...' will speed future tests.

?   	github.com/matttproud/prometheus	[no test files]
?   	github.com/matttproud/prometheus/coding	[no test files]
ok  	github.com/matttproud/prometheus/coding/indexable	0.011s
?   	github.com/matttproud/prometheus/model	[no test files]
?   	github.com/matttproud/prometheus/model/generated	[no test files]
?   	github.com/matttproud/prometheus/retrieval	[no test files]
?   	github.com/matttproud/prometheus/storage/metric	[no test files]
ok  	github.com/matttproud/prometheus/storage/metric/leveldb	2.158s
?   	github.com/matttproud/prometheus/storage/raw	[no test files]
?   	github.com/matttproud/prometheus/storage/raw/index	[no test files]
ok  	github.com/matttproud/prometheus/storage/raw/index/leveldb	0.013s
ok  	github.com/matttproud/prometheus/storage/raw/leveldb	0.013s
ok  	github.com/matttproud/prometheus/utility	0.013s
?   	github.com/matttproud/prometheus/utility/test	[no test files]
```
2013-01-04 12:27:57 +01:00
Matt T. Proud
3ac5d48b1a Impl' storage i'faces and fix non-idiomatic warts.
This change includes implementation of most major storage layer
features, albeit some imperfect.  It also includes nascent telemetry
bindings, too.
2013-01-04 10:39:38 +01:00
Matt T. Proud
a14dbd5bd0 Interim commit for Julius. 2012-12-19 20:34:54 +01:00
Matt T. Proud
0886592ebc New interface definition after discussion. 2012-12-12 12:53:34 +01:00
Matt T. Proud
59a708f25a Provide prototype of storage layer interfaces. 2012-12-12 12:13:27 +01:00
Matt T. Proud
6589fc92f8 Strip web services, which weren't adding value. 2012-12-12 12:04:46 +01:00
Matt T. Proud
577acf4fe7 Exploding the storage infrastructure by contexts. 2012-12-09 16:27:12 +01:00
Matt T. Proud
15a6681651 Various cleanups.
Kill LevelDB watermarks due to redundancy.

General interface documentation has begun.

Creating custom types for the model to prevent errors down the
road.

Renaming of components for easier comprehension.

Exposition of interface in LevelDB.

Slew of simple refactorings.
2012-12-08 14:03:08 +01:00
Matt T. Proud
c0ce859c76 A few re-organizations. 2012-11-29 20:55:30 +01:00
Matt T. Proud
044a5b4e14 Add nascent Travis CI configuration. 2012-11-29 20:00:09 +01:00
Matt T. Proud
9f4bdaab50 Major LevelDB metric end-to-end test improvements.
Performance is enhanced through better range selection.
2012-11-28 22:48:28 +01:00
Matt T. Proud
c1f0d8aefd Levigo -> LevelDB in terminology and references. 2012-11-28 20:25:19 +01:00
Matt T. Proud
6ed67b02e2 Incorporate new interface tests. 2012-11-28 18:52:04 +01:00
Matt T. Proud
44f8802ae7 Add Apache License 2.0 boilerplate. 2012-11-26 20:11:34 +01:00
Matt T. Proud
2bbdaa5790 Initial directory re-arrangement for storage. 2012-11-26 19:56:51 +01:00