Commit graph

12995 commits

Author SHA1 Message Date
Matt T. Proud f2ded515b7 Support versioned telemetry providers.
client_golang was updated to support full label-oriented telemetry,
which introduced interface incompatibilities with the previous
version of Prometheus.  To alleviate this, a general fetching and
processing dispatching system has been created, which discriminates
and processes according to the version of input.
2013-01-27 17:45:50 +01:00
Julius Volz c049ae39af Cleanups to rules/persistence adapter code. 2013-01-25 12:22:55 +01:00
juliusv 619aa97025 Only close rule file if it could be opened. 2013-01-25 03:32:46 +01:00
juliusv 5caa2333ab Add bash-syntax highlighting to code blocks. 2013-01-25 03:31:51 +01:00
juliusv 22ea3059b0 Merge pull request #45 from grobie/documentation-updates
Documentation updates
2013-01-24 18:18:36 -08:00
juliusv 45aac7be1c Merge pull request #46 from grobie/fix-config-load
Fix config load
2013-01-24 18:17:24 -08:00
Tobias Schmidt d6ea16a5c4 Add basic "Getting started" documentation 2013-01-25 00:48:51 +01:00
Tobias Schmidt 6523536758 Fix bug in config.LoadFromFile if file is not present 2013-01-25 00:41:10 +01:00
Tobias Schmidt dcf915bde7 Add missing prerequisites to the Readme 2013-01-24 21:56:08 +01:00
juliusv cfc1ba2244 Merge pull request #44 from matttproud/julius-better-graphs
Make graphs linkable, object-oriented, and multiple per page.
2013-01-24 06:36:55 -08:00
Julius Volz 040f9751f2 Make graphs linkable, object-oriented, and multiple per page. 2013-01-24 14:21:07 +01:00
Matt T. Proud 33b34d71a4 Merge pull request #43 from matttproud/refactor/telemetry/refresh
Upgrade Prometheus to new API.
2013-01-23 08:44:16 -08:00
Matt T. Proud 88d15373c5 Upgrade Prometheus to new API. 2013-01-23 17:18:45 +01:00
Julius Volz 127c61a55f Add command-line arguments for config file and storage path. 2013-01-22 19:32:56 +01:00
Julius Volz a85204a0a4 Add support for matrix duration strings without quotes. 2013-01-22 02:27:26 +01:00
Julius Volz 1760d927c8 Add error propagation to web UI via special JSON error type. 2013-01-22 02:27:26 +01:00
Julius Volz 49c87348b5 Implement per-second rate behavior for rate(). 2013-01-22 02:27:26 +01:00
Julius Volz 93670aa129 Return API errors in JSON format. 2013-01-22 02:27:26 +01:00
Julius Volz a20bf35997 Fix whitespace with "make format". 2013-01-22 02:27:26 +01:00
Julius Volz 86e5edc7fe Add CSS styles for graphing frontend. 2013-01-22 02:27:26 +01:00
Julius Volz cbffb18748 General graphing improvements and frontend whitespace cleanups. 2013-01-22 02:27:26 +01:00
Julius Volz c21450a089 Use correct label name for metric name in rule. 2013-01-22 02:27:26 +01:00
Julius Volz 6929c10acf Add case-statement for OR, which still needs to be implemented. 2013-01-22 02:27:26 +01:00
Julius Volz a555ded2b3 Add "w" (weeks) as a valid timeunit. 2013-01-22 02:27:26 +01:00
Julius Volz 2c8595f96e First graphing support. 2013-01-22 02:27:26 +01:00
Julius Volz ebabaa46f4 Serialize matrices correctly. 2013-01-22 02:27:26 +01:00
juliusv 39b2e72eb0 Merge pull request #37 from matttproud/julius-base-labels
Add support for configured job base labels.
2013-01-21 16:55:17 -08:00
juliusv c0266128f4 Merge pull request #38 from matttproud/julius-metric-docstrings
Add preliminary metric docstrings and empty base labels.
2013-01-17 16:49:12 -08:00
Julius Volz 6f937ee032 Add preliminary metric docstrings and empty base labels. 2013-01-18 01:37:50 +01:00
Julius Volz 80cdb0121d Add support for configured job base labels. 2013-01-18 01:10:09 +01:00
juliusv 09d543de97 Merge pull request #35 from matttproud/fix/targetpool-and-manager-queueing
``TargetManager`` and ``TargetPool`` as pointers.
2013-01-15 08:27:52 -08:00
Matt T. Proud 190e4e3fa3 `TargetManager and TargetPool` ass pointers. 2013-01-15 17:06:17 +01:00
juliusv a7ed7cae91 Merge pull request #32 from matttproud/refactor/wrap-target-as-interface
Refactor Target into Interface to Enhance Testability
2013-01-15 07:22:15 -08:00
Matt T. Proud 9752f1e61d Refactor Target as interface for testability.
Future tests around the ``TargetPool`` and ``TargetManager`` and
friends will be a lot easier when the concrete behaviors of
``Target`` can be extracted out.  Plus, each ``Target``, I suspect,
will have its own resolution and query strategy.
2013-01-15 16:19:51 +01:00
Matt T. Proud 9af0faaefb Get `TargetPool` test working again. 2013-01-13 20:12:38 +01:00
Matt T. Proud d772c6c2b5 Refactor target scheduling to separate facility.
``Target`` will be refactored down the road to support various
nuanced endpoint types.  Thusly incorporating the scheduling
behavior within it will be problematic.  To that end, the scheduling
behavior has been moved into a separate assistance type to improve
conciseness and testability.

``make format`` was also run.
2013-01-13 20:12:38 +01:00
Matt T. Proud f1a4f26d3b Merge pull request #30 from matttproud/fix/get-metrics-for-labelset-semantics
``GetFingerprintsForLabelSet`` uses intersection.
2013-01-13 11:10:41 -08:00
Matt T. Proud d9b165220e `GetFingerprintsForLabelSet` uses intersection.
This implementation needs to be cleaned up considerably, but it
should hopefully provide some breathing room.  Ultimately this will
be extracted out of the storage layer---specifically the LevelDB
hierarchy---to interface with a generic set of abstractions for a
storage system, but this will be where it remains for now.
2013-01-13 17:14:30 +01:00
Matt T. Proud af5b376459 Merge pull request #28 from matttproud/fix/validate/retrieval-queue-behavior
Refactor target scheduling to separate facility.
2013-01-13 01:45:51 -08:00
Matt T. Proud efe61c18fa Refactor target scheduling to separate facility.
``Target`` will be refactored down the road to support various
nuanced endpoint types.  Thusly incorporating the scheduling
behavior within it will be problematic.  To that end, the scheduling
behavior has been moved into a separate assistance type to improve
conciseness and testability.

``make format`` was also run.
2013-01-13 10:43:37 +01:00
Julius Volz cb6eb30182 Fix state cleanup bug between rule/config parser runs.
This fixes a bug that has been annoying me minorly for some time now:
sometimes, after parse errors, a subsequent parser run would fail.  The reason
is that yylex() modifies some global variables (yytext, yydata) during its run
to keep state. To make subsequent parser runs correct, these have to be reset
before each run.

Also, close files after reading them.
2013-01-12 02:35:40 +01:00
Julius Volz ab746d068e Set correct Content-Type header based on output format. 2013-01-11 03:17:58 +01:00
Julius Volz 84dd62fb9b Add GoREST install to Makefile.TRAVIS. 2013-01-11 02:41:04 +01:00
juliusv f546548097 Merge pull request #27 from matttproud/julius-api
Add REST API, expression browser, and text/JSON output formats.
2013-01-10 17:37:29 -08:00
Julius Volz 17a4a442b3 Add REST API, expression browser, and text/JSON output formats. 2013-01-11 02:27:03 +01:00
Julius Volz 06162180ad Implement matrix range and boundary fetching from metrics store. 2013-01-11 01:19:27 +01:00
Julius Volz 483bd81a44 Allow grammar to parse both rules and single expressions. 2013-01-11 01:17:37 +01:00
Julius Volz c52b959fda Fix matrix interval time calculation. 2013-01-11 01:12:34 +01:00
Julius Volz fdf9a3aab7 Fix node type checks in arithmetic expressions. 2013-01-11 01:09:31 +01:00
Julius Volz c4a2358551 Set correct interval in MatrixLiteral.Eval(). 2013-01-11 01:08:47 +01:00