presto-jmx/src/main/java/io/prestosql/plugin/jmx/JmxPeriodicSampler.java/JmxPeriodicSampler/runUnsafe
class JmxPeriodicSampler:    private void runUnsafe()
    {
        // we are using rounded up timestamp, so that records from different nodes and different
        // tables will have matching timestamps (for joining/grouping etc)
        long dumpTimestamp = roundToPeriod(currentTimeMillis());

        // if something has lagged and next dump has the same timestamp as this one, or somehow
        // time on the machine was changed backward (monotonic issue of currentTimeMillis)
        // ignore this dump
        if (dumpTimestamp <= lastDumpTimestamp) {
            return;
        }
        lastDumpTimestamp = dumpTimestamp;

        for (JmxTableHandle tableHandle : tableHandles) {
            try {
                for (String objectName : tableHandle.getObjectNames()) {
                    List<Object> row = jmxRecordSetProvider.getLiveRow(
                            objectName,
                            tableHandle.getColumnHandles(),
                            dumpTimestamp);
                    jmxHistoricalData.addRow(tableHandle.getTableName().getTableName(), row);
                }
            }
            catch (Exception exception) {
                log.error(exception, "Error reading jmx records");
            }
        }

        schedule();
    }