1.29. Release Notes 0.99.1

1.29.1. New Features

  • code that loads devices from the configuration file now detects and reports duplicates
  • This version comes with scripts and documentation for migration from embedded HSQLDB to MySQL.

1.29.2. Packaging

  • beginning with this version, we now ship deb package of NetSpyGlass.

1.29.3. Bugs fixed in this release

  • refresh of all panels in the UI, including embedded graphs, is now controlled by the polling interval configured in the server. Frequency of polling /api/ui/status JSON API function has been reduced as well.
  • bug that caused embedded graphs in the device summary panel to not update themselves has been fixed
  • if user deleted device in the config file but later added it back, the server would recreate the device with new ID. This means all discovery history was lost and there was no continuity in monitoring data between old and new copies of the device. This version fixes this problem. When device is added back to the config, the server finds it in the database by name or address (depending on how it is defined in the config) and “undeletes” it. This preserves continuity in discovery and monitoring data.

1.29.4. Other improvements

  • the size of the database sessions pool has been expanded to accommodate the demand when many users hit the UI simultaneously

  • multiple optimizations in the UI backend code have been made to reduce number of database sessions required to serve API queries used by the UI

  • Python function new_var() that is used in python rules to create new monitoring variables can now take optional third argument “description”. This argument can be used to assign meaningful component description to the new variable. Description appears in the second column in the Graphing Workbench. The call to new_var() might look like this:

    aggr = new_var('Cogent', 'peering')
    

    or:

    aggr = new_var('Cogent', 'peering', 'aggregate value')
    
  • Network topology discovery can now handle the case of L3 links discovered from ARP tables when ip and mac addresses found in the ARP table do not belong to the same interface. Mac address may even belong to an interface that was down at the time of discovery

  • Lots of improvements in the UI and UI backend code to make it work faster. Backend employs caching of HTTP responses to speed things up.

  • Optionally API calls can check If-Modified-Since HTTP header and return 304 (NotModified) response if UI requests information it should already have. This cuts down on the amount of data we transfer over the wire to make certain UI workflows even faster (for example when user quickly switches between several maps and the tiles page). Checking of the If-Modified-Since header is off by default, to turn it on set the following parameter in the config file nw2.conf:

    api.useIfLastModifiedSinceHeader = true
    

    Server restart is not required when you change the value of this parameter.

  • gzip compression has been enabled in the API web server

1.29.5. JSON API

  • the following api calls have been deprecated: * GET /api/ui/networks/:netid/maps/:mapid * PUT /api/ui/networks/:netid/maps/:mapid/nodes/coordinates