use monitor to clean up lost clients
accomodate any order of json keys
don't assume .log file is the first one
separate out some data handling functions
use tap_data