Commit cc1dea30 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

Merge branch 'master' of github.com:paulasmuth/fnordmetric-dev

parents d837407d 61d03dba
Loading
Loading
Loading
Loading
+30 −30
Original line number Diff line number Diff line
@@ -46,25 +46,33 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {

  // FIXLAURA allow multiple key value pairs as input
  function updateURLParams(key, value) {
    if (value != undefined) {
      query_params[key] = value.toString();
      FnordMetric.util.setURLQueryString(
        "metric_list", query_params, false, true);
    }
  }

  /* checks if required url params are misssing and adds those if so */
  function addRequiredURLParamsForView(value) {
    if (value != "value") {
      var group_by = query_params.by;
      if (group_by == undefined) {
        group_by = defaults.by;
        updateURLParams("by", group_by);
      }
    if (value == "count" || value == "sum" || value == "mean") {

      var time_step = query_params.t_step;
      if (time_step == undefined) {
        time_step = defaults.t_step;
        updateURLParams("t_step", time_step);
      }
    }
    var group_by = query_params.by;
    if (group_by == undefined) {
      group_by = defaults.by;
      updateURLParams("by", group_by);
    }
    var param_columns = query_params.columns;
    if (param_columns == undefined) {
      param_columns = defaults.columns;
      updateURLParams("columns", param_columns);
    }
  }

  function renderChart(chart) {
@@ -123,20 +131,12 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
      tw_select.disabled = true;
      step_select.className = "disabled";
      step_select.disabled = true;
      if (show == "Value") {
        group_btns.map(function(btn) {
          btn.className = "disabled";
        });
      } else {
        group_btns.map(function(btn) {
          btn.className = "";
        });
      }
    } else {
      tw_select.className = "";
      tw_select.disabled = false;
      step_select.className = "";
      step_select.disabled = false;
    }
    var by_str = (query_params.by == undefined)?
      "" : query_params.by;
    group_btns.map(function(btn) {
@@ -148,8 +148,6 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
    });
  }

  }

  function updateDateTimeElems(title, input, start_time, end_time) {
    var start_time = (start_time !== undefined) ? 
       start_time : getQueryParamOrDefaultValue("start_time");
@@ -225,10 +223,12 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
      rollup_select.appendChild(option);
    });

    rollup_select.value = 
    var rollup_value = 
      FnordMetric.util.reverseLowerCaseUnderscore(
        getQueryParamOrDefaultValue("view"));

    rollup_select.value = rollup_value;

    var aggregate_options = [
        "1s",
        "5s",
@@ -473,7 +473,7 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
      }
    }, false);


    addRequiredURLParamsForView(rollup_value);
    handleAggregationDisplay(rollup_select.value, t_window, t_step, group_buttons);
    runQuery();

+11 −4
Original line number Diff line number Diff line
@@ -408,7 +408,7 @@ FnordMetric.util.generateSQLQueryFromParams = function(params) {
  var table_ref = params.innerViewValue
  var view = params.view;
  /* column for rollups */
  var columns = params.columns.split(",");; 
  var columns = params.columns.split(",");
  var start_time = Math.round(params.start_time / 1000);
  var end_time = Math.round(params.end_time / 1000);
  var t_step = params.t_step;
@@ -433,9 +433,13 @@ FnordMetric.util.generateSQLQueryFromParams = function(params) {
  } else if (view == "rollup_sum" || view == "rollup_count" || view == "rollup_mean") {
    draw_stm = "DRAW BARCHART\n  AXIS BOTTOM\n  AXIS LEFT;";
    var func = (view.split("_"))[1];
    //how to define which column should be selected

    /* if the metric hasn't any labels total is selected */
    var column = (columns[0].length > 0)? 
      ("`" + columns[0] + "`") : "'total'";

    select_expr = 
      " SELECT\n    `" + columns[0] + "` AS X,\n    " + func + "(value) AS Y";
      " SELECT " + column + " AS X, " + func + "(value) AS Y";

    hasAggregation = true;
  } else {
@@ -443,6 +447,10 @@ FnordMetric.util.generateSQLQueryFromParams = function(params) {
      view.toLowerCase() + "(value) AS Y";
    hasAggregation = true;
  }
  if (by != undefined && by.length > 0) {
    var series = by.replace(/,/g, " + ',' + ");
    select_expr += ", " + series + " AS series";
  }

  /* complete from_expr */
  from_expr += "    `" + table_ref + "`\n";
@@ -485,7 +493,6 @@ FnordMetric.util.generateSQLQueryFromParams = function(params) {
    }
  }

  console.log(group_expr);

  query = 
    draw_stm + select_expr + from_expr +