Search in sources :

Example 1 with MetricsMxBean

use of org.apache.ignite.mxbean.MetricsMxBean in project ignite by apache.

the class MetricsConfigurationTest method testHistogramConfiguration.

/**
 * Tests configuration of {@link HistogramMetric}.
 */
@Test
public void testHistogramConfiguration() throws Exception {
    try (IgniteEx g = startGrid(0)) {
        MetricsMxBean bean = metricsBean(g);
        // Empty name.
        assertThrowsWithCause(() -> bean.configureHistogramMetric(null, BOUNDS), NullPointerException.class);
        // Wrong bounds value.
        assertThrowsWithCause(() -> bean.configureHistogramMetric(metricName(TX_METRICS, METRIC_SYSTEM_TIME_HISTOGRAM), null), NullPointerException.class);
        assertThrowsWithCause(() -> bean.configureHistogramMetric(metricName(TX_METRICS, METRIC_SYSTEM_TIME_HISTOGRAM), new long[0]), IllegalArgumentException.class);
        bean.configureHistogramMetric(metricName(TX_METRICS, METRIC_SYSTEM_TIME_HISTOGRAM), BOUNDS);
        HistogramMetric systemTime = g.context().metric().registry(TX_METRICS).findMetric(METRIC_SYSTEM_TIME_HISTOGRAM);
        assertArrayEquals(BOUNDS, systemTime.bounds());
    }
}
Also used : IgniteEx(org.apache.ignite.internal.IgniteEx) MetricsMxBean(org.apache.ignite.mxbean.MetricsMxBean) HistogramMetric(org.apache.ignite.spi.metric.HistogramMetric) GridCommonAbstractTest(org.apache.ignite.testframework.junits.common.GridCommonAbstractTest) Test(org.junit.Test)

Example 2 with MetricsMxBean

use of org.apache.ignite.mxbean.MetricsMxBean in project ignite by apache.

the class IgniteMBeansManager method registerMBeansAfterNodeStarted.

/**
 * Registers kernal MBeans (for kernal, metrics, thread pools) after node start.
 *
 * @throws IgniteCheckedException if fails to register any of the MBeans.
 */
