@Override public void createOrNoopGauge(final Role role, final String marker) { internalCreateOrNoopGauge(role, marker); }
@Override public SortedMap<Long, Double> getGaugeValues(final GaugeValuesRequest gaugeValuesRequest) { return delegate.getGaugeValues(gaugeValuesRequest, marker); }
@Override public SortedMap<Long, Double> getGaugeValues(final GaugeValuesRequest gaugeValuesRequest) { final SortedMap<Long, Double> result = new TreeMap<Long, Double>(); for (final String marker : markers()) { for (final Map.Entry<Long, Double> values : getGaugeValues(gaugeValuesRequest, marker).entrySet()) { final Long key = values.getKey(); Double d = result.get(key); if (d == null) { d = 0.; } result.put(key, d + values.getValue()); } } return result; }
@Override protected void pushGauges(final Map<Role, Measure> gauges) { for (final Map.Entry<Role, Measure> entry : gauges.entrySet()) { final Role role = entry.getKey(); final Measure measure = entry.getValue(); delegate.createOrNoopGauge(role, marker); delegate.addToGauge(role, measure.getTime(), measure.getValue(), marker); } }
@Override public Role findGaugeRole(final String name) { if (name== null || name.length()<1){ return null; } for (Role role: delegate.gauges()){ if (name.equals( role.getName() )){ return role; } } return null; } }
@Override public Collection<Role> gauges() { final Collection<Role> roles = new HashSet<Role>(); for (final String key : keys(keyspace, valueFamily)) { roles.add(keyToRole(key)); } return roles; }
private String internalCreateOrNoopGauge(final Role role, final String marker) { final String id = id(role, marker); HFactory.createMutator(keyspace, StringSerializer.get()) .addInsertion(marker, markerFamily, emptyColumn(id)) .execute(); return id; }
public CassandraCollectorDataStoreFactory() { super( IoCs.processInstance(new CassandraCollectorCounterDataStore()), IoCs.processInstance(new CassandraCollectorGaugeDataStore()), IoCs.processInstance(new CassandraCollectorNodeStatusDataStore()), IoCs.processInstance(new CassandraPathTrackingDataStore())); } }
@Override public void addToGauge(final Role role, final long time, final double value, final String marker) { HFactory.createMutator(keyspace, StringSerializer.get()) .addInsertion(internalCreateOrNoopGauge(role, marker), valueFamily, column(time, value)) .execute(); }
@Override public Collection<Role> gauges() { final Collection<Role> all = new HashSet<Role>(); if (readFromStore) { all.addAll(delegate.gauges()); } all.addAll(super.gauges()); // override by more recent ones return all; }
@Override public Role findGaugeRole(final String name) { for (final String key : keys(keyspace, valueFamily)) { final String[] segments = key.split(cassandra.keySeparator()); if (segments[0].equals(name)) { return keyToRole(key); } } throw new IllegalArgumentException("role '" + name + "' not found"); }
@Override public SortedMap<Long, Double> getGaugeValues(final GaugeValuesRequest gaugeValuesRequest, final String marker) { final QueryResult<ColumnSlice<Long, Double>> qResult = HFactory.createSliceQuery(keyspace, StringSerializer.get(), LongSerializer.get(), DoubleSerializer.get()) // .setKey(id(gaugeValuesRequest.getRole(), marker)) // .setColumnFamily(valueFamily) // .setRange(gaugeValuesRequest.getStart(), gaugeValuesRequest.getEnd(), false, Integer.MAX_VALUE) // .execute(); final SortedMap<Long, Double> result = new TreeMap<Long, Double>(); for (final HColumn<Long, Double> slide : qResult.get().getColumns()) { result.put(slide.getName(), slide.getValue()); } return result; }