Commit Graph

16 Commits (6fbd4d6c17a809b7e6d9dfe9e8e41c06e154b1b6)

Author SHA1 Message Date
Chris Goller 7d50711345 Fix template rendering to ignore template if not in query 2017-12-12 13:04:49 -08:00
Chris Goller 3f87dd6e77 Refactor and simplify auto group by (:interval:) template variable 2017-11-08 11:27:35 -06:00
Nathan Haugo fe2173d6c5 Remove debugging lines and add case for less than 1 ms 2017-10-16 16:23:22 -05:00
Nathan Haugo 0491a7685b Made changes due to review 2017-10-16 16:15:12 -05:00
Nathan Haugo b87befa0b3 Add support for millisecond groupbys 2017-10-11 13:14:44 -07:00
Nathan Haugo 6cbd33b9ee Fix tests for the updated group by time logic 2017-10-03 16:31:51 -07:00
Luke Morris 68af7508d4 Tested + fixed bug in GROUP BY interval calculation 2017-06-16 15:54:15 -07:00
Tim Raymond & Jared Scheib f18609cfc3 Rename :autoGroupBy: to :interval:
This naming is more consistent with user's expectations from other
similar visualization tools.

Also, the usage of the variable now requires the words "GROUP BY" to be
present. e.g. `GROUP BY :interval:`
2017-06-15 17:43:27 -04:00
Tim Raymond 09ec78fee2 Adjust templates_tests to reflect reality
Where clauses generated by the query builder have "WHERE" capitalized,
and supply template variables with the ":" bracing.
2017-06-14 10:54:02 -04:00
Tim Raymond 66be46bf23 Fix :dashboardTime: by introducing tvar precedence
In order for :autoGroupBy: and :dashboardTime: to co-exist in a query,
it's necessary to introduce template variable precedence to the backend.
This is done by adding a `Precedence()` method to the TemplateVariable
interface that returns an ordinal indicating the precedence level of the
template variable. Precedence starts from 0 (highest) proceeding to the
maximum that a `uint` can represent.

A template variable at a given precedence level can expect that all
template variables with higher precedence will have already been
replaced in the query that is passed to its `Exec` call.

For example, :autoGroupBy: has lower precedence than :dashboardTime:
because it needs to know the selected time range for the query. When the
`Exec` method of `GroupByVar` is invoked, it will see the query after
:dashboardTime: has already been replaced, allowing it to extract the
duration successfully.
2017-06-14 10:54:02 -04:00
Tim Raymond 5418592df8 Add parsing of Group By Duration from the query
In order for automatic group by to be remotely useful, we need to parse
out the selected duration of time from the query itself. The problem
with doing this is that using the existing machinery for parsing
InfluxQL requires having valid InfluxQL, which InfluxQL+Template
Variables is not. To break this chicken-and-egg problem, the duration is
directly extracted from the query using regular string processing.
2017-06-14 10:52:29 -04:00
Tim Raymond 2efdd4b363 Working dynamic json Unmarshaling 2017-06-14 10:52:29 -04:00
Tim Raymond fd5036ed20 Add support for :autoGroupBy: template variable
This adds support for dynamic template variables that compute something
about themselves given some additional context.
2017-06-13 14:59:56 -04:00
Chris Goller 4ba46c8c0d Move template variables into chronograf.go 2017-04-19 11:18:23 -05:00
Chris Goller c4465863da Update template variable naming to Template rather than Temp 2017-04-19 11:08:14 -05:00
Chris Goller f17cf6bb09 Add InfluxQL template rendering 2017-04-19 11:03:53 -05:00