blob: 11c52423b723eea9ef9645c3034c559169e6a673 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ignite.internal.processors.metric;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.mxbean.MetricsMxBean;
/**
* {@link MetricsMxBean} implementation.
*/
public class MetricsMxBeanImpl implements MetricsMxBean {
/** Metric manager. */
private final GridMetricManager mmgr;
/** Logger. */
private final IgniteLogger log;
/**
* @param mmgr Metric manager.
* @param log Logger.
*/
public MetricsMxBeanImpl(GridMetricManager mmgr, IgniteLogger log) {
this.mmgr = mmgr;
this.log = log;
}
/** {@inheritDoc} */
@Override public void resetMetrics(String registry) {
assert registry != null;
MetricRegistry mreg = mmgr.registry(registry);
if (mreg != null)
mreg.reset();
else if (log.isInfoEnabled())
log.info("\"" + registry + "\" not found.");
}
/** {@inheritDoc} */
@Override public void configureHitRateMetric(String name, long rateTimeInterval) {
try {
mmgr.configureHitRate(name, rateTimeInterval);
}
catch (IgniteCheckedException e) {
throw new IgniteException(e);
}
}
/** {@inheritDoc} */
@Override public void configureHistogramMetric(String name, long[] bounds) {
try {
mmgr.configureHistogram(name, bounds);
}
catch (IgniteCheckedException e) {
throw new IgniteException(e);
}
}
}