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

generic websocket API

parent 8b4e9623
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -23,16 +23,21 @@ private
    messages << gauge(ns, event) if event["type"] == "render_request"
    messages << active_users(ns, event) if event["type"] == "active_users_request"

    m = messages.flatten.compact.map do |m|
    messages.flatten.compact.map do |m|
      m["namespace"] = event["namespace"]; m
    end
    puts m.inspect
    m
  end

  def widget(namespace, event)
    puts event.inspect
    "FnordMetric::#{event["klass"]}".constantize.execute(namespace, event) # FIXPAUL
    klass = if event["klass"] == "generic" && event["cmd"] == "values_for"
      FnordMetric::NumbersWidget
    elsif event["klass"] == "generic" && event["cmd"] == "values_at"
      FnordMetric::TimeseriesWidget
    else
      "FnordMetric::#{event["klass"]}".constantize
    end

    klass.execute(namespace, event)
  end

  def gauge(namespace, event)
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ FnordMetric.widgets.numbersWidget = function(){
      FnordMetric.publish({
        "namespace": FnordMetric.currentNamespace,
        "type": "widget_request",
        "klass": "NumbersWidget",
        "klass": "generic",
        "channel": opts.channel,
        "cmd": "values_for",
        "gauge": opts.series[k],
+1 −1
Original line number Diff line number Diff line
@@ -303,7 +303,7 @@ FnordMetric.widgets.timeseriesWidget = function(){
    function requestValuesAsync(){
      FnordMetric.publish({
        "type": "widget_request",
        "klass": "TimeseriesWidget",
        "klass": "generic",
        "gauges": opts.gauges,
        "cmd": "values_at",
        "tick": opts.tick, 
+5 −0
Original line number Diff line number Diff line
@@ -123,6 +123,11 @@ Wiki

    > getting started

    > http api

    > other data sourcs
      - stomp


  FnordMetric Classic