don't need entire message handler to be wrapped in try/catch - only JSON.parse
log query responses with timing info.  log queries that don't return by 5 seconds as failed queries