final String prefix = name(cache.getClass(), cache.getName()); Metrics.register(name(prefix, "hits"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "in-memory-hits"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "misses"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "in-memory-misses"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "objects"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "in-memory-objects"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "mean-get-time"), new Gauge<Double>() { @Override public Double getValue() {
private void init() { if (KylinConfig.getInstanceFromEnv().isKylinMetricsMonitorEnabled()) { logger.info("Kylin metrics monitor is enabled."); int nameIdx = 0; for (ActiveReservoir activeReservoir : sourceReporterBindProps.keySet()) { String registerName = MetricsSystem.name(MetricsManager.class, "-" + nameIdx + "-" + activeReservoir.toString()); activeReservoirPointers.add(registerName); List<Pair<Class<? extends ActiveReservoirReporter>, Properties>> reportProps = sourceReporterBindProps .get(activeReservoir); for (Pair<Class<? extends ActiveReservoirReporter>, Properties> subEntry : reportProps) { try { Method method = subEntry.getFirst().getMethod(METHOD_FOR_REGISTRY, ActiveReservoir.class); ((ReporterBuilder) method.invoke(null, activeReservoir)).setConfig(subEntry.getSecond()).build() .start(); } catch (Exception e) { logger.warn("Cannot initialize ActiveReservoirReporter: Builder class - " + subEntry.getFirst() + ", Properties - " + subEntry.getSecond()); } } Metrics.register(registerName, activeReservoir); } Preconditions.checkArgument(activeReservoirPointers.size() == sourceReporterBindProps.keySet().size(), "Duplicate register names exist!!!"); } else { logger.info("Kylin metrics monitor is not enabled"); } }
final String prefix = name(cache.getClass(), cache.getName()); Metrics.register(name(prefix, "hits"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "in-memory-hits"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "misses"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "in-memory-misses"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "objects"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "in-memory-objects"), new Gauge<Long>() { @Override public Long getValue() { Metrics.register(name(prefix, "mean-get-time"), new Gauge<Double>() { @Override public Double getValue() {
private void init() { if (KylinConfig.getInstanceFromEnv().isKylinMetricsMonitorEnabled()) { logger.info("Kylin metrics monitor is enabled."); int nameIdx = 0; for (ActiveReservoir activeReservoir : sourceReporterBindProps.keySet()) { String registerName = MetricsSystem.name(MetricsManager.class, "-" + nameIdx + "-" + activeReservoir.toString()); activeReservoirPointers.add(registerName); List<Pair<Class<? extends ActiveReservoirReporter>, Properties>> reportProps = sourceReporterBindProps .get(activeReservoir); for (Pair<Class<? extends ActiveReservoirReporter>, Properties> subEntry : reportProps) { try { Method method = subEntry.getFirst().getMethod(METHOD_FOR_REGISTRY, ActiveReservoir.class); ((ReporterBuilder) method.invoke(null, activeReservoir)).setConfig(subEntry.getSecond()).build() .start(); } catch (Exception e) { logger.warn("Cannot initialize ActiveReservoirReporter: Builder class - " + subEntry.getFirst() + ", Properties - " + subEntry.getSecond()); } } Metrics.register(registerName, activeReservoir); } Preconditions.checkArgument(activeReservoirPointers.size() == sourceReporterBindProps.keySet().size(), "Duplicate register names exist!!!"); } else { logger.info("Kylin metrics monitor is not enabled"); } }