Commit graph

150 commits

Author SHA1 Message Date
Matt T. Proud 3e969a8ca2 Parameterize the buffer for marshal/unmarshal.
We are not reusing buffers yet.  This could introduce problems,
so the behavior is disabled for now.

Cursory benchmark data:
- Marshal for 10,000 samples: -30% overhead.
- Unmarshal for 10,000 samples: -15% overhead.

Change-Id: Ib006bdc656af45dca2b92de08a8f905d8d728cac
2014-04-16 12:16:59 +02:00
Julius Volz 44390d831d Introduce semantic versioning.
This introduces semantic versioning (http://semver.org/) in Prometheus:

- A new VERSION file contains the semantic version string.

- The "tarball" target now includes versioning and build information in
  the tarball name, like: "prometheus-0.1.0.linux-amd64.tar.gz".

- A new "release" target allows scp-ing the versioned tarball to a
  remote machine (file server).

- A new "tag" target allows git-tagging the current revision with the
  version specified in VERSION.

Change-Id: I1f19f38b9b317bfa9eb513754750df5a9c602d94
2014-03-11 15:39:22 +01:00
Johannes 'fish' Ziemke d438e1c96c Allow overriding url to fetch go from by env var
If you want to use a different binary package than the officially
provided, you now can point the env var GOURL to the package you
want to get instead.

Change-Id: I1cefe2998bc86435cfbd058ba398a7b6c4e7d031
2013-09-04 15:48:23 +02:00
Matt T. Proud 2b42fd0068 Snapshot of no more frontier.
Change-Id: Icd52da3f52bfe4529829ea70b4865ed7c9f6c446
2013-08-23 17:13:58 +02:00
Julius Volz ab99bd0cbd Add tarball Makefile rule.
Change-Id: I0991346493d816d5a7bdbf523b4cff20f7b59eb6
2013-08-19 16:35:17 +02:00
Matt T. Proud 9c8112a053 Revert "Add flags to build prometheus statically"
This reverts commit 0e9e3e068d.

Not only do we know this to produce problematic artifacts, it refuses
to build on Mac OS X.

    TMPDIR=/tmp GOROOT=/Users/mattproud/Development/go/src/github.com/prometheus/prometheus/.build/root/go GOPATH=/Users/mattproud/Development/go/src/github.com/prometheus/prometheus/.build/root/gopath /Users/mattproud/Development/go/src/github.com/prometheus/prometheus/.build/root/go/bin/go build -o prometheus -ldflags " -X main.buildVersion c7052ed -X main.buildBranch refactor/storage/modify-append-signature -X main.buildUser mattproud@Berlin.local -X main.buildDate 20130815-11:15:49 -X main.goVersion 1.1 -X main.leveldbVersion 1.12.0 -X main.protobufVersion 2.5.0 -X main.snappyVersion 1.1.0 -linkmode external -extldflags '-lstdc++ -lpthread -static /Users/mattproud/Development/go/src/github.com/prometheus/prometheus/.build/root/lib/libleveldb.a /Users/mattproud/Development/go/src/github.com/prometheus/prometheus/.build/root/lib/libsnappy.a'" .
    # _/Users/mattproud/Development/go/src/github.com/prometheus/prometheus
    ld: library not found for -lcrt0.o

Change-Id: I4f42161aebfd35a6f09cd7f984b78cc4498774aa
2013-08-15 11:19:44 +02:00
Julius Volz c7052ede27 Tarball build rule fixups.
Change-Id: Idc4db7e20cd705901ea9ad39a0f7269bbb5572b7
2013-08-14 19:23:28 +02:00
Johannes 'fish' Ziemke 0e9e3e068d Add flags to build prometheus statically
Change-Id: I8fc883247e0657d26aa8ca6f24315fb9217277f3
2013-08-14 19:16:00 +02:00
Julius Volz da420a5b97 Add glog options to "make run" to also log to stderr. 2013-08-12 18:21:38 +02:00
Johannes 'fish' Ziemke 1c9ae08e80 Add Dockerfile 2013-08-12 11:02:50 +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 30b1cf80b5 WIP - Snapshot of Moving to Client Model. 2013-06-25 15:52:42 +02:00
Julius Volz 235623b45d Fix "make format". 2013-06-18 19:18:39 +02:00
Johannes 'fish' Ziemke 22a40c298d Make prometheus build on bazooka repo manager
- Build build/package on build target
- And include .pkgignore
2013-06-13 16:31:33 +02:00
Matt T. Proud f895acb9ef Trailing build system cleanups.
The .gitignore files had problems, and the build steps could be
simplified.
2013-06-13 15:38:03 +02:00
Johannes 'fish' Ziemke 56249320e3 Remove gvm on travis. 2013-06-13 14:36:00 +02:00
Johannes 'fish' Ziemke 4524a5fe37 Remove gvm and install go by hand. 2013-06-12 18:39:37 +02:00
Matt T. Proud 2ee6e32847 Include race condition runner. 2013-06-05 14:07:40 +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
Johannes 'fish' Ziemke 8507c58bf2 Fix filename in Makefile. 2013-05-23 16:54:21 +02:00
Matt T. Proud 93da3f684a Instruct `make binary` to build binary file. 2013-05-22 17:59:53 +02:00
Matt T. Proud fa6a1f97d0 Expose interfaces for pruner and make pruner tool.
In order to run database cleanups and diagnostics, we should have
a means for pruning a database---even if LevelDB does this for us.
2013-05-10 17:07:03 +02:00
Julius Volz af7920126c Fix build errors and add default build step to "make". 2013-05-07 15:54:41 +02:00
Matt T. Proud 3b9b1c6ab4 Define dependencies for web. stack concretely.
This commit destroys the use of AppState, which makes passing
concrete state along to various serving components onerous.
2013-05-06 11:13:12 +02:00
Julius Volz 9cea5d9df8 Convert the Prometheus configuration to protocol buffers. 2013-04-30 22:26:00 +02:00
Bernerd Schaefer 378e494433 Date format for build info doesn't include spaces
go 1.0.3 doesn't support spaces in -X linker options.
2013-04-25 15:07:35 +02:00
Bernerd Schaefer 9dde9302a8 Explicitly include domain info in build hostname 2013-04-25 13:19:35 +02:00
Bernerd Schaefer 033533c4c5 Capture build information and print with -version 2013-04-25 11:47:48 +02:00
Matt T. Proud 9e02c2393a Include generated Protocol Buffer descriptor.
The Protocol Buffer compiler supports generating a machine-readable
descriptor file encoded as a provided Protocol Buffer message type,
which can be used to decode messages that have been encoded with it
after-the-fact.  The generated descriptor also bundles in dependent
message types.

We can use this to perform forensics on old Prometheus clients, if
necessary.
2013-04-24 16:59:40 +02:00
Matt T. Proud 32c0a939b0 New self-sustaining, hermetic build system.
This should help us produce self-contained artifacts for users as
well as lower the hurdles for first-time contributors.
2013-04-17 09:34:24 +02:00
Julius Volz 8b91bffa1d Make Travis test runs verbose. 2013-03-28 18:30:24 +01:00
Matt T. Proud c53a72a894 Test data for the curator. 2013-03-27 18:13:43 +01:00
Matt T. Proud 3e97a3630d Include nascent curator scaffolding.
The curator doesn't do anything yet; rather, this is the type
definition including the anciliary testing scaffold.

Improve Makefile and Git developer experience.

The top-level Makefile was a bit overloaded in terms of generation of
assets and their management.  This has been offloaded into separate
Makefiles.

The Git developer experience sucked due to lack of .gitignore
policies.

Also: Fix faulty skiplist naming from old merge.
2013-03-25 19:38:14 +01:00
Matt T. Proud 44d6ad9eee Do not run `govet with -v`.
This is per https://code.google.com/p/go/issues/detail?id=2507.
2013-03-21 18:08:47 +01:00
Johannes 'fish' Ziemke 1f80b17cb7 Remove temporary debugging. 2013-03-20 15:15:11 +01:00
Johannes 'fish' Ziemke a985a723a1 Remove echo -e because it's not available on Travis.
Instead, files.go gets piped through gofmt.
2013-03-20 12:58:41 +01:00
Johannes 'fish' Ziemke aed8270a97 Enable debugging (set -x) on embed-static.sh. 2013-03-20 12:58:14 +01:00
Johannes 'fish' Ziemke fc16580b4c Ship assets in compiled binary.
- utility/embed-static.sh, get called in Makefile to create go map from files
- web/blob/blob.go implements http Handle for serving the files from the map
- web/status.go uses blog.GetFile() to get the template file

The assets are gzipped and decompressed on demand.
2013-03-19 17:40:27 +01:00
Julius Volz d67e4b9131 Address outstanding comments from PR/47 and other cleanups. 2013-02-07 11:38:01 +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 15cc7744cd Add advice target to makefile. 2013-01-27 17:53:20 +01:00
Julius Volz 56384bf42a Add initial config and rule language implementation. 2013-01-07 23:43:36 +01:00
Matt T. Proud 4f0f8f9552 Take into account nuances for Mac OS X. :-( 2012-12-01 13:30:23 +01:00
Matt T. Proud 43aeba2699 Instruct `gofmt` to simplify output. 2012-11-29 20:42:32 +01:00
Matt T. Proud c1f0d8aefd Levigo -> LevelDB in terminology and references. 2012-11-28 20:25:19 +01:00
Matt T. Proud 2450cb3b1c The clean rule clobbers `.gitignore`. 2012-11-28 20:10:41 +01:00
Matt T. Proud 44f8802ae7 Add Apache License 2.0 boilerplate. 2012-11-26 20:11:34 +01:00
Matt T. Proud 11ec53f1b5 Automate the documentation server. 2012-11-25 16:04:58 +01:00
Matt T. Proud 6072143505 Initial commit of external resources. 2012-11-24 12:33:34 +01:00