Skip to content

Commit

Permalink
Add nascent Travis CI configuration.
Browse files Browse the repository at this point in the history
  • Loading branch information
matttproud committed Nov 29, 2012
1 parent 9f4bdaa commit 044a5b4
Show file tree
Hide file tree
Showing 6 changed files with 167 additions and 12 deletions.
9 changes: 9 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
language: go

before_script:
- gvm install go1.0.3 || true
- gvm use go1.0.3 || true

script:
- make -f Makefile.TRAVIS

2 changes: 1 addition & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
= Prometheus Team
# Prometheus Team
- Julius Volz
- Matt T. Proud
144 changes: 144 additions & 0 deletions Makefile.TRAVIS
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Copyright 2012 Prometheus Team
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

OVERLAY_ROOT := ${HOME}/overlay_root

export PATH := $(PATH):$(OVERLAY_ROOT)/bin
export LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(OVERLAY_ROOT)/lib
export CFLAGS := $(CFLAGS) -I$(OVERLAY_ROOT)/include
export CXXFLAGS := $(CXXFLAGS) -I$(OVERLAY_ROOT)/include
export CPPFLAGS := $(CPPFLAGS) -I$(OVERLAY_ROOT)/include
export LDFLAGS := $(LDFLAGS) -L$(OVERLAY_ROOT)/lib
export CGO_CFLAGS := $(CFLAGS)
export CGO_LDFLAGS := $(LDFLAGS)

GO_GET := go get -v -x
APT_GET_INSTALL := sudo apt-get install -y
WGET := wget -c

all: test

preparation: preparation-stamp

preparation-stamp: build-dependencies
touch $@

build-dependencies: build-dependencies-stamp

build-dependencies-stamp: bison cc mercurial protoc goprotobuf go leveldb levigo gorest
touch $@

bison: bison-stamp

bison-stamp:
[ -x "$$(which bison)" ] || $(APT_GET_INSTALL) bison

cc: cc-stamp

cc-stamp:
[ -x "$$(which cc)" ] || $(APT_GET_INSTALL) build-essential
touch $@

go: go-stamp

go-stamp: bison
gvm install go1.0.3 || true
gvm use go1.0.3 || true
[ -x "$$(which go)" ]
touch $@

mercurial: mercurial-stamp

mercurial-stamp:
[ -x "$$(which hg)" ] || $(APT_GET_INSTALL) mercurial
touch $@

wget: wget-stamp

wget-stamp:
[ -x "$$(which wget)" ] || $(APT_GET_INSTALL) wget
touch $@

protobuf-2.4.1.tar.bz2: wget
$(WGET) http://protobuf.googlecode.com/files/$@

protoc: protoc-stamp

protoc-stamp: cc protobuf-2.4.1.tar.bz2
([ ! -x "$$(which protoc)" ] && tar xjvf protobuf-2.4.1.tar.bz2) || true
([ ! -x "$$(which protoc)" ] && cd protobuf-2.4.1 && ./configure --prefix="$(OVERLAY_ROOT)") || true
([ ! -x "$$(which protoc)" ] && $(MAKE) -C protobuf-2.4.1) || true
([ ! -x "$$(which protoc)" ] && $(MAKE) -C protobuf-2.4.1 install) || true
[ -x "$$(which protoc)" ]
touch $@

goprotobuf: goprotobuf-stamp

goprotobuf-stamp: go protoc source
$(GO_GET) code.google.com/p/goprotobuf/proto
$(GO_GET) code.google.com/p/goprotobuf/protoc-gen-go
touch $@

leveldb: leveldb-stamp

leveldb-stamp: cc rsync leveldb-1.7.0.tar.gz
tar xzvf leveldb-1.7.0.tar.gz
$(MAKE) -C leveldb-1.7.0
rsync -av "leveldb-1.7.0/include/" "$(OVERLAY_ROOT)/include/"
rsync -av "leveldb-1.7.0/"*.so* "$(OVERLAY_ROOT)/lib/"
touch $@

leveldb-1.7.0.tar.gz: wget
$(WGET) http://leveldb.googlecode.com/files/leveldb-1.7.0.tar.gz

levigo: levigo-stamp

levigo-stamp: leveldb go source
$(GO_GET) github.com/jmhodges/levigo
touch $@

rsync: rsync-stamp

