Commit graph

280 commits

Author SHA1 Message Date
Matt T. Proud 3362bf36e2 Include curator status in web heads-up-display. 2013-04-29 12:40:33 +02:00
Matt T. Proud a48ab34dd0 Refresh Prometheus client API usage.
The client API has been updated per https://github.com/prometheus/client_golang/pull/9.
2013-04-28 19:40:30 +02:00
juliusv 169a7dc26c Merge pull request #189 from prometheus/feature/build-info-and-startup-friendliness
Build info and startup friendliness
2013-04-26 05:45:34 -07:00
Bernerd Schaefer 19fc094362 Merge pull request #191 from prometheus/update-gitignore-files
Ignore web/static/generated and build/root/share
2013-04-25 03:59:04 -07:00
Bernerd Schaefer 169ed9d297 Ignore web/static/generated and build/root/share 2013-04-25 12:33:27 +02:00
Matt T. Proud 961ff26874 Fix positional flags for `cp` on Darwin.
Unfortunately ``cp`` on Darwin regards some flags as positional and
requires them to be in a specific place.  The new Protocol Buffer
descriptor bundling fails on Mac OS.
2013-04-25 12:16:51 +02:00
Bernerd Schaefer 45243ac2da Print flags on status page. 2013-04-25 12:12:05 +02:00
Bernerd Schaefer 862054e88b web.StartServing prints listening address 2013-04-25 11:59:39 +02:00
Bernerd Schaefer a2a4f94aae StatusHandler renders build info 2013-04-25 11:57:08 +02:00
Johannes 'fish' Ziemke 1f96d4c822 Move protobuf descriptor and add content-type.
- move to static/generated
- set content-type based on extension '.description'
2013-04-24 18:51:07 +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 e86f4d9dfd Convert time readers to represent time in UTC.
Go's time.Time represents time as UTC in its fundamental data type.
That said, when using ``time.Unix(...)``, it sets the zone for the
time representation to the local.  Unfortunately with diagnosis and
our tests, it is a PITA to jump between various zones, even though
the serialized version remains the same.

To keep things easy, all places where times are generated or read
are converted into UTC.  These conversions are cheap, for
``Time.In`` merely changes a pointer reference in the struct,
nothing more.  This enables me to diagnose test failures with fixture
data very easily.
2013-04-24 12:19:41 +02:00
Johannes 'fish' Ziemke 955708e8db Merge pull request #158 from prometheus/feature/auto-refresh
Add per graph auto-refresh option to web UI.
2013-04-22 05:10:17 -07:00
Julius Volz a2623efcdf Register pprof /debug endpoints with custom HTTP mux. 2013-04-22 13:21:24 +02:00
Johannes 'fish' Ziemke 712bf5e2f9 Add per graph auto-refresh option to web UI.
This adds a drop-down menu to select/disable a auto-refresh interval.
2013-04-22 11:42:23 +02:00
Julius Volz a0d311c9e6 Constantize job name label. 2013-04-15 11:47:54 +02:00
juliusv f21b5ad12b Merge pull request #133 from bernerdschaefer/graph-display-tweaks
Graph display tweaks
2013-04-15 02:32:45 -07:00
Bernerd Schaefer 72bd585485 Revert style change to legend items 2013-04-15 10:04:09 +02:00
juliusv f817106d6a Merge pull request #134 from prometheus/fix/set-job-label-from-targets-api
Set job label for targets registered through the API
2013-04-12 07:28:27 -07:00
juliusv f89d4c2cac Merge pull request #128 from prometheus/feature/convert-host-relative-links
Convert addresses pointing to localhost in status.
2013-04-12 07:27:30 -07:00
Johannes 'fish' Ziemke 14407a076a Convert addresses pointing to localhost in status.
Until now, targets pointing to localhost in the status view are linked to localhost, so you can't follow those links by clicking on them.
This change converts the links to point to the hostname of the prometheus server.

Before:
<a href="http://localhost:9090/metrics.json">http://localhost:9090/metrics.json</a>

