NMS
  • Map mode
    • Ping map
    • Uplink map
    • Temperature map
    • Traffic map
    • DISCO
    • Toggle Night Mode
    • Travel in time
    • Replay TG
    • About TG15 data
    • Map scale
    • Scale:
    • About
    • Debug timers

About the TG15 data

The data you see from The Gathering 2015 will seem "broken up". This is not because we don't have data from the first day, but because the backend was re-written on day 1/2 and this web app only uses the new API.

NMS was set up on March 30th (Monday). Data started pouring in on the 31st.

Ping data is available for the entire event with 1 second resolution.

DHCP data is available only for the last detected DHCP ack (no history, except extensive text-based logs)

Uplink status is available for most of the event, but not exposed here.

Traffic status was temporarily bugged, but is available from late on day 2.

Temperature data is available from day 2.

Plans are being made to ensure that we don't have gaps like these in the future.

It is also worth mentioning that things like switch positions are not logged historically, so you see the final position on the map.

Time travel

Welcome to NMS

Cool stuff:

  • Click a switch for more info
  • Rewind: You can check out state at a specific time or replay from the beginning of the event
  • Night mode, now with blur.
  • Auto-scaling the viewport/canvas
  • Total client speed (up right)
  • Generic(-ish) map handlers: provide a name, init-function and an update-function and the nms lib does the rest as far as integration goes.
  • An about-page that's full of bullet-points!

Todo list front end:

  • Polish time travel UI (Allow playing from a given time at a given speed, play/pause buttons, etc)
  • Toggle auto-scale on/off
  • Clean up various global variables
  • Split blur into separate canvas (canvas is there, it's just not used)
  • Add DHCP map
  • Add magic map (combined map of sorts)
  • Add better control panel stuff (Review timers, change some, etc)
  • Adjust updatePorts() frequency based on necessity (1sec updates is overkill for regular operation, but needed for time travel)
  • Fix legend display (There's a legend for all handlers, but it's currently hidden beneath the canvas)
  • More info on switches: Port state, possibly link time trends)
  • Moving switches around (like ping.html + edit)
  • Split nms.js into multiple components to unclutter the code
  • More.

Todo for backend:

  • Fix horrible SQL :D
  • Close SQL injections (IT'S WIDE OPEN BECAUSE WHY NOT THAT'S NEVER A PROBLEM)
  • Fix SNMP-fetcher so it gets ifXTable and at least ifOperStatus from ifTable. Possibly other tweaks.
  • Support for adding switches through an API, not just pure SQL.
  • Integrate with FAP
  • Clean up old interfaces
  • Review various agents/tools
  • Improve cache headers
  • Consider time log of DHCP (right now it just stores the most recent timestamp, making time travel impossible)
  • Munin plugin for ports.

Debug timers (e.g.: Break stuff! FAST!)

These are internal timers for the NMS frontend. They are provided mainly to debug the frontend. Setting AJAX-triggering counters to ridiculous numbers is not advised (mainly because it causes server load).