rsync-stamp:
[ -x "$$(which rsync)" ] || $(APT_GET_INSTALL) rsync

test: test-stamp

test-stamp: preparation source
cd ${GOPATH}/src/github.com/matttproud
$(MAKE) test
touch $@

source: source-stamp

source-stamp:
-mkdir -vp ${GOPATH}/src/github.com/matttproud
ln -sf $${PWD} ${GOPATH}/src/github.com/matttproud/prometheus
touch $@


gorest: gorest-stamp

gorest-stamp: go source
$(GO_GET) code.google.com/p/gorest
touch $@

clean:
-rm *-stamp
-rm protobuf-2.4.1.tar.bz2
-rm -rf "$(OVERLAY_ROOT)"
-rm -rf leveldb-1.7.0
-rm -rf protobuf-2.4.1


.PHONY: all preparation build-dependencies mercurial clean cc wget protoc goprotobuf bison go leveldb rsync levigo test gorest source
1 change: 1 addition & 0 deletions model/generated/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.go
1 change: 0 additions & 1 deletion storage/metric/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,5 @@ type MetricPersistence interface {
GetMetricFingerprintsForLabelPairs(labelSets []*model.LabelPairs) ([]*model.Fingerprint, error)
GetFingerprintLabelPairs(fingerprint model.Fingerprint) (model.LabelPairs, error)

RecordLabelNameFingerprint(sample *model.Sample) error
RecordFingerprintWatermark(sample *model.Sample) error
}
22 changes: 12 additions & 10 deletions storage/metric/leveldb/leveldb.go
Original file line number Diff line number Diff line change
Expand Up @@ -539,27 +539,19 @@ func (l *LevelDBMetricPersistence) GetLabelPairs() ([]model.LabelPairs, error) {
}

func (l *LevelDBMetricPersistence) GetMetrics() ([]model.LabelPairs, error) {
log.Printf("GetMetrics()\n")

if getAll, getAllError := l.labelPairFingerprints.GetAll(); getAllError == nil {
log.Printf("getAll: %q\n", getAll)
result := make([]model.LabelPairs, 0)
fingerprintCollection := &data.FingerprintCollectionDDO{}

fingerprints := make(utility.Set)

for _, pair := range getAll {
log.Printf("pair: %q\n", pair)
if unmarshalError := proto.Unmarshal(pair.Right, fingerprintCollection); unmarshalError == nil {
for _, member := range fingerprintCollection.Member {
log.Printf("member: %q\n", member)
if !fingerprints.Has(*member.Signature) {
log.Printf("!Has: %q\n", member.Signature)
fingerprints.Add(*member.Signature)
log.Printf("fingerprints %q\n", fingerprints)
fingerprintEncoded := coding.NewProtocolBufferEncoder(member)
if labelPairCollectionRaw, labelPairCollectionRawError := l.fingerprintLabelPairs.Get(fingerprintEncoded); labelPairCollectionRawError == nil {
log.Printf("labelPairCollectionRaw: %q\n", labelPairCollectionRaw)

labelPairCollectionDDO := &data.LabelPairCollectionDDO{}

Expand All @@ -570,8 +562,6 @@ func (l *LevelDBMetricPersistence) GetMetrics() ([]model.LabelPairs, error) {
intermediate[*member.Name] = *member.Value
}

log.Printf("intermediate: %q\n", intermediate)

result = append(result, intermediate)
} else {
return nil, labelPairCollectionDDOMarshalError
Expand Down Expand Up @@ -726,3 +716,15 @@ func (l *LevelDBMetricPersistence) GetSamplesForMetric(metric model.Metric, inte

return nil, errors.New("Unknown error occurred while querying metric watermarks.")
}

func (l *LevelDBMetricPersistence) GetFingerprintLabelPairs(f model.Fingerprint) (model.LabelPairs, error) {
panic("NOT IMPLEMENTED")
}

func (l *LevelDBMetricPersistence) GetMetricFingerprintsForLabelPairs(p []*model.LabelPairs) ([]*model.Fingerprint, error) {
panic("NOT IMPLEMENTED")
}

func (l *LevelDBMetricPersistence) RecordFingerprintWatermark(s *model.Sample) error {
panic("NOT IMPLEMENTED")
}

0 comments on commit 044a5b4

Please sign in to comment.