After:
<a href="http://hostname-of-prometheus-server:9090/metrics.json">http://localhost:9090/metrics.json</a>
2013-04-12 15:14:04 +02:00
Bernerd Schaefer 8af0bbb3a0 Set job label for targets registered through the API
This is set when jobs are statically registered (see
retrieval/targetmanager.go#L92), and should be set here, too.
2013-04-12 14:50:44 +02:00
Bernerd Schaefer 442a6d2b11 Use $ instead of jQuery 2013-04-12 13:43:53 +02:00
Bernerd Schaefer 953334a4f7 Reformat and add semicolons to graph.js 2013-04-12 13:41:53 +02:00
Bernerd Schaefer 43dc377bee Flip x_label when it would render off-page 2013-04-12 11:59:49 +02:00
Bernerd Schaefer 461e02d2b8 Flip hover detail to prevent going off the screen 2013-04-12 10:39:37 +02:00
Bernerd Schaefer 8c9597cb39 Render legend in a similar style to labels 2013-04-12 10:39:15 +02:00
Bernerd Schaefer a7ec43189a Hovering over legend items highlights series in graph 2013-04-12 09:34:12 +02:00
Bernerd Schaefer 564633ecbc Render graph labels vertically
This helps to make the timeseries with many labels fit on the screen.
2013-04-12 09:34:12 +02:00
Bernerd Schaefer 5e9447996b Set CORS Headers on API requests
By setting Access-Control headers, the Prometheus metrics API can be
accessed by cross-origin javascript applications (e.g., an external
dashboard pulling Prometheus metrics).
2013-04-11 14:51:42 +02:00
Johannes 'fish' Ziemke 8fba639706 Fix path to expression browser js. 2013-04-10 13:09:32 +02:00
Johannes 'fish' Ziemke adeabca230 Minor UI fixes.
- Fix path to spinner
- Fix color for unvisited links
- Include necessary jqueryui images
2013-04-09 15:23:37 +02:00
Johannes 'fish' Ziemke e43d7d5771 Make Prometheus self-contained.
This includes all external resources instead of hotlinking them.
2013-04-09 12:15:05 +02:00
Johannes 'fish' Ziemke 17f622bd6e Take Path fragment from URL instead of whole URL.
This also makes better error handling in case a asset couldn't be found in the files map.
2013-04-09 12:12:24 +02:00
Johannes 'fish' Ziemke bf197baaf9 Depend on all static and template files. 2013-04-09 12:11:19 +02:00
Johannes 'fish' Ziemke c108a9978d Merge branch 'master' of github.com:prometheus/prometheus into feature/navigation
Conflicts:
	web/web.go
2013-04-05 14:16:33 +02:00
Johannes 'fish' Ziemke 0f775a4178 Use Sprintf instead of string concatenation. 2013-04-05 13:41:52 +02:00
Johannes 'fish' Ziemke 1c091a9723 Use client_golang.exp for automatic telemetry. 2013-04-05 13:24:50 +02:00
Johannes 'fish' Ziemke 3aead8468c Fix typo. 2013-04-04 19:19:58 +02:00
Johannes 'fish' Ziemke 84d17b4d97 Replace YieldExporter() with Handler() 2013-04-04 19:08:20 +02:00
Johannes 'fish' Ziemke 1cb4c819e1 Remove cruft. 2013-04-04 19:02:29 +02:00
Johannes 'fish' Ziemke 1a3fb459e0 Add navigation menu to all pages + change routes.
To achieve that, this PR
- converts static/index.html ("console") and graph to templates
- moved the handlebars template to separated file to avoid escaping issues

Route changes:
/status -> /
/static -> /console
/static/graph.html -> /graph
2013-04-04 16:36:53 +02:00
Matt T. Proud 7764682c7c Update to use new default handler. 2013-04-02 15:20:30 +02:00
Julius Volz ec413459fa Depointerize Matrix/Vector types as well as time.Time arguments. 2013-03-28 18:07:12 +01:00
Johannes 'fish' Ziemke fed467ede0 Moved graph and console to use templates as well. 2013-03-27 18:44:47 +01:00
Johannes 'fish' Ziemke f27adac848 Split status template into two templates.
This is now using a base template (_base.html) for the 'layout' of the web UI.
Within that base template, the actual content templates get rendered.
2013-03-27 17:40:01 +01:00
Julius Volz 2b8f0b2cc7 Constantize metric name label name. 2013-03-26 16:20:23 +01:00
Julius Volz dd67ab115b Change GetAllMetricNames() to GetAllValuesForLabel(). 2013-03-26 14:47:07 +01:00
Johannes 'fish' Ziemke b0d1864146 Move css for graphs to graph.css and fix minor/fomatting issues. 2013-03-26 14:36:57 +01:00
Johannes 'fish' Ziemke 0a87618733 Add autocompletion for metrics. 2013-03-26 14:16:23 +01:00
Johannes 'fish' Ziemke ecb8331df1 Update jQuery to 1.9.1. 2013-03-26 14:16:23 +01:00
Johannes 'fish' Ziemke 07c76747f0 Clean up of graph UI's form.
- Removed unnecessary spaces and labels.
- Aligned elements for cleaner look.
2013-03-26 14:16:23 +01:00
Johannes 'fish' Ziemke 24b3a6d2cc Improve inserting of metrics in graph UI.
- Metric will inserted at cursor position.
- Selected text will get replaced.
- Press <tab> to jump to metrics and <return> to jump back.
2013-03-26 14:16:23 +01:00
Johannes 'fish' Ziemke 3626b71c22 Improve graph UI.
- resize graphs on browser resize
- move status field to upper right corner to save some space
- align the legend width to the graph's width
2013-03-26 14:16:22 +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
Johannes 'fish' Ziemke b290c821d1 Renamed "localAssets" cmd flag to "useLocalAssets". 2013-03-25 12:09:39 +01:00
Johannes 'fish' Ziemke 9bb6820402 Use filename based type if DetectContentType fails.
DetectContentType returns text/plain for our stylesheets and javascripts. That causes chrome to ignore those files.
2013-03-22 12:03:31 +01:00
Julius Volz 8e4c5b0cea Use AST query analyzer and views with tiered storage. 2013-03-21 18:16:52 +01:00
Matt T. Proud 1b0ca377af Reformat. 2013-03-21 18:11:34 +01:00
Julius Volz 20c5ca1d72 Lower-case web API method arguments. 2013-03-21 18:11:02 +01:00
juliusv 91c5e29f1f Merge pull request #91 from prometheus/feature/datetimepicker
Add a date/time picker to graph UI
2013-03-21 09:56:09 -07:00
Johannes 'fish' Ziemke 6213c0f1ee Add missing semicolons. 2013-03-21 17:54:03 +01:00
Johannes 'fish' Ziemke 72bd751857 Increase/decrease end date by 1/2 range. 2013-03-21 17:47:40 +01:00
Johannes 'fish' Ziemke c0b5ba6512 Prevent unnecessary reload. 2013-03-21 17:44:21 +01:00
Johannes 'fish' Ziemke f170720f61 Use hidden input for end.
Instead of appending to url manually.
2013-03-21 17:36:04 +01:00
Johannes 'fish' Ziemke 8e55ff0a8d Save and restore end date in/from url. 2013-03-21 17:06:37 +01:00
Johannes 'fish' Ziemke 1f484b03c7 Renamed date_s to dateString.
To be more explicit.
2013-03-21 15:56:41 +01:00
Johannes 'fish' Ziemke a5e18b0229 Rename localAssets to useLocalAssets. 2013-03-21 15:55:48 +01:00
Johannes 'fish' Ziemke f9b4df4284 Add a date/time picker to graph UI.
- It's using https://github.com/mugifly/jquery-simple-datetimepicker
- If input is empty, it returns the most recent data
2013-03-21 14:26:13 +01:00
Johannes 'fish' Ziemke bf5d312a74 Add flag to read assets from local files. 2013-03-21 13:55:59 +01:00
Matt T. Proud 05a9c3cd0b Improve the base label representation in /status.
The base label representation under /status needs improvement to
enhance readability; namely, add sorting and make the label
representation concise.
2013-03-21 12:08:18 +01:00
Johannes 'fish' Ziemke 2434bac219 Detect mime type on runtime instead of hardcoding. 2013-03-19 17:40:27 +01:00
Johannes 'fish' Ziemke a5d31cb239 Use constants for blob bucket keys. 2013-03-19 17:40:27 +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 f1fc7d717a Allow replacing job targets via HTTP API.
This roughly comprises the following changes:

- index target pools by job instead of scrape interval
- make targets within a pool exchangable while preserving existing
  health state for targets
- allow exchanging targets via HTTP API (PUT)
- show target lists in /status (experimental, for own debug use)
2013-02-28 21:33:29 +01:00
Julius Volz a908e397bc Integrate cleanups for comments in PR70. 2013-02-14 19:03:17 +01:00
Julius Volz 23374788d3 Beginnings of a Prometheus status page. 2013-02-14 19:03:17 +01:00
Matt T. Proud d1e7f5bc4b The Prometheus Go client has a new handler API. 2013-02-13 09:46:41 -08:00
Julius Volz 2859227fdb Make HTTP listen address a flag. 2013-02-08 15:42:09 +01:00
Julius Volz 0cbd03ccf9 Move web-related code/resources to a subdirectory. 2013-02-08 14:52:36 +01:00