docs: private void statsTick(long time)
      {
          /*
           * grab the table statistics from ee and put it into the statistics
           * agent.
           */
          if (m_tableStats != null) {
              CatalogMap<Table> tables = m_context.database.getTables();
              int[] tableIds = new int[tables.size()];
              int i = 0;
              for (Table table : tables) {
                  tableIds[i++] = table.getRelativeIndex();
              }
  
              // data to aggregate
              long tupleCount = 0;
              long tupleDataMem = 0;
              long tupleAllocatedMem = 0;
              long indexMem = 0;
              long stringMem = 0;
  
              // update table stats
              final VoltTable[] s1 =
                  m_ee.getStats(StatsSelector.TABLE, tableIds, false, time);
              if ((s1 != null) && (s1.length > 0)) {
                  VoltTable stats = s1[0];
                  assert(stats != null);
  
                  // rollup the table memory stats for this site
                  while (stats.advanceRow()) {
                      //Assert column index matches name for ENG-4092
                      assert(stats.getColumnName(7).equals("TUPLE_COUNT"));
                      assert(stats.getColumnName(6).equals("TABLE_TYPE"));
                      assert(stats.getColumnName(5).equals("TABLE_NAME"));
                      boolean isReplicated = tables.getIgnoreCase(stats.getString(5)).getIsreplicated();
                      boolean trackMemory = (!isReplicated) || m_isLowestSiteId;
                      if ("PersistentTable".equals(stats.getString(6)) && trackMemory){
                          tupleCount += stats.getLong(7);
                      }
                      assert(stats.getColumnName(8).equals("TUPLE_ALLOCATED_MEMORY"));
                      if (trackMemory) {
                          tupleAllocatedMem += stats.getLong(8);
                      }
                      assert(stats.getColumnName(9).equals("TUPLE_DATA_MEMORY"));
                      if (trackMemory) {
                          tupleDataMem += stats.getLong(9);
                      }
                      assert(stats.getColumnName(10).equals("STRING_DATA_MEMORY"));
                      if (trackMemory) {
                          stringMem += stats.getLong(10);
                      }
                  }
                  stats.resetRowPosition();
  
                  m_tableStats.setStatsTable(stats);
              }
              else {
                  // the EE returned no table stats, which means there are no tables.
                  // Need to ensure the cached stats are cleared to reflect that
                  m_tableStats.resetStatsTable();
              }
  
              // update index stats
              final VoltTable[] s2 =
                  m_ee.getStats(StatsSelector.INDEX, tableIds, false, time);
              if ((s2 != null) && (s2.length > 0)) {
                  VoltTable stats = s2[0];
                  assert(stats != null);
  
                  // rollup the index memory stats for this site
                  while (stats.advanceRow()) {
                      //Assert column index matches name for ENG-4092
                      assert(stats.getColumnName(6).equals("TABLE_NAME"));
                      boolean isReplicated = tables.getIgnoreCase(stats.getString(6)).getIsreplicated();
                      boolean trackMemory = (!isReplicated) || m_isLowestSiteId;
                      assert(stats.getColumnName(11).equals("MEMORY_ESTIMATE"));
                      if (trackMemory) {
                          indexMem += stats.getLong(11);
                      }
                  }
                  stats.resetRowPosition();
  
                  m_indexStats.setStatsTable(stats);
              }
              else {
                  // the EE returned no index stats, which means there are no indexes.
                  // Need to ensure the cached stats are cleared to reflect that
                  m_indexStats.resetStatsTable();
              }
  
              // update the rolled up memory statistics
              if (m_memStats != null) {
                  m_memStats.eeUpdateMemStats(m_siteId,
                                              tupleCount,
                                              tupleDataMem,
                                              tupleAllocatedMem,
                                              indexMem,
                                              stringMem,
                                              m_ee.getThreadLocalPoolAllocations());
              }
          }
      }