Skip to content

Commit

Permalink
Fix downsampling option in querier URL
Browse files Browse the repository at this point in the history
Signed-off-by: Olivier Biesmans <olivier.biesmans@blablacar.com>
  • Loading branch information
Olivier Biesmans committed Oct 17, 2019
1 parent 749b378 commit b949fe1
Show file tree
Hide file tree
Showing 4 changed files with 91 additions and 79 deletions.
7 changes: 3 additions & 4 deletions pkg/query/api/v1.go
Original file line number Diff line number Diff line change
Expand Up @@ -207,11 +207,10 @@ func (api *API) parseDownsamplingParamMillis(r *http.Request, defaultVal time.Du
const maxSourceResolutionParam = "max_source_resolution"
maxSourceResolution := 0 * time.Second

if api.enableAutodownsampling {
val := r.FormValue(maxSourceResolutionParam)
if api.enableAutodownsampling || (val == "auto") {
maxSourceResolution = defaultVal
}

if val := r.FormValue(maxSourceResolutionParam); val != "" {
} else if val != "" {
var err error
maxSourceResolution, err = parseDuration(val)
if err != nil {
Expand Down
142 changes: 71 additions & 71 deletions pkg/ui/bindata.go

Large diffs are not rendered by default.

17 changes: 15 additions & 2 deletions pkg/ui/static/js/graph.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ Prometheus.Graph.prototype.initialize = function() {
if (self.options.tab === undefined) {
self.options.tab = 1;
}
if (self.options.max_source_resolution === undefined) {
self.options.max_source_resolution = "0s";
}

// Draw graph controls and container from Handlebars template.

Expand Down Expand Up @@ -93,6 +96,8 @@ Prometheus.Graph.prototype.initialize = function() {
self.stacked = self.queryForm.find("input[name=stacked]");
self.insertMetric = self.queryForm.find("select[name=insert_metric]");
self.refreshInterval = self.queryForm.find("select[name=refresh]");
self.maxSourceResolutionInput = self.queryForm.find("select[name=max_source_resolution_input]");


self.consoleTab = graphWrapper.find(".console");
self.graphTab = graphWrapper.find(".graph_container");
Expand Down Expand Up @@ -231,6 +236,8 @@ Prometheus.Graph.prototype.initialize = function() {
stylePartialResponseBtn();
});

self.maxSourceResolutionInput.val(self.options.max_source_resolution);

self.queryForm.submit(function() {
self.consoleTab.addClass("reload");
self.graphTab.addClass("reload");
Expand Down Expand Up @@ -377,7 +384,6 @@ Prometheus.Graph.prototype.getOptions = function() {
"range_input",
"end_input",
"step_input",
"downsample_input",
"stacked",
"moment_input"
];
Expand All @@ -390,6 +396,9 @@ Prometheus.Graph.prototype.getOptions = function() {
}
}
});

options.max_source_resolution = self.maxSourceResolutionInput.val();

options.expr = self.expr.val();
options.tab = self.options.tab;
return options;
Expand Down Expand Up @@ -521,7 +530,11 @@ Prometheus.Graph.prototype.submitQuery = function() {
var startTime = new Date().getTime();
var rangeSeconds = self.parseDuration(self.rangeInput.val());
var resolution = parseInt(self.queryForm.find("input[name=step_input]").val()) || Math.max(Math.floor(rangeSeconds / 250), 1);
var maxSourceResolution = self.queryForm.find("select[name=max_source_resolution_input]").val();
var maxSourceResolution = self.maxSourceResolutionInput.val()
// normalize max_source_resolution parameter
if ( maxSourceResolution == "auto") {
maxSourceResolution = ""
}
var endDate = self.getEndDate() / 1000;
var moment = self.getMoment() / 1000;

Expand Down
4 changes: 2 additions & 2 deletions pkg/ui/static/js/graph_template.handlebar
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@

<div class="prometheus_input_group pull-left">
<select name="max_source_resolution_input" title="Downsampling option" id="max_source_resolution_input{{id}}">
<option value="">Auto downsampling</option>
<option selected="selected" value="0s">Only raw data</option>
<option value="auto">Auto downsampling</option>
<option value="0s">Only raw data</option>
<option value="5m">Max 5m downsampling</option>
<option value="1h">Max 1h downsampling</option>
</select>
Expand Down

0 comments on commit b949fe1

Please sign in to comment.