Julius Volz
a50ee8df30
Always set CORS headers at beginning of API handler.
...
Change-Id: Icde9a74260c4bb919f09c3e10c6dd5f372ccdaec
2013-10-16 15:59:47 +02:00
Matt T. Proud
4a87c002e8
Update low-level i'faces to reflect wireformats.
...
This commit fixes a critique of the old storage API design, whereby
the input parameters were always as raw bytes and never Protocol
Buffer messages that encapsulated the data, meaning every place a
read or mutation was conducted needed to manually perform said
translations on its own. This is taxing.
Change-Id: I4786938d0d207cefb7782bd2bd96a517eead186f
2013-09-04 17:13:58 +02:00
Julius Volz
788587426b
Make scrape timeouts configurable per job.
...
Change-Id: I77a7514ad9e7969771f873d63d6353ec50082a62
2013-08-19 12:21:47 +02:00
Matt T. Proud
972e856d9b
Kill the curation state channel.
...
The use of the channels for curation state were always unidiomatic.
Change-Id: I1cb1d7175ebfb4faf28dff84201066278d6a0d92
2013-08-13 17:20:22 +02:00
Julius Volz
0003027dce
Add needed trailing spaces in logs.
2013-08-12 18:22:48 +02:00
Julius Volz
aa5d251f8d
Use github.com/golang/glog for all logging.
2013-08-12 17:54:36 +02:00
Julius Volz
ecf0ee8f39
Transfer alerting rule and Prometheus URL to alertmanager.
2013-08-09 18:32:13 +02:00
Matt T. Proud
07ac921aec
Code Review: First pass.
2013-08-05 17:31:49 +02:00
Matt T. Proud
d8792cfd86
Extract HighWatermarking.
...
Clean up the rest.
2013-08-05 11:03:03 +02:00
Julius Volz
fcf784c13c
Fix query error notification in tabular view.
...
Instead of "Unsupported value type" when type="error", the delivered
error message should be shown.
2013-08-02 09:04:13 +02:00
Julius Volz
35ee2cd3cb
Add alertmanager notification support to Prometheus.
...
Alert definitions now also have mandatory SUMMARY and DESCRIPTION fields
that get sent along a firing alert to the alert manager.
2013-07-30 17:23:41 +02:00
Julius Volz
4e941255d8
Add caching to static assets when served from blob handler.
2013-07-24 18:52:57 +02:00
Julius Volz
1b9cbaf842
Bootstrappify remaining status pages.
2013-07-24 16:09:34 +02:00
Julius Volz
481ee4096b
Add no-op silencing links.
2013-07-24 15:09:42 +02:00
Julius Volz
d9f403ab7d
Prettify/Bootstrapify alert tables.
2013-07-24 15:03:13 +02:00
Julius Volz
f665534b61
Make quote and semicolon usage consistent in graph.js
2013-07-24 12:29:03 +02:00
Julius Volz
c91c100102
Fix graph resize bug when no graph exists.
2013-07-24 12:29:03 +02:00
Julius Volz
9f07f8677a
Generate tabular console view from JSON data.
2013-07-24 12:28:59 +02:00
Sabra Melamed
22ab2366c1
Replacing interface components with Bootstrap.
...
This commit includes Bootstrap 2.3.2 and swaps a multitude of graph,
status, and other components to Bootstrap-based widgets.
2013-07-23 20:58:55 +02:00
Matt T. Proud
f7704af4f8
Code Review: Formatting comments.
2013-07-15 15:12:01 +02:00
Matt T. Proud
06b4a40661
Represent targets in a tabular interface.
...
This commit represents a target group's endpoints in a tabular fashion for better differentiation
of their state in a concise manner.
2013-07-15 15:12:01 +02:00
Julius Volz
f42adc1cc0
Display Y-axis outside of graph.
2013-07-01 14:47:43 +02:00
Julius Volz
1aa8f071b9
Add content compression support to API HTTP responses.
2013-06-28 16:56:44 +02:00
Matt T. Proud
30b1cf80b5
WIP - Snapshot of Moving to Client Model.
2013-06-25 15:52:42 +02:00
Julius Volz
0226d1ac7a
Implement alerts dashboard and expression console links.
2013-06-13 22:35:40 +02:00
Johannes 'fish' Ziemke
005d65868a
Merge pull request #294 from prometheus/remove-gvm
...
Remove gvm
2013-06-13 05:41:29 -07:00
Johannes 'fish' Ziemke
56249320e3
Remove gvm on travis.
2013-06-13 14:36:00 +02:00
Julius Volz
1fe3d3b06b
Remove obsolete argument from target handling code.
2013-06-11 17:54:58 +02:00
Julius Volz
ba29d07901
Show loaded rules in Status dashboard.
2013-06-11 11:39:31 +02:00
Matt T. Proud
a73f061d3c
Persist solely Protocol Buffers.
...
An design question was open for me in the beginning was whether to
serialize other types to disk, but Protocol Buffers quickly won out,
which allows us to drop support for other types. This is a good
start to cleaning up a lot of cruft in the storage stack and
can let us eventually decouple the various moving parts into
separate subsystems for easier reasoning.
This commit is not strictly required, but it is a start to making
the rest a lot more enjoyable to interact with.
2013-06-08 11:02:35 +02:00
Bernerd Schaefer
f7a2436665
Include link to user dashboard when provided
2013-06-07 11:17:17 +02:00
Bernerd Schaefer
1d794896ac
Support user-provided static asset directory
...
[fix #159 ]
2013-06-07 10:25:12 +02:00
Julius Volz
51689d965d
Add debug timers to instant and range queries.
...
This adds timers around several query-relevant code blocks. For now, the
query timer stats are only logged for queries initiated through the UI.
In other cases (rule evaluations), the stats are simply thrown away.
My hope is that this helps us understand where queries spend time,
especially in cases where they sometimes hang for unusual amounts of
time.
2013-06-05 18:32:54 +02:00
Matt T. Proud
0d2d6e9a27
Include uptime in the status console.
...
In order to help corroborate whether a Prometheus instance has
flapped until meta-monitoring is in-place, we ought to provide the
instance's start time in the console to aid in diagnostics.
2013-05-24 10:44:34 +02:00
Julius Volz
8586c7520c
Support negative graph values.
...
Currently graph Y-Axes were hardcoded to start at 0. Choose the Y-scale
automatically based on the graph data instead.
2013-05-21 16:54:33 +02:00
Julius Volz
081191afb8
Remember and display last scrape errors in web UI.
2013-05-21 15:31:27 +02:00
Matt T. Proud
1a95406b81
Include forgotten databases.html.
2013-05-14 14:50:54 +02:00
Matt T. Proud
b224251981
Simplify compaction and expose database sizes.
...
This commit simplifies the way that compactions across a database's
keyspace occur due to reading the LevelDB internals. Secondarily it
introduces the database size estimation mechanisms.
Include database health and help interfaces.
Add database statistics; remove status goroutines.
This commit kills the use of Go routines to expose status throughout
the web components of Prometheus. It also dumps raw LevelDB status
on a separate /databases endpoint.
2013-05-14 12:29:53 +02:00
Bernerd Schaefer
cdde766f39
Embed mutex on web status handler
2013-05-07 18:15:17 +02:00
Bernerd Schaefer
7740167654
Add comments about potential race conditions
2013-05-07 18:15:17 +02:00
Bernerd Schaefer
9183302b1f
Web handler returns 404 for favicon requests
2013-05-07 18:15:17 +02:00
Matt Proud
7f0d816574
Schedule the background compactors to run.
...
This commit introduces three background compactors, which compact
sparse samples together.
1. Older than five minutes is grouped together into chunks of 50 every 30
minutes.
2. Older than 60 minutes is grouped together into chunks of 250 every 50
minutes.
3. Older than one day is grouped together into chunks of 5000 every 70
minutes.
2013-05-07 17:14:04 +02:00
Julius Volz
af7920126c
Fix build errors and add default build step to "make".
2013-05-07 15:54:41 +02:00
Julius Volz
56324d8ce2
Make AST query storage non-global.
2013-05-07 13:15:10 +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
juliusv
cfc3b1053d
Merge pull request #212 from prometheus/ui/smaller-navigation-links
...
Restyle navigation a bit, align content elements with it
2013-05-03 07:00:09 -07:00
juliusv
2935476818
Merge pull request #211 from prometheus/feature/reorder-hud-elements
...
Move build info to the top of the status HUD.
2013-05-03 06:56:45 -07:00
Julius Volz
04e661c28f
Move build info to the top of the status HUD.
2013-05-03 15:54:32 +02:00
Julius Volz
f3cf8eae7e
Restyle navigation a bit, align content elements with it.
2013-05-03 15:49:08 +02:00
Johannes 'fish' Ziemke
c5e507cd9c
Never submit empty queries.
2013-05-02 16:55:47 +02:00
juliusv
2b9ba56d61
Merge pull request #208 from prometheus/feature/toggle-console
...
Add the console to the main/graph ui.
2013-05-02 04:05:53 -07:00
Johannes 'fish' Ziemke
ba289ef7cd
Add the console to the main/graph ui.
2013-05-02 12:19:34 +02:00
Julius Volz
9cea5d9df8
Convert the Prometheus configuration to protocol buffers.
2013-04-30 22:26:00 +02:00
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