@Override protected Gauge newGauge(Id id) { return new StatelessGauge(id, clock(), meterTTL); }
@Override protected Timer newTimer(Id id) { return new StatelessTimer(id, clock(), meterTTL); }
@Override protected Gauge newMaxGauge(Id id) { return new StatelessMaxGauge(id, clock(), meterTTL); }
/** * Returns the URI for the aggregation service. The default is * {@code http://localhost:7101/api/v4/update}. */ default String uri() { String v = get("stateless.uri"); return (v == null) ? "http://localhost:7101/api/v4/update" : v; }
@Override protected Counter newCounter(Id id) { return new StatelessCounter(id, clock(), meterTTL); }
@Override protected DistributionSummary newDistributionSummary(Id id) { return new StatelessDistributionSummary(id, clock(), meterTTL); }
@Override public void add(double amount) { if (amount > 0.0) { count.addAndGet(amount); updateLastModTime(); } }
/** * Returns the URI for the aggregation service. The default is * {@code http://localhost:7101/api/v4/update}. */ default String uri() { String v = get("stateless.uri"); return (v == null) ? "http://localhost:7101/api/v4/update" : v; }
@Override protected Gauge newGauge(Id id) { return new StatelessGauge(id, clock(), meterTTL); }
@Override protected Timer newTimer(Id id) { return new StatelessTimer(id, clock(), meterTTL); }
@Override protected Gauge newMaxGauge(Id id) { return new StatelessMaxGauge(id, clock(), meterTTL); }
@Override protected Counter newCounter(Id id) { return new StatelessCounter(id, clock(), meterTTL); }
@Override protected DistributionSummary newDistributionSummary(Id id) { return new StatelessDistributionSummary(id, clock(), meterTTL); }
/** * Returns true if publishing is enabled. Default is true. */ default boolean enabled() { String v = get("stateless.enabled"); return v == null || Boolean.valueOf(v); }
/** * Returns the number of measurements per request to use for the backend. If more * measurements are found, then multiple requests will be made. The default is * 10,000. */ default int batchSize() { String v = get("stateless.batchSize"); return (v == null) ? 10000 : Integer.parseInt(v); }
/** * Returns true if publishing is enabled. Default is true. */ default boolean enabled() { String v = get("stateless.enabled"); return v == null || Boolean.valueOf(v); }
/** * Returns the connection timeout for requests to the backend. The default is * 1 second. */ default Duration connectTimeout() { String v = get("stateless.connectTimeout"); return (v == null) ? Duration.ofSeconds(1) : Duration.parse(v); }
/** * Returns the read timeout for requests to the backend. The default is * 10 seconds. */ default Duration readTimeout() { String v = get("stateless.readTimeout"); return (v == null) ? Duration.ofSeconds(10) : Duration.parse(v); }
/** * Returns the frequency to collect data and forward to the aggregation service. The * default is 5 seconds. */ default Duration frequency() { String v = get("stateless.enabled"); return v == null ? Duration.ofSeconds(5) : Duration.parse(v); }
/** * Returns the TTL for meters that do not have any activity. After this period the meter * will be considered expired and will not get reported. Default is 15 minutes. */ default Duration meterTTL() { String v = get("stateless.meterTTL"); return (v == null) ? Duration.ofMinutes(15) : Duration.parse(v); }