public void registerMBeansAfterNodeStarted() throws IgniteCheckedException {
    if (U.IGNITE_MBEANS_DISABLED)
        return;
    // Kernal
    IgniteMXBean kernalMXBean = new IgniteMXBeanImpl(kernal);
    registerMBean("Kernal", IgniteKernal.class.getSimpleName(), kernalMXBean, IgniteMXBean.class);
    // Metrics
    ClusterMetricsMXBean locMetricsBean = new ClusterLocalNodeMetricsMXBeanImpl(ctx.discovery());
    registerMBean("Kernal", locMetricsBean.getClass().getSimpleName(), locMetricsBean, ClusterMetricsMXBean.class);
    ClusterMetricsMXBean metricsBean = new ClusterMetricsMXBeanImpl(kernal.cluster(), ctx);
    registerMBean("Kernal", metricsBean.getClass().getSimpleName(), metricsBean, ClusterMetricsMXBean.class);
    // Transaction metrics
    TransactionMetricsMxBean txMetricsMXBean = new TransactionMetricsMxBeanImpl(ctx.cache().transactions().metrics());
    registerMBean("TransactionMetrics", txMetricsMXBean.getClass().getSimpleName(), txMetricsMXBean, TransactionMetricsMxBean.class);
    // Transactions
    TransactionsMXBean txMXBean = new TransactionsMXBeanImpl(ctx);
    registerMBean("Transactions", txMXBean.getClass().getSimpleName(), txMXBean, TransactionsMXBean.class);
    // Queries management
    QueryMXBean qryMXBean = new QueryMXBeanImpl(ctx);
    registerMBean("Query", qryMXBean.getClass().getSimpleName(), qryMXBean, QueryMXBean.class);
    // Compute task management
    ComputeMXBean computeMXBean = new ComputeMXBeanImpl(ctx);
    registerMBean("Compute", computeMXBean.getClass().getSimpleName(), computeMXBean, ComputeMXBean.class);
    // Service management
    ServiceMXBean serviceMXBean = new ServiceMXBeanImpl(ctx);
    registerMBean("Service", serviceMXBean.getClass().getSimpleName(), serviceMXBean, ServiceMXBean.class);
    // Data storage
    DataStorageMXBean dataStorageMXBean = new DataStorageMXBeanImpl(ctx);
    registerMBean("DataStorage", dataStorageMXBean.getClass().getSimpleName(), dataStorageMXBean, DataStorageMXBean.class);
    // Baseline configuration
    BaselineAutoAdjustMXBean baselineAutoAdjustMXBean = new BaselineAutoAdjustMXBeanImpl(ctx);
    registerMBean("Baseline", baselineAutoAdjustMXBean.getClass().getSimpleName(), baselineAutoAdjustMXBean, BaselineAutoAdjustMXBean.class);
    // Encryption
    EncryptionMXBean encryptionMXBean = new EncryptionMXBeanImpl(ctx);
    registerMBean("Encryption", encryptionMXBean.getClass().getSimpleName(), encryptionMXBean, EncryptionMXBean.class);
    // Snapshot.
    SnapshotMXBean snpMXBean = new SnapshotMXBeanImpl(ctx);
    registerMBean("Snapshot", snpMXBean.getClass().getSimpleName(), snpMXBean, SnapshotMXBean.class);
    // Defragmentation.
    DefragmentationMXBean defragMXBean = new DefragmentationMXBeanImpl(ctx);
    registerMBean("Defragmentation", defragMXBean.getClass().getSimpleName(), defragMXBean, DefragmentationMXBean.class);
    // Metrics configuration
    MetricsMxBean metricsMxBean = new MetricsMxBeanImpl(ctx.metric(), log);
    registerMBean("Metrics", metricsMxBean.getClass().getSimpleName(), metricsMxBean, MetricsMxBean.class);
    ctx.pools().registerMxBeans(this);
    if (U.IGNITE_TEST_FEATURES_ENABLED) {
        WorkersControlMXBean workerCtrlMXBean = new WorkersControlMXBeanImpl(ctx.workersRegistry());
        registerMBean("Kernal", workerCtrlMXBean.getClass().getSimpleName(), workerCtrlMXBean, WorkersControlMXBean.class);
    }
    FailureHandlingMxBean blockOpCtrlMXBean = new FailureHandlingMxBeanImpl(ctx.workersRegistry(), ctx.cache().context().database());
    registerMBean("Kernal", blockOpCtrlMXBean.getClass().getSimpleName(), blockOpCtrlMXBean, FailureHandlingMxBean.class);
    if (ctx.query().moduleEnabled())
        ctx.query().getIndexing().registerMxBeans(this);
    PerformanceStatisticsMBeanImpl performanceStatMbean = new PerformanceStatisticsMBeanImpl(ctx);
    registerMBean("PerformanceStatistics", performanceStatMbean.getClass().getSimpleName(), performanceStatMbean, PerformanceStatisticsMBean.class);
}
Also used : QueryMXBean(org.apache.ignite.mxbean.QueryMXBean) TransactionMetricsMxBeanImpl(org.apache.ignite.internal.TransactionMetricsMxBeanImpl) QueryMXBeanImpl(org.apache.ignite.internal.QueryMXBeanImpl) ComputeMXBean(org.apache.ignite.mxbean.ComputeMXBean) ClusterLocalNodeMetricsMXBeanImpl(org.apache.ignite.internal.ClusterLocalNodeMetricsMXBeanImpl) EncryptionMXBeanImpl(org.apache.ignite.internal.managers.encryption.EncryptionMXBeanImpl) ServiceMXBean(org.apache.ignite.mxbean.ServiceMXBean) BaselineAutoAdjustMXBean(org.apache.ignite.mxbean.BaselineAutoAdjustMXBean) WorkersControlMXBeanImpl(org.apache.ignite.internal.worker.WorkersControlMXBeanImpl) SnapshotMXBeanImpl(org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMXBeanImpl) DefragmentationMXBean(org.apache.ignite.mxbean.DefragmentationMXBean) DataStorageMXBeanImpl(org.apache.ignite.internal.processors.cache.persistence.DataStorageMXBeanImpl) EncryptionMXBean(org.apache.ignite.mxbean.EncryptionMXBean) IgniteKernal(org.apache.ignite.internal.IgniteKernal) TransactionsMXBeanImpl(org.apache.ignite.internal.TransactionsMXBeanImpl) ClusterMetricsMXBeanImpl(org.apache.ignite.internal.ClusterMetricsMXBeanImpl) ServiceMXBeanImpl(org.apache.ignite.internal.ServiceMXBeanImpl) IgniteMXBean(org.apache.ignite.mxbean.IgniteMXBean) DataStorageMXBean(org.apache.ignite.mxbean.DataStorageMXBean) PerformanceStatisticsMBeanImpl(org.apache.ignite.internal.processors.performancestatistics.PerformanceStatisticsMBeanImpl) ComputeMXBeanImpl(org.apache.ignite.internal.ComputeMXBeanImpl) ClusterMetricsMXBean(org.apache.ignite.mxbean.ClusterMetricsMXBean) TransactionMetricsMxBean(org.apache.ignite.mxbean.TransactionMetricsMxBean) SnapshotMXBean(org.apache.ignite.mxbean.SnapshotMXBean) TransactionsMXBean(org.apache.ignite.mxbean.TransactionsMXBean) BaselineAutoAdjustMXBeanImpl(org.apache.ignite.internal.processors.cluster.BaselineAutoAdjustMXBeanImpl) WorkersControlMXBean(org.apache.ignite.mxbean.WorkersControlMXBean) FailureHandlingMxBean(org.apache.ignite.mxbean.FailureHandlingMxBean) TransactionMetricsMxBean(org.apache.ignite.mxbean.TransactionMetricsMxBean) MetricsMxBean(org.apache.ignite.mxbean.MetricsMxBean) TransactionMetricsMxBeanImpl(org.apache.ignite.internal.TransactionMetricsMxBeanImpl) MetricsMxBeanImpl(org.apache.ignite.internal.processors.metric.MetricsMxBeanImpl) DefragmentationMXBeanImpl(org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationMXBeanImpl) IgniteMXBeanImpl(org.apache.ignite.internal.IgniteMXBeanImpl) FailureHandlingMxBeanImpl(org.apache.ignite.internal.worker.FailureHandlingMxBeanImpl)

