private ActiveReservoir getOrAddActiveReservoir(String name) { ActiveReservoir activeReservoir = activeReservoirs.get(name); if (activeReservoir != null) { return activeReservoir; } else { String defaultActiveReservoirClass = KylinConfig.getInstanceFromEnv() .getKylinMetricsActiveReservoirDefaultClass(); try { activeReservoir = (ActiveReservoir) Class.forName(defaultActiveReservoirClass).getConstructor() .newInstance(); } catch (Exception e) { logger.warn( "Failed to initialize the " + defaultActiveReservoirClass + ". The StubReservoir will be used"); activeReservoir = new StubReservoir(); } return register(name, activeReservoir); } }
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() { Metrics.register(name(prefix, "mean-search-time"), new Gauge<Double>() {
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"); } }
private ActiveReservoir getOrAddActiveReservoir(String name) { ActiveReservoir activeReservoir = activeReservoirs.get(name); if (activeReservoir != null) { return activeReservoir; } else { String defaultActiveReservoirClass = KylinConfig.getInstanceFromEnv() .getKylinMetricsActiveReservoirDefaultClass(); try { activeReservoir = (ActiveReservoir) Class.forName(defaultActiveReservoirClass).getConstructor() .newInstance(); } catch (Exception e) { logger.warn( "Failed to initialize the " + defaultActiveReservoirClass + ". The StubReservoir will be used"); activeReservoir = new StubReservoir(); } return register(name, activeReservoir); } }
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() { Metrics.register(name(prefix, "mean-search-time"), new Gauge<Double>() {
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"); } }