Commit 9ecada26 authored by Laura Schlimmer's avatar Laura Schlimmer
Browse files

WIP

parent 01edacef
Loading
Loading
Loading
Loading
+19 −10
Original line number Diff line number Diff line
@@ -49,25 +49,32 @@ 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 == "count" || value == "sum" || value == "mean") {
      var group_by = query_params.by;
      if (group_by == undefined) {
        group_by = defaults.by;
        updateURLParams("by", group_by);
      }
      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) {
@@ -210,10 +217,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",
@@ -451,7 +460,7 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
      runQuery();
    }, false);


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

+10 −2
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;
@@ -434,8 +434,11 @@ FnordMetric.util.generateSQLQueryFromParams = function(params) {
    draw_stm = "DRAW BARCHART AXIS BOTTOM AXIS LEFT;";
    var func = (view.split("_"))[1];
    //how to define which column should be selected
    var column = (columns[0].length > 0)? 
      ("`" + columns[0] + "`") : "'total'";
    console.log("column " + columns[0].length);
    select_expr = 
      " SELECT `" + columns[0] + "` AS X, " + func + "(value) AS Y";
      " SELECT " + column + " AS X, " + func + "(value) AS Y";

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

  console.log(select_expr);

  /* complete from_expr */
  from_expr += "`" + table_ref + "`";