Example 3 with MetricsMxBean

use of org.apache.ignite.mxbean.MetricsMxBean in project ignite by apache.

the class MetricsConfigurationTest method testHitRateConfiguration.

/**
 * Tests configuration of {@link HitRateMetric}.
 */
@Test
public void testHitRateConfiguration() throws Exception {
    try (IgniteEx g = startGrid(0)) {
        MetricsMxBean bean = metricsBean(g);
        // Empty name.
        assertThrowsWithCause(() -> bean.configureHitRateMetric(null, 1), NullPointerException.class);
        // Wrong rateTimeInterval value.
        assertThrowsWithCause(() -> bean.configureHitRateMetric("io.dataregion.default.AllocationRate", 0), IllegalArgumentException.class);
        assertThrowsWithCause(() -> bean.configureHitRateMetric("io.dataregion.default.AllocationRate", -1), IllegalArgumentException.class);
        bean.configureHitRateMetric("io.dataregion.default.AllocationRate", 5000);
        HitRateMetric allocationRate = g.context().metric().registry(metricName("io.dataregion.default")).findMetric("AllocationRate");
        assertEquals(5000, allocationRate.rateTimeInterval());
    }
}
Also used : IgniteEx(org.apache.ignite.internal.IgniteEx) HitRateMetric(org.apache.ignite.internal.processors.metric.impl.HitRateMetric) MetricsMxBean(org.apache.ignite.mxbean.MetricsMxBean) GridCommonAbstractTest(org.apache.ignite.testframework.junits.common.GridCommonAbstractTest) Test(org.junit.Test)

Aggregations

MetricsMxBean (org.apache.ignite.mxbean.MetricsMxBean)3 IgniteEx (org.apache.ignite.internal.IgniteEx)2 GridCommonAbstractTest (org.apache.ignite.testframework.junits.common.GridCommonAbstractTest)2 Test (org.junit.Test)2 ClusterLocalNodeMetricsMXBeanImpl (org.apache.ignite.internal.ClusterLocalNodeMetricsMXBeanImpl)1 ClusterMetricsMXBeanImpl (org.apache.ignite.internal.ClusterMetricsMXBeanImpl)1 ComputeMXBeanImpl (org.apache.ignite.internal.ComputeMXBeanImpl)1 IgniteKernal (org.apache.ignite.internal.IgniteKernal)1 IgniteMXBeanImpl (org.apache.ignite.internal.IgniteMXBeanImpl)1 QueryMXBeanImpl (org.apache.ignite.internal.QueryMXBeanImpl)1 ServiceMXBeanImpl (org.apache.ignite.internal.ServiceMXBeanImpl)1 TransactionMetricsMxBeanImpl (org.apache.ignite.internal.TransactionMetricsMxBeanImpl)1 TransactionsMXBeanImpl (org.apache.ignite.internal.TransactionsMXBeanImpl)1 EncryptionMXBeanImpl (org.apache.ignite.internal.managers.encryption.EncryptionMXBeanImpl)1 DataStorageMXBeanImpl (org.apache.ignite.internal.processors.cache.persistence.DataStorageMXBeanImpl)1 DefragmentationMXBeanImpl (org.apache.ignite.internal.processors.cache.persistence.defragmentation.DefragmentationMXBeanImpl)1 SnapshotMXBeanImpl (org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMXBeanImpl)1 BaselineAutoAdjustMXBeanImpl (org.apache.ignite.internal.processors.cluster.BaselineAutoAdjustMXBeanImpl)1 MetricsMxBeanImpl (org.apache.ignite.internal.processors.metric.MetricsMxBeanImpl)1 HitRateMetric (org.apache.ignite.internal.processors.metric.impl.HitRateMetric)1