Commit 3c7acd54 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

finish session view integration :)

parent 773a1d03
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -5,7 +5,6 @@ FnordMetric v1.0
TODO
----

- fix session view
- gauge-view: interval selection dropdown 
- report: print number of samples, interval-size on topright via scalaexp-buttonstyle

+2 −2
Original line number Diff line number Diff line
@@ -194,8 +194,8 @@ end

FnordMetric.options = {
  :event_queue_ttl  => 10, # all data that isn't processed within 10s is discarded to prevent memory overruns
  :event_data_ttl   => 3600, # event data is stored for one hours (needed for the active users view)
  :session_data_ttl => 1,  # we don't care about session data for now
  :event_data_ttl   => 3600, # event data is stored for one hour (needed for the active users view)
  :session_data_ttl => 3600, # session data is stored for one hour (needed for the active users view)
  :redis_prefix => "fnordmetric"
}

+15 −1
Original line number Diff line number Diff line
@@ -64,9 +64,23 @@ private
      namespace.events(:all, find_opts)
    end

    sessions = namespace.sessions(:all, :limit => 100).map do |session|
      session.fetch_data!
      session.to_json
    end

    types_key = namespace.key_prefix("type-")
    types = if event["first_poll"]
      @redis.keys("#{types_key}*").map{ |k| k.gsub(types_key,'') }
    else
      []
    end

    {
      :type => "active_users_response",
      :events => events.map(&:to_json)
      :sessions => sessions,
      :events => events.map(&:to_json),
      :types => types
    }
  end

+4 −4
Original line number Diff line number Diff line
@@ -363,14 +363,14 @@ font-weight:400; }
.numbers_container.numbers_pad_bottom .number{ padding-bottom:19px; }
.numbers_container.numbers_pad_bottom{ border-bottom:none; }

ul.session_list{ list-style-type:none; margin:0; padding:9px 16px 0 11px; }
ul.session_list li{ color:#0A0A0A; height:32px; overflow:hidden; line-height:18px; padding:4px; }
ul.session_list{ list-style-type:none; margin:0; padding:56px 16px 0 11px; }
ul.session_list li{ color:#0A0A0A; height:24px; overflow:hidden; line-height:24px; padding:4px; }
ul.session_list li:hover{ background:#eee; cursor:pointer; }
ul.session_list li input{ float: left; margin-right: 7px; }
ul.session_list li .picture{ height:25px; width:25px; float:left; background:#333; overflow:hidden; }
ul.session_list li .name{ float:left; width:115px; overflow:hidden; margin-left:10px; font-size:12px; }
ul.session_list li .time{ float:right; width:40px; overflow:hidden; text-align:right; font-size:10px; }
ul.session_list li .history{ float:right; color:#999; font-size:10px; line-height: 12px;}
ul.session_list li .history{ float:right; color:#999; font-size:10px; line-height: 12px; display:none }
ul.session_list li .history:hover{ color:#333; text-decoration:underline; }

.sessions_feed{ min-width:300px; min-height:100px; float:left; }
@@ -387,7 +387,7 @@ ul.event_type_list{ margin:10px; padding:0; }
ul.event_type_list li{ list-style-type:none; color:#0A0A0A; margin-bottom:8px; height:18px; overflow:hidden; line-height:18px; padding:4px; }
ul.event_type_list li input{ margin-right:7px; }
ul.event_type_list li:hover{ background:#eee; cursor:pointer; }
ul.event_type_list li .history{ float:right; color:#999; font-size:10px; }
ul.event_type_list li .history{ float:right; color:#999; font-size:10px; display:none; }
ul.event_type_list li .history:hover{ color:#333; text-decoration:underline; }

.clearfix:after {
+17 −16
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ FnordMetric.views.sessionView = (function(){
  var typeListElem  = $('<ul class="event_type_list"></ul>');

  var filterElem = $('<div class="events_sidebar"></div>')
    .append("<div class='headbar small'>Types</div>")
    .append("<div class='headbar small'>Event Types</div>")
    .append(typeListElem);

  var feedElem = $('<div class="sessions_feed"></div>').append(feedInnerElem);
@@ -15,6 +15,7 @@ FnordMetric.views.sessionView = (function(){
  var eventsFilter = {uncheckedTypes: [], checkedSessions: []};
  var sessionData = {};
  var pollRunning = true;
  var first_poll  = true;

  function load(elem){
    eventsPolledUntil = parseInt(new Date().getTime()/10000);
@@ -62,6 +63,7 @@ FnordMetric.views.sessionView = (function(){
        url: FnordMetric.p + '/' + FnordMetric.currentNamespace+'/sessions',
        success: callbackSessionPoll()
      });*/
      sortSessions();
    });
  };

@@ -88,18 +90,13 @@ FnordMetric.views.sessionView = (function(){
    });
  };

  function loadEventTypes(){
    /*$.ajax({
      url: FnordMetric.p + '/' + FnordMetric.currentNamespace+'/event_types',
      success: function(_data){
        var data = JSON.parse(_data);
        $(data.types).each(function(i,v){
  function loadEventTypes(data){
    typeListElem.html('');
    $(data).each(function(i,v){
      if((v.length > 0) && (v.slice(0,5)!='_set_')){
        addEventType(v,v);
      }
    });
      }
    });*/
  };

  function setCheckboxesCheckedState(types_state, sessions_state) {
@@ -153,17 +150,21 @@ FnordMetric.views.sessionView = (function(){

      FnordMetric.publish({
        "type": "active_users_request",
        "first_poll": first_poll,
        "since": eventsPolledUntil
      });

      first_poll = false;

    });
  };

  function announce(evt){
    if (evt.type == "active_users_response")
    if (evt.type == "active_users_response"){
      callbackEventsPoll(evt);

    console.log(evt);
      $(evt.sessions).each(function(){ updateSession(this); });
      if(evt.types.length > 0){ loadEventTypes(evt.types); }
    }
  }

  function callbackEventsPoll(data){
@@ -223,7 +224,7 @@ FnordMetric.views.sessionView = (function(){
  }

  function sortSessions(){
    console.log("fixme: sort and splice to 100");
    console.log("fixpaul: sort and splice to 100");
  }

  function renderSession(session_data){
+6 −6

File changed.

Contains only whitespace changes.

Loading