blueflood-core/src/main/java/com/rackspacecloud/blueflood/io/datastax/DAbstractMetricIO.java
public <T extends Object> Table<Locator, Long, T> toLocatorTimestampValue( List<ResultSetFuture> futures,
                                                                               Locator locator,
                                                                               String columnFamily,
                                                                               Range range) {
        Table<Locator, Long, T> locatorTimestampRollup = HashBasedTable.create();
        for ( ResultSetFuture future : futures ) {
            try {
                List<Row> rows = future.getUninterruptibly().all();

                // we only want to count the number of points we
                // get when we're querying the metrics_full
                if ( StringUtils.isNotEmpty(columnFamily) && columnFamily.equals(CassandraModel.CF_METRICS_FULL_NAME) ) {
                    Instrumentation.getRawPointsIn5MinHistogram().update(rows.size());
                }

                for (Row row : rows) {
                    String key = row.getString(DMetricsCFPreparedStatements.KEY);
                    Locator loc = Locator.createLocatorFromDbKey(key);
                    Long hash = row.getLong(DMetricsCFPreparedStatements.COLUMN1);
                    locatorTimestampRollup.put(loc, hash, (T)fromByteBuffer(row.getBytes(DMetricsCFPreparedStatements.VALUE)));
                }
            } catch (Exception ex) {
                Instrumentation.markReadError();
                LOG.error(String.format("error reading metric for locator %s, column family '%s', range %s",
                        locator, columnFamily, range.toString()), ex);
            }
        }
        return locatorTimestampRollup;
    }
public <T extends Object> Table<Locator, Long, T> toLocatorTimestampValue( List<ResultSetFuture> futures,
                                                                               Locator locator,
                                                                               String columnFamily,
                                                                               Range range) {
        Table<Locator, Long, T> locatorTimestampRollup = HashBasedTable.create();
        for ( ResultSetFuture future : futures ) {
            try {
                List<Row> rows = future.getUninterruptibly().all();

                // we only want to count the number of points we
                // get when we're querying the metrics_full
                if ( StringUtils.isNotEmpty(columnFamily) && columnFamily.equals(CassandraModel.CF_METRICS_FULL_NAME) ) {
                    Instrumentation.getRawPointsIn5MinHistogram().update(rows.size());
                }

                for (Row row : rows) {
                    String key = row.getString(DMetricsCFPreparedStatements.KEY);
                    Locator loc = Locator.createLocatorFromDbKey(key);
                    Long hash = row.getLong(DMetricsCFPreparedStatements.COLUMN1);
                    locatorTimestampRollup.put(loc, hash, (T)fromByteBuffer(row.getBytes(DMetricsCFPreparedStatements.VALUE)));
                }
            } catch (Exception ex) {
                Instrumentation.markReadError();
                LOG.error(String.format("error reading metric for locator %s, column family '%s', range %s",
                        locator, columnFamily, range.toString()), ex);
            }
        }
        return locatorTimestampRollup;
    }
public < T extends Object > Table < Locator , Long , T > toLocatorTimestampValue ( List < ResultSetFuture > futures , Locator locator , String columnFamily , Range range ) { Table < Locator , Long , T > locatorTimestampRollup = HashBasedTable . create ( ) ; for ( ResultSetFuture future : futures ) { try { List < Row > rows = future . getUninterruptibly ( ) . all ( ) ; // we only want to count the number of points we // get when we're querying the metrics_full if ( StringUtils . isNotEmpty ( columnFamily ) && columnFamily . equals ( CassandraModel . CF_METRICS_FULL_NAME ) ) { Instrumentation . getRawPointsIn5MinHistogram ( ) . update ( rows . size ( ) ) ; } for ( Row row : rows ) { String key = row . getString ( DMetricsCFPreparedStatements . KEY ) ; Locator loc = Locator . createLocatorFromDbKey ( key ) ; Long hash = row . getLong ( DMetricsCFPreparedStatements . COLUMN1 ) ; locatorTimestampRollup . put ( loc , hash , ( T ) fromByteBuffer ( row . getBytes ( DMetricsCFPreparedStatements . VALUE ) ) ) ; } } catch ( Exception ex ) { Instrumentation . markReadError ( ) ; LOG . error ( String . format ( "error reading metric for locator %s, column family '%s', range %s" , locator , columnFamily , range . toString ( ) ) , ex ) ; } } return locatorTimestampRollup ; }
Give a {@link com.datastax.driver.core.ResultSetFuture}, get
the corresponding data from it and return it as a
Table of locator, long and rollup.
Give a {