@Override public Map<String, Long> getEntityCounters( UUID entityId ) throws Exception { Map<String, Long> counters = new HashMap<String, Long>(); Keyspace ko = cass.getApplicationKeyspace( applicationId ); SliceCounterQuery<UUID, String> q = createCounterSliceQuery( ko, ue, se ); q.setColumnFamily( ENTITY_COUNTERS.toString() ); q.setRange( null, null, false, ALL_COUNT ); //Adding graphite metrics Timer.Context timeEntityCounters = entGetEntityCountersTimer.time(); QueryResult<CounterSlice<String>> r = q.setKey( entityId ).execute(); timeEntityCounters.stop(); for ( HCounterColumn<String> column : r.get().getColumns() ) { counters.put( column.getName(), column.getValue() ); } return counters; }
public Map<String, Long> getQueueCounters( UUID queueId ) throws Exception { Map<String, Long> counters = new HashMap<String, Long>(); Keyspace ko = cass.getApplicationKeyspace( applicationId ); SliceCounterQuery<UUID, String> q = createCounterSliceQuery( ko, ue, se ); q.setColumnFamily( COUNTERS.getColumnFamily() ); q.setRange( null, null, false, ALL_COUNT ); QueryResult<CounterSlice<String>> r = q.setKey( queueId ).execute(); for ( HCounterColumn<String> column : r.get().getColumns() ) { counters.put( column.getName(), column.getValue() ); } return counters; }
AggregateCounter count = new AggregateCounter( column.getName(), column.getValue() ); if ( pad && !( resolution == CounterResolution.ALL ) ) { while ( count.getTimestamp() != expected_time ) {
List<AggregateCounter> counters = new ArrayList<AggregateCounter>(); for ( HCounterColumn<Long> column : r.get().getColumns() ) { AggregateCounter count = new AggregateCounter( column.getName(), column.getValue() ); if ( pad && !( resolution == CounterResolution.ALL ) ) { while ( count.getTimestamp() != expected_time ) {
List<AggregateCounter> counters = new ArrayList<AggregateCounter>(); for ( HCounterColumn<Long> column : r.getColumnSlice().getColumns() ) { AggregateCounter count = new AggregateCounter( column.getName(), column.getValue() ); if ( pad && ( resolution != CounterResolution.ALL ) ) { while ( count.getTimestamp() != expected_time ) {
List<AggregateCounter> counters = new ArrayList<AggregateCounter>(); for ( HCounterColumn<Long> column : r.getColumnSlice().getColumns() ) { AggregateCounter count = new AggregateCounter( column.getName(), column.getValue() ); if ( pad && ( resolution != CounterResolution.ALL ) ) { while ( count.getTimestamp() != expected_time ) {
@Test public void testIterator() { SliceCounterQuery<String, UUID> query = HFactory.createCounterSliceQuery(keyspace, se, us).setKey(KEY).setColumnFamily(CF); SliceCounterIterator<String, UUID> it = new SliceCounterIterator<String, UUID>(query, null, FINISH, false, 100); Map<UUID, Long> results = new HashMap<UUID, Long>(); while (it.hasNext()) { HCounterColumn<UUID> c = it.next(); results.put(c.getName(), c.getValue()); } assertEquals(1000, results.size()); }
private Long readCounterValue(String key, String cf, String colName) { CounterQuery<String, String> q = createCounterColumnQuery(ko, se, se); q.setColumnFamily(cf).setName(colName).setKey(key); HCounterColumn<String> c = q.execute().get(); if (c == null) return null; return c.getValue(); }
/** * Clear the counter columns. */ public void clear() { Mutator<K> mutator = HFactory.createMutator(this.keyspace, this.keySerializer, new BatchSizeHint(1, this.mutateInterval)); SliceCounterQuery<K, N> query = HFactory.createCounterSliceQuery(this.keyspace, this.keySerializer, this.nameSerializer). setColumnFamily(this.cf). setKey(this.rowKey); SliceCounterIterator<K, N> iterator = new SliceCounterIterator<K, N>(query, null, (N) null, false, this.count); while(iterator.hasNext()) { HCounterColumn<N> column = iterator.next(); mutator.incrementCounter(this.rowKey, this.cf, column.getName(), column.getValue() * -1); } mutator.execute(); } }
@Test public void testModificationIterator() { Mutator mutator = HFactory.createMutator(keyspace, se); SliceCounterQuery<String, UUID> query = HFactory.createCounterSliceQuery(keyspace, se, us).setKey(KEY).setColumnFamily(CF); SliceCounterIterator<String, UUID> it = new SliceCounterIterator<String, UUID>(query, null, FINISH, false, 100); Map<UUID, Long> results = new HashMap<UUID, Long>(); while (it.hasNext()) { HCounterColumn<UUID> c = it.next(); results.put(c.getName(), c.getValue()); mutator.addDeletion(KEY, CF, c.getName(), us); mutator.execute(); } assertEquals(1000, results.size()); }
@Test public void testInsertCounter() { Mutator<String> m = createMutator(keyspace, se); MutationResult mr = m.insertCounter("k", "Counter1", createCounterColumn("name", 5)); assertTrue("Execution time on single counter insert should be > 0", mr.getExecutionTimeMicro() > 0); assertTrue("Should have operated on a host", mr.getHostUsed() != null); CounterQuery<String, String> counter = new ThriftCounterColumnQuery<String,String>(keyspace, se, se); counter.setColumnFamily("Counter1").setKey("k").setName("name"); assertEquals(new Long(5), counter.execute().get().getValue()); }
@Test public void testRangeSubSlicesCounterQuery() { String cf = "SuperCounter1"; TestCleanupDescriptor cleanup = insertSuperCountColumns(cf, 4, "testRangeSubSlicesCounterQuery", 3, "testRangeSubSlicesCounterQuery"); // get value RangeSubSlicesCounterQuery<String, String, String> q = createRangeSubSlicesCounterQuery( ko, se, se, se); q.setColumnFamily(cf); q.setKeys("testRangeSubSlicesCounterQuery2", "testRangeSubSlicesCounterQuery3"); // try with column name first q.setSuperColumn("testRangeSubSlicesCounterQuery1"); q.setColumnNames("c021", "c111"); QueryResult<OrderedCounterRows<String, String>> r = q.execute(); assertNotNull(r); OrderedCounterRows<String, String> rows = r.get(); assertNotNull(rows); assertEquals(2, rows.getCount()); CounterRow<String, String> row = rows.getList().get(0); assertNotNull(row); assertEquals("testRangeSubSlicesCounterQuery2", row.getKey()); CounterSlice<String> slice = row.getColumnSlice(); assertNotNull(slice); // Test slice.getColumnByName assertEquals(Long.valueOf(3), slice.getColumnByName("c021").getValue()); assertEquals(Long.valueOf(3), slice.getColumnByName("c111").getValue()); assertNull(slice.getColumnByName("c033")); // Delete values deleteColumns(cleanup); }
@Test public void testIncrementDecrementCounter() { createMutator(ko, se).incrementCounter("testIncrementDecrementCounter", COUNTER_CF, "testIncrementDecrementCounter_name", 7); createMutator(ko, se).decrementCounter("testIncrementDecrementCounter", COUNTER_CF, "testIncrementDecrementCounter_name", 2); // The total in the counter is 5. (7 - 2) // get value CounterQuery<String, String> q = createCounterColumnQuery(ko, se, se); q.setColumnFamily(COUNTER_CF).setName("testIncrementDecrementCounter_name"); QueryResult<HCounterColumn<String>> r = q.setKey("testIncrementDecrementCounter") .execute(); assertNotNull(r); HCounterColumn<String> c = r.get(); assertNotNull(c); Long value = c.getValue(); assertEquals(5, value.longValue()); }
assertEquals(2, slice.getColumns().size()); assertEquals(Long.valueOf(0), slice.getColumnByName("c000").getValue());
Long value = c.getValue(); assertEquals(25, value.longValue()); String name = c.getName();
private static void checkCounterColumnValue(RowModel expectedRowModel, HCounterColumn<byte[]> hColumn) throws Error { byte[] expectedColumnName = hColumn.getName(); Long expectedColumnValue = hColumn.getValue(); byte[] expectedColumnValueBytes = getBytes(new GenericType(Long.toString(expectedColumnValue), GenericTypeEnum.LONG_TYPE)); if (!areLoadValuesOnExpectedList(expectedRowModel.getColumns(), expectedColumnName, expectedColumnValueBytes)) { throw FailureHandler.createFailure("Row with key %s does not contain column with name %s and value %s.", asString(expectedRowModel.getKey()), new String(expectedColumnName), expectedColumnValue); } }
private static void checkCounterColumnValue(RowModel expectedRowModel, HCounterColumn<byte[]> hColumn) throws Error { byte[] expectedColumnName = hColumn.getName(); Long expectedColumnValue = hColumn.getValue(); byte[] expectedColumnValueBytes = getBytes(new GenericType(Long.toString(expectedColumnValue), GenericTypeEnum.LONG_TYPE)); if (!areLoadValuesOnExpectedList(expectedRowModel.getColumns(), expectedColumnName, expectedColumnValueBytes)) { throw FailureHandler.createFailure("Row with key %s does not contain column with name %s and value %s.", asString(expectedRowModel.getKey()), new String(expectedColumnName), expectedColumnValue); } }
@Override public Long get(final K key) { final CounterQuery<K, String> counter = new ThriftCounterColumnQuery<K, String>(_keyspace, _serializer_k, STRING_SERIALIZER); counter.setColumnFamily(_cf_name).setKey(key).setName(COLUMN_NAME_AS_STRING); final HCounterColumn<String> c = counter.execute().get(); if (c == null) { if (_default_value != null) { return _default_value; } else { return null; } } else { return c.getValue(); } }