Commit 5da894e8 authored by Laura Schlimmer's avatar Laura Schlimmer
Browse files

init timewindow select values

parent da70e2a1
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -199,6 +199,10 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
      t_window.appendChild(option);
    });

    t_window.value = 
      FnordMetric.util.milliSecondsToTimeString(
        getQueryParamOrDefaultValue("t_window"));

    var t_step = document.createElement("select");
    timewindow.appendChild(t_step);
    aggregate_options.map(function(opt) {
@@ -207,6 +211,10 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
      t_step.appendChild(option);
    });

    t_step.value = 
      FnordMetric.util.milliSecondsToTimeString(
        getQueryParamOrDefaultValue("t_step"));

    var date_group = document.createElement("div");
    date_group.innerHTML = "<b>End Time<b>"
    date_group.className = "group date";
@@ -377,7 +385,7 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
    }, false);


    handleAggregationDisplay("Value", t_window, t_step, group_buttons);
    handleAggregationDisplay(rollup_select.value, t_window, t_step, group_buttons);
    runQuery();

  }
+8 −80
Original line number Diff line number Diff line
@@ -404,88 +404,16 @@ FnordMetric.util.toMilliSeconds = function(timestr) {
  return parseInt(seconds, 10);
}


/*
  Inputs Object with default values
  inputs = {
    "show" : null,
    "aggregation" : {
      "time" : null,
      "step" : null
      },
    "time" : {
      "mseconds_to_end" : null,
      "end" : null
    }
    "group_by" : [],
    "columns" : [all possible group by columns]
FnordMetric.util.milliSecondsToTimeString = function(seconds) {
  if (seconds < 60000) {
    return (seconds / 1000) + "s";
  }
*/
FnordMetric.util.createQuery = function(inputs, metric) {
  var query = "";
  var timewindow = null;
  var where = "";

  var draw = "DRAW Linechart AXIS BOTTOM AXIS LEFT; ";
  var select = "SELECT time AS x, ";
  var from = " FROM `" + metric + "`";
  var show;
  var group_by = "";
  var hasAggr;
  var hasTimeWindow;

  if (inputs.show == "Value") {
    show = "value as y";
    hasTimeWindow = false;
    hasAggr = false;
  } else if (inputs.show == "Rollup") {
    draw = "DRAW BARCHART AXIS BOTTOM AXIS LEFT; ";
    var column = (inputs.group_by.length > 0) ?
      inputs.group_by[0] : inputs.columns[0];
    select = "SELECT "+ column + " AS x, ";
    show = "sum(value) as y";
    hasAggr = true;
    hasTimeWindow = false;
  } else {
    hasAggr = true;
    hasTimeWindow = true;
    show = ((inputs.show).toLowerCase() + "(value) as y");
  }

  query += draw + select + show + from;

  /* check for time --> where clause and add to query */
  if (inputs.time.mseconds_to_end != null && inputs.time.end != null ) {
    var start = inputs.time.end - inputs.time.mseconds_to_end;
    where = 
      " where time > FROM_TIMESTAMP(" + Math.round(start / 1000) + ")" +
      " and time < FROM_TIMESTAMP(" + Math.round(inputs.time.end / 1000) +")";
    //console.log(where);
  }
  //query += where;

  if (hasAggr) {
    var columns = (inputs.group_by.length > 0) ?
      inputs.group_by.join(", ") : inputs.columns[0];
    if (hasTimeWindow) {
      timewindow = 
        " GROUP OVER TIMEWINDOW(time, " +
        Math.round(inputs.aggregation.time / 1000) + ", " +
        Math.round(inputs.aggregation.step / 1000) + ")";

      query += timewindow;
      group_by = " BY " + columns;
    } else {
    /* GROUP BY */
      group_by = " GROUP BY " + columns;
  if (seconds < 3600000) {
    return (seconds / 1000/ 60) + "m";
  }
    query += group_by;
  return (seconds / 3600000) + "h";
}

  query += ";";
  console.log(query);
  return query;
}

/* in singleMetricView */
FnordMetric.util.generateSQLQueryFromParams = function(params) {
@@ -548,7 +476,7 @@ FnordMetric.util.generateSQLQueryFromParams = function(params) {
      hasGroupStm = true;

      group_expr += 
        "OVER TIMEWINDOW(time, "+ t_step;
        "OVER TIMEWINDOW(time, " + t_step + ",";

      group_expr += (t_window != undefined)?
        t_window : t_step;