Commit Graph

189 Commits (4aeed2c4b1684f6e696defbfc975156fcb7f1bf6)

Author SHA1 Message Date
Julius Volz e8027ba515
React UI: Serve React UI under /new (#6229)
This makes React UI URLs look nicer than the previous
/static/graph-new/app.html, but internally still serves all React UI
files from the compiled-in static assets directory.

Also, to allow future usage of the React / Reach router, we need to
serve the main React app's index.html on certain sub-paths that
correspond to current Prometheus's UI pages, instead of trying to serve
actual files that match the provided path name.

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2019-10-28 10:45:53 +01:00
Julius Volz bca6e90ea6
Integrate beginning of React UI (#5694)
* Initial commit from Create React App

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Initial Prometheus expression browser code

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Grpahing, try out echarts

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Switch to flot

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Add metrics fetching and stuff

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Autosuggest and graph improvements

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Start implementing graph controls, add loading spinner

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* So many new features and fixes

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Fixed and built more features

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Make datetimepicker clear work

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Don't abort when executing empty expression

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Remove TabPaneAlert

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Split components into separate files

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Add table time input

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Move first files to TypeScript!

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* More TypeScript conversions

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* More TS conversions

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* More TS conversions

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* More TS conversions

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* More TS conversions

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* More TS fixes

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Convert Graph to TS

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Changes

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Resize detector, start building legend, axis font colors

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Make graph legend work

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Add URL params support and much more

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Put panel state into panel list, write URL options

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Change order of Graph and Table tabs

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Generalize time input naming more

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Work on history functionality

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* npm updates

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Move loading indicator into "Execute" button

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Fix typo

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Revert "Move loading indicator into "Execute" button"

This reverts commit ce7daee1f1af35da6c0d8b5517272839285ccfec.

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Improve error message when failing to fetch server time

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Move all code to Prometheus repo target dir

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Add react-app Makefile step and check in generated assets

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Add preliminary npm packages notice to NOTICE file

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Update React app's favicon and metadata

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Remove RP server refs, cleanups

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Use CircleCI image that includes NodeJS

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Add some missing React output assets

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Preserve CRLF in generated React files

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Switch from npm to yarn for React UI

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Save npm licenses and include them in release tarball

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Install npm on Travis

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Remove npm license tarball from source

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Remove React graph bundle from source

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Don't check in any compiled web assets

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Update README.md with node/yarn/React UI info

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Fix asset build step on CircleCI promu crossbuild

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Try to fix multi-arch go generate

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Remove check_assets from Travis CI build

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Prevent rebuilding of unchanged React app parts

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Fix npm license tarball path for promu

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Simplify Makefile

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Clarify build instructions in README.md

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Make minimal JS test pass

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Integrate React app tests into Makefile

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Separate react-app-tests target, but run it from CI

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Fix working directory for React app tests

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Remove local modifications to Makefile.common

This means that CircleCI will not run the React app tests, but at least
Travis still will...

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Depend on node_modules path for npm_licenses target

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Simplify tarball/docker/build Makefile targets

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Include React tests in "test" target

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Remove reference to removed "check_assets" target

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Do initial resize of expression input field

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Add React app proxying to local Prometheus in dev mode

Signed-off-by: Julius Volz <julius.volz@gmail.com>
2019-10-17 14:38:09 +02:00
Simon Pasquier f7e1f064e3
Makefile: change default target to include check_assets (#5932)
The CI has only to execute "make" to run all necessary checks.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-10-15 09:33:38 +02:00
Ganesh Vernekar 5ecef3542d
Cleanup after merging tsdb into prometheus
Signed-off-by: Ganesh Vernekar <cs15btech11018@iith.ac.in>
2019-08-13 14:04:14 +05:30
Simon Pasquier f5d54e5be6
*: enable golangci-lint (#5437)
* *: enable golangci-lint

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Remove freebsd from supported platforms for lint

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Update CONTRIBUTING.md

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Update CONTRIBUTING.md

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Add common-staticcheck for compatibility

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-04-24 14:18:40 +02:00
Johannes Würbach 8dfd829fef Docker images for ARM32v7 and ARM64v8 (#5031)
Build and publish ARM32v7 and ARM64v8 docker images.

Signed-off-by: Johannes Würbach <johannes.wuerbach@googlemail.com>
2019-04-15 14:27:00 +02:00
Simon Pasquier 2833ad490b
vendor: bump github.com/hashicorp/serf (#5378)
hashicorp/serf is only required as a dependency of hashicorp/consul so
bumping the version has no direct consequence for Prometheus itself. The
net gain is that we don't depend anymore on launchpad.net/gocheck which
required the bzr binary to be installed.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-03-20 16:36:55 +01:00
Simon Pasquier 375ad1185c
*: bump gRPC dependencies (#5075)
* *: bump gRPC dependencies

This change updates the gRPC dependencies to more recent versions:

* github.com/gogo/protobuf => v1.2.0
* github.com/grpc-ecosystem/grpc-gateway => v1.6.3
* google.golang.org/grpc => v1.17.0

In addition scripts/genproto.sh leverages Go modules information instead of
hardcoding SHA1 commits. This ensures that the code is generated from
the exact same sources.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Run 'make proto' in CI

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Revert tabs -> spaces change

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Fix 'make proto' step

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* 'go get' grpc/protobuf dependencies

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Prepopulate cache with go mod download

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-01-15 15:32:05 +01:00
Simon Pasquier f678e27eb6
*: use latest release of staticcheck (#5057)
* *: use latest release of staticcheck

It also fixes a couple of things in the code flagged by the additional
checks.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Use official release of staticcheck

Also run 'go list' before staticcheck to avoid failures when downloading packages.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2019-01-04 14:47:38 +01:00
Simon Pasquier bf9a1d3d15 *: fix assets generation
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-12 10:38:29 +01:00
Simon Pasquier 466a8d94fc Makefile: fix assets rule
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-12 09:56:36 +01:00
Simon Pasquier a9ff66427b Makefile: add precheck target
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 17:14:37 +01:00
Simon Pasquier e3cd3ab79a Merge branch 'master' into go-modules
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 11:42:12 +01:00
Simon Pasquier 5230e2730a
*: check that assets are up-to-date (#4731)
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-11-09 11:31:36 +01:00
Simon Pasquier 1a0a570c91 run 'go generate' with proper options
Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-29 17:25:43 +01:00
Brian Brazil 3fdb92010e Expand OM to OpenMetrics
Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2018-10-18 14:16:41 +01:00
Brian Brazil c271ef456a Add an OpenMetrics parser.
This is based on the existing parser, and has slightly better
performance (few %) than it.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2018-10-18 13:58:00 +01:00
Brian Brazil ffe7efb411 Prepare for multiple text formats
Pass content type down to text parser.

Add layer of indirection in front of text parser,
and rename to avoid future clashes.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
2018-10-18 13:58:00 +01:00
Simon Pasquier c4a6acfb1e
*: move to go 1.11 (#4626)
* *: move to go 1.11

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Reduce number of places where we specify the Go version

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-10-16 09:41:45 +02:00
Simon Pasquier 3581377e5d Replace go-bindata with vfsgen (#4430)
Looking at https://tech.townsourced.com/post/embedding-static-files-in-go/ (which was mentioned in the issue), vfsgen has all the needed features.

In particular:

- Reproducible builds (no issue with timestamping).
- Well maintained and relatively popular.
- Integration with go generate.
- Self-contained (no external dependency).

* [WIP] Replace go-bindata by vfsgen

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Add license + remove doc.go

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Generate templates assets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Use new templates assets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* split static assets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Idempotent make assets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Update vendor/

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* vendor vfsgendev

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Update README.md

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Simplify assets generation

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Fix README.md

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Use generate helper program instead of vfsgen

This avoids installing vfsgendev in the target environment.

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Remove unused vfsgen package

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Fix Makefile

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* vendoring shurcooL/vfsgen

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Fix go generate command

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

* Sync web/ui/assets_vfsdata.go

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-08-24 09:03:10 +02:00
Simon Pasquier 45b8dea320 Makefile: update .PHONY target (#4234)
Makefile: update .PHONY target

* Move .PHONY declarations near their targets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
2018-06-11 17:51:28 +02:00
Krasi Georgiev 3f2b2c50dd
use the Makefile.common (#3978)
split common targets in a  Makefile.common to reuse it across projects

Signed-off-by: Krasi Georgiev <krasi.root@gmail.com>
2018-04-19 12:07:10 +03:00
Simon Pasquier 83325c8d82 web: replace deprecated InstrumentHandler() (#3862)
* web: replace deprecated InstrumentHandler()

This change replaces the deprecated InstrumentHandler function by the
equivalent functions from the promhttp package.

The following metrics are removed:

* http_request_duration_microseconds (Summary).
* http_request_size_bytes (Summary).
* http_requests_total (Counter).

And the following metrics are added instead:

* prometheus_http_request_duration_seconds (Histogram).
* prometheus_http_response_size_bytes (Histogram).
* promhttp_metric_handler_requests_in_flight (Gauge).
* promhttp_metric_handler_requests_total (Counter).

* Update github.com/prometheus/common/route package

* web: refactor using the new prometheus/common/route package
2018-03-21 08:16:16 +00:00
Krasi Georgiev 5bda3a8ded Check for unused vendored packages (#3892)
* add check for unused vendor packages
* cleanup unused vendor packages
* run unused check before the tests
2018-03-02 10:20:45 +00:00
Krasi Georgiev 0f00d77661 enable race detection for the tests (#3884) 2018-02-26 23:27:59 +00:00
Frederic Branczyk b9e836c7b7
Merge pull request #3102 from pgier/unset-gobin-during-build
Unset GOBIN in Makefile
2018-02-26 11:24:07 +01:00
Ben Kochie de043c9593
Merge pull request #3461 from prometheus/superq/simplify_promu_fetch
Simplify Makefile promu fetch
2018-02-19 23:21:37 +01:00
Paul Gier 06746ff6d0 unset GOBIN in Makefile
If the GOBIN environment variable is set to a non-default location
relative to GOPATH, then promu will be built in this location and the
the build will fail because it tries to run $GOPATH/bin/promu.

See also issue #483 and #492
2018-02-19 08:23:09 -06:00
Damien Lespiau 4fff98fd7f Remove last mention of GO15VENDOREXPERIMENT
Since #2750[1] prometheus depends on go 1.8. go 1.7 enabled vendoring by
default and removes the corresponding variable[2], simplifying things a bit.

[1] https://github.com/prometheus/prometheus/pull/2750
[2] https://blog.golang.org/go1.7
2017-11-13 11:00:30 +00:00
Ben Kochie 8bfbb4e733 Simplify Makefile promu fetch
Closes: https://github.com/prometheus/prometheus/issues/3460
2017-11-13 11:13:14 +01:00
Sylvain Rabot db5b1aa5f6 Makefile: Allow $(GO) to be set with environmental variable (#2919)
* promu: Use same go invocation as prometheus' for building

If you override $(GO) var in prometheus Makefile in order to use
a custom go binary you might encounter errors while building promu
as promu's Makefile $(GO) var is also defined to look for go in the
$PATH and you might end up using different go binaries for building
prometheus and promu.

This patch makes prometheus Makefile pass its $(GO) var to promu's makefile
as environmental variable.

Signed-off-by: Sylvain Rabot <s.rabot@lectra.com>

* Makefile: Allow $(GO) to be set with environmental variable

Signed-off-by: Sylvain Rabot <s.rabot@lectra.com>

* Makefile: Fix hardcoded call to gofmt

Signed-off-by: Sylvain Rabot <s.rabot@lectra.com>
2017-11-06 15:55:43 +01:00
beorn7 463faf5816 Ignore staticcheck's SA1019 in discovery/kubernetes/kubernetes.go, too
This showed up all of a sudden, even if checking out older commits.
2017-11-04 17:41:39 +01:00
Brian Brazil 73dc96e7f5 Fix leak of ticker in remote storage queue manager. 2017-10-09 19:44:03 +01:00
Brian Brazil 5ee07b3b3a Update staticcheck ignores
Remove things that now longer apply, ignore new things
that are acceptable.
2017-10-09 19:44:03 +01:00
Fabian Reinartz 2d0b8e8b94 Merge branch 'master' into dev-2.0 2017-10-05 13:09:18 +02:00
Ben Kochie 0fcfe3209f Add staticcheck to build. 2017-08-28 17:29:01 +02:00
Fabian Reinartz 1df03d8346 make: disable remote tests temporarily 2017-04-27 17:27:19 +02:00
Fabian Reinartz 73b8ff0ddc Merge branch 'master' into dev-2.0 2017-04-27 10:19:55 +02:00
Fabian Reinartz f2d610c1e5 vendor: update tsdb for fast equal matching 2017-04-10 13:00:27 +02:00
Goutham Veeramachaneni cffb1acf7f Test Longer Tests in Travis (#2570)
* Test Longer Tests in Travis

Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>

* Make test Target Run All Tests

* Add test-short to run short tests

test is running all the tests now as we are running make tests in
CircleCI and I think the base image is shared across Prometheus Org.

Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>

* Remove Empty Line

Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>
2017-04-07 13:46:06 +02:00
Pontus Leitzler 4774d6736a Use go env to fetch GOPATH to support Go 1.8
Go 1.8 do not require env GOPATH to be set and make will fail if it isn't set.
2017-03-22 19:04:20 +01:00
Julius Volz 92d60ba4c0 Add promu installation logging to Makefile
Due to bad GitHub connectivity, "make" frequently got stuck at the promu
step for me, and I was thinking that "format" was taking a long time
because the promu step wasn't logged. All other Makefile targets have
log statements...
2016-09-16 00:59:56 +02:00
Bjoern Rabenstein c7bd563b26 Testing: Add more test targets 2016-08-29 10:53:10 +02:00
Alexey Miroshkin 485f7dde08 Fix data race in lexer and lexer test
As described in #1898 'go test -race' detects a race in lexer code. This
pacth fixes it and also add '-race' option to test target to prevent
regression.
2016-08-26 17:07:17 +02:00
Tobias Schmidt 4042392a2d Always format generated assets
It's easy to forget formatting assets after re-generating them, so let's
do this automatically.
2016-07-27 19:02:18 -04:00
Joshua Rubin fd7775e251
fix build with multi-part $GOPATH 2016-05-24 16:50:27 -06:00
Steve Durrheimer b2292aaa62 Fix git branch with slash as docker tag 2016-04-22 21:47:55 +02:00
Julius Volz 7735d0da63 Fix build for people without $GOPATH/bin in $PATH. 2016-04-22 18:16:00 +02:00
Steve Durrheimer 8688cf2579
New release process using docker, circleci and a centralized
building tool
2016-04-18 22:41:04 +02:00
Jonathan Boulle 1c8262be12 Add script to check for missing license headers
Also adds a `check_license` target to the Makefile to run the script
2016-04-13 16:08:14 +02:00
Tobias Schmidt d7889e61bb Detect code style violations in deeply nested files
So far the style check did not recognize issues in files in deeply
nested directories, e.g. retrieval/discovery/kubernetes/discovery.go.
2016-03-03 02:21:16 -05:00
Julius Volz 999b1d23e0 Add tarballs target to build release tarballs. 2016-01-27 17:03:44 +01:00
Fabian Reinartz 1d58c10b45 Remove `assets` target from default `make` execution
go-bindata constantly attempts to update timestamps even though
the file data didn't change.

Fixes #1326
2016-01-18 18:24:25 +01:00
Tobias Schmidt e7fb9d096b Let code format style errors fail CI 2016-01-06 18:29:28 -05:00
Fabian Reinartz a542cc8609 Remove -web.use-local-assets 2015-11-11 17:58:03 +01:00
Fabian Reinartz 57ca7108aa Enable debug generation of go-bindata, rename blob/ to ui/ 2015-11-11 15:55:16 +01:00
Tobias Schmidt ee600cf949 Format web/blob/files.go after generation 2015-10-23 02:51:29 -04:00
Fabian Reinartz 28c2f9e4ff Fix phony targets and log asset generation 2015-09-19 11:51:40 +02:00
Julius Volz cb02af5747 Fix trailing space in Makefile. 2015-09-18 12:19:27 +02:00
Fabian Reinartz 92ffeadb7b Move assets generation to top level make file 2015-09-17 17:53:54 +02:00
Fabian Reinartz 5127963e93 Replace Makefile with simpler setup 2015-09-17 17:26:36 +02:00
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