public static Gauge valueFor(double value, double nan) { return new Gauge(value == nan ? Double.NaN : value); }
private ValueType<?> value() { return new Gauge(1.0d); // XXX: hard-coded for now }
myGauge = new Gauge("Process", false, 60, 0); myForm.append(myGauge);
@Override public Gauge plus(Number value) { return new Gauge(doubleValue() + value.doubleValue()); }
@Override public Gauge minus(Number value) { return new Gauge(doubleValue() - value.doubleValue()); }
@Override public Gauge times(Number value) { return new Gauge(doubleValue() * value.doubleValue()); }
@Override public Gauge divideBy(Number value) { return new Gauge(doubleValue() / value.doubleValue()); }
public static ValueType<?> compose(Number number, MetricType type) { switch (type) { case ABSOLUTE: return new Absolute(UnsignedLong.fromLongBits(number.longValue())); case COUNTER: return new Counter(UnsignedLong.fromLongBits(number.longValue())); case DERIVE: return new Derive(UnsignedLong.fromLongBits(number.longValue())); case GAUGE: return new Gauge(number.doubleValue()); default: throw new IllegalArgumentException(String.format("Unknown metric type: %s", type)); } }
public static ValueType<?> compose(ByteBuffer data) { ByteBuffer buffer = data.duplicate(); MetricType type = MetricType.fromCode(buffer.get()); switch (type) { case ABSOLUTE: return new Absolute(UnsignedLong.fromLongBits(buffer.getLong())); case COUNTER: return new Counter(UnsignedLong.fromLongBits(buffer.getLong())); case DERIVE: return new Derive(UnsignedLong.fromLongBits(buffer.getLong())); case GAUGE: return new Gauge(buffer.getDouble()); default: throw new IllegalArgumentException(String.format("Unknown metric type: %s", type)); } }
protected static Sample toSample(AbstractDS ds, Resource resource, Timestamp timestamp, double value) { final String metric = ds.getName(); final MetricType type = ds.isCounter() ? MetricType.COUNTER : MetricType.GAUGE; final ValueType<?> valueType = ds.isCounter() ? new Counter(UnsignedLong.valueOf(BigDecimal.valueOf(value).toBigInteger())) : new Gauge(value); return new Sample(timestamp, resource, metric, type, valueType); }
Gauge meanWindSpeed = new Gauge(speed); samples.add(new Sample(ts, station, "meanWindSpeed", GAUGE, meanWindSpeed));
private Sample getRate(Sample sample) { ValueType<?> value = NAN; Sample previous = m_prevSamples.get(sample.getName()); if (previous != null) { long elapsed = sample.getTimestamp().asSeconds() - previous.getTimestamp().asSeconds(); try { value = new Gauge(sample.getValue().delta(previous.getValue()).doubleValue() / elapsed); } catch (ArithmeticException e) { value = NAN; } } return new Sample(sample.getTimestamp(), sample.getResource(), sample.getName(), GAUGE, value, sample.getAttributes()); }