Commit Graph

178 Commits

Author SHA1 Message Date
Fabian Reinartz
468d2eb60e Vendoring via govendor 2015-09-15 15:37:12 +02:00
Fabian Reinartz
e88eb9f164 Remove Godeps 2015-09-15 15:35:29 +02:00
Robey Pointer
3a5c0f30c1 create a unix-style tarball with a nested folder 2015-07-28 08:52:41 -07:00
beorn7
b55a71a30c Fix the race condition targets in the Makefile.
Remove race_condition_run as the original run target has been removed, too.

Fix the race_condition_binary target.
2015-07-06 22:26:41 +02:00
Steve Durrheimer
016e00441f Add circleci yaml for Dockerfile test build 2015-06-26 11:00:15 +02:00
Fabian Reinartz
6e61fd3e96 tools/rulechecker: bye bye 2015-06-25 19:11:49 +02:00
Julius Volz
c69b733956 Simplify Go dependency handling in Dockerfile.
Also, put quotes around the GOPATH in the Makefile for safety in case of
spaces, etc.
2015-06-23 23:58:09 +02:00
Fabian Reinartz
d27e45cc74 make: add promtool to build and tarball targets. 2015-06-22 16:09:37 +02:00
Fabian Reinartz
330ed7b9f2 Merge pull request #809 from prometheus/update-make-format
Update file exclusion list for `make format`.
2015-06-15 21:04:28 +02:00
Fabian Reinartz
31325c1fd0 make: adjust to new main location. 2015-06-15 19:01:06 +02:00
Julius Volz
f10effceb1 Update file exclusion list for make format. 2015-06-15 16:31:35 +02:00
Fabian Reinartz
8d304d95e5 make: do not call go-bindata on building. 2015-06-12 09:29:37 +02:00
Sindre Myren
a081c9436b Building without a Makefile (on Windows)
Main changes:

- Switched to using `go-bindata` in place of `scripts/embed-static.sh`.
- Support for building Prometheus without a `Makefile`.
- Minor typo fix to make Prometheus build on Windows (without Makefiles).

Please note that this does not mean that prometheus will work on Windows.
There are still failing tests!
2015-06-10 20:43:59 +02:00
Fabian Reinartz
8eda04fbf1 Remove logging output from test runs 2015-05-23 21:21:56 +02:00
Fabian Reinartz
3b0777ff84 Merge branch 'master' into fabxc/servdisc 2015-05-12 15:46:16 +02:00
Fabian Reinartz
5fbde88919 Switch config to YAML format. 2015-05-07 16:52:14 +02:00
Julius Volz
0dc8f3cb04 Remove obsolete "rules" target from main Makefile. 2015-05-07 11:59:06 +02:00
Johannes 'fish' Ziemke
ab3e08e070 Add rule_checker and console templates to archive 2015-05-05 18:40:51 +02:00
Alexander Staubo
8a47f8a44d Makefile: Calculate $(GOROOT), etc. relative to Makefile instead of using $(PWD), which is not always available (eg., in debuild). 2015-02-22 23:14:11 -05:00
Julius Volz
13048b7468 Simplify GOPATH/dependency setup. 2015-02-17 02:20:16 +01:00
Julius Volz
af627bb2b9 Copy vendored deps manually instead of using Godeps.
We were using Godep incorrectly (cloning repos from the internet during
build time instead of including Godeps/_workspace in the GOPATH via
"godep go"). However, to avoid even having to fetch "godeps" from the
internet during build, this now just copies the vendored files into the
GOPATH.

Also, the protocol buffer library moved from Google Code to GitHub,
which is reflected in these updates.

This fixes https://github.com/prometheus/prometheus/issues/525
2015-02-17 02:08:56 +01:00
juliusv
5f5e4d76bd Merge pull request #462 from brian-brazil/godeps-format
Exclude Godeps from make format
2015-01-22 18:15:16 +01:00
Brian Brazil
e4b4cac212 Exclude Godeps from make format 2015-01-22 17:12:19 +00:00
Bjoern Rabenstein
5859b74f1b Clean up license issues.
- Move CONTRIBUTORS.md to the more common AUTHORS.
- Added the required NOTICE file.
- Changed "Prometheus Team" to "The Prometheus Authors".
- Reverted the erroneous changes to the Apache License.
2015-01-21 20:07:45 +01:00
Stuart Nelson
f1c257845f Vendor external dependencies with godep. 2015-01-09 12:00:42 +01:00
Tomás Senart
09c58ce481 Upgrade to Go 1.4
This change set upgrades Prometheus to use Go 1.4
The other modifications were intended to compare benchmarks between the
old and new versions using `golang.org/x/tools/cmd/benchcmp`.

```
benchmark                                old ns/op      new ns/op     delta
BenchmarkTargetManager-8                 38866          19355         -50.20%
BenchmarkTargetPool-8                    114763         58989         -48.60%
BenchmarkFingerprintLockerParallel-8     747            752           +0.67%
BenchmarkFingerprintLockerSerial-8       39.0           39.1          +0.26%
BenchmarkAppend-8                        2020           2553          +26.39%
BenchmarkFuzz-8                          1185584705     506752314     -57.26%
BenchmarkLabelPairs-8                    753            903           +19.92%

benchmark                                old allocs     new allocs     delta
BenchmarkTargetManager-8                 41             46             +12.20%
BenchmarkTargetPool-8                    682            460            -32.55%
BenchmarkFingerprintLockerParallel-8     0              0              +0.00%
BenchmarkFingerprintLockerSerial-8       0              0              +0.00%
BenchmarkAppend-8                        11             15             +36.36%
BenchmarkFuzz-8                          2269055        1061400        -53.22%
BenchmarkLabelPairs-8                    12             12             +0.00%

benchmark                                old bytes      new bytes     delta
BenchmarkTargetManager-8                 8755           7160          -18.22%
BenchmarkTargetPool-8                    82621          41342         -49.96%
BenchmarkFingerprintLockerParallel-8     0              0             +0.00%
BenchmarkFingerprintLockerSerial-8       0              0             +0.00%
BenchmarkAppend-8                        289            293           +1.38%
BenchmarkFuzz-8                          2307248006     586094916     -74.60%
BenchmarkLabelPairs-8                    316            304           -3.80%
```
2014-12-15 14:05:43 +01:00
Bjoern Rabenstein
006b5517e2 Simplify makefiles.
This removes the dependancy on C leveldb and snappy.
It also takes care of fewer dependencies as they would
anyway not work on any non-Debian, non-Brew system.

Change-Id: Ia70dce1ba8a816a003587927e0b3a3f8ad2fd28c
2014-11-25 17:10:39 +01:00
Julius Volz
c6e9f085a3 Update used Go version to 1.3.
Go downloads moved to a different URL and require following redirects
(curl's '-L' option) now.

Go 1.3 deliberately randomizes ranges over maps, which uncovered some
bugs in our tests. These are fixed too.

Change-Id: Id2d9e185d8d2379a9b7b8ad5ba680024565d15f4
2014-11-25 17:02:00 +01:00
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