NMS
  • Map mode
    • Ping map
    • Uplink map
    • Temperature map
    • Traffic map
    • Comment spotter
    • 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)
  • Adjust updatePorts() frequency based on necessity (1sec updates is overkill for regular operation, but needed for time travel)
  • 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:

  • IPv6 support
  • Close SQL injections (IT'S WIDE OPEN BECAUSE WHY NOT THAT'S NEVER A PROBLEM)
  • Consider time log of DHCP (right now it just stores the most recent timestamp, making time travel impossible)
  • Fix SNMP-fetcher so it gets ifXTable and at least ifOperStatus from ifTable. Don't request the entire ifXTable if we can avoid it. Possibly other tweaks.
  • Support for adding switches through an API, not just pure SQL.
  • Comments. Allow two type of comments: switch-specific comments and "global". Possibly ticket-like support. Ooooooooh, jira support? :P
  • Integrate with FAP
  • Clean up old interfaces
  • Review various agents/tools
  • Improve cache headers
  • Re-test the SQL schema. It's been modified and works fine on my laptop, but I need to dump it, commit it and test it.
  • 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).