/*
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. 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.wso2.carbon.event.statistics;
import org.wso2.carbon.event.statistics.internal.Constants;
import org.wso2.carbon.event.statistics.internal.EventStatisticsManager;
import org.wso2.carbon.event.statistics.internal.EventStatsHelper;
import org.wso2.carbon.event.statistics.internal.GhostEventStatisticsMonitor;
import org.wso2.carbon.event.statistics.internal.counter.StatsCounter;
import org.wso2.carbon.event.statistics.internal.data.StatsDTO;
import org.wso2.carbon.event.statistics.internal.ds.EventStatisticsServiceHolder;
public class EventStatisticsService {
@Deprecated
public StatsDTO getGlobalCount(int tenantId) {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
if (eventStatisticsManager == null) {
return null;
}
StatsCounter tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
if (tenantData == null) {
tenantData = new StatsCounter(tenantId + "", Constants.TENANT);
eventStatisticsManager.getTenantDataMap().putIfAbsent(tenantId, tenantData);
tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
}
return EventStatsHelper.constructStatsDTO(tenantData);
}
@Deprecated
public StatsDTO getCategoryCount(int tenantId, String categoryName) {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
if (eventStatisticsManager == null) {
return null;
}
StatsCounter tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
if (tenantData == null) {
tenantData = new StatsCounter(tenantId + "", Constants.TENANT);
eventStatisticsManager.getTenantDataMap().putIfAbsent(tenantId, tenantData);
tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
}
StatsCounter categoryData = tenantData.getChildCounter(categoryName);
if (categoryData == null) {
categoryData = new StatsCounter(categoryName, Constants.CATEGORY);
tenantData.getChildCounters().putIfAbsent(categoryName, categoryData);
categoryData = tenantData.getChildCounters().get(categoryName);
}
return EventStatsHelper.constructStatsDTO(categoryData);
}
@Deprecated
public StatsDTO getDeploymentCount(int tenantId, String categoryName, String deploymentName) {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
if (eventStatisticsManager == null) {
return null;
}
StatsCounter tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
if (tenantData == null) {
tenantData = new StatsCounter(tenantId + "", Constants.TENANT);
eventStatisticsManager.getTenantDataMap().putIfAbsent(tenantId, tenantData);
tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
}
StatsCounter categoryData = tenantData.getChildCounter(categoryName);
if (categoryData == null) {
return null;
}
StatsCounter deploymentData = categoryData.getChildCounter(deploymentName);
if (deploymentData == null) {
return null;
}
return EventStatsHelper.constructStatsDTO(deploymentData);
}
@Deprecated
public StatsDTO getElementCount(int tenantId, String categoryName, String deploymentName, String elementName) {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
if (eventStatisticsManager == null) {
return null;
}
StatsCounter tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
if (tenantData == null) {
tenantData = new StatsCounter(tenantId + "", Constants.TENANT);
eventStatisticsManager.getTenantDataMap().putIfAbsent(tenantId, tenantData);
tenantData = eventStatisticsManager.getTenantDataMap().get(tenantId);
}
StatsCounter categoryData = tenantData.getChildCounter(categoryName);
if (categoryData == null) {
return null;
}
StatsCounter deploymentData = categoryData.getChildCounter(deploymentName);
if (deploymentData == null) {
return null;
}
StatsCounter elementData = deploymentData.getChildCounter(elementName);
if (elementData == null) {
return null;
}
return EventStatsHelper.constructStatsDTO(elementData);
}
@Deprecated
public synchronized EventStatisticsMonitor getEventStatisticMonitor(int tenantId, String category,
String deployment, String element) {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
if (eventStatisticsManager == null) {
return new GhostEventStatisticsMonitor();
}
return eventStatisticsManager.getEventStatisticMonitor(tenantId, category, deployment, element);
}
@Deprecated
public synchronized void reset() {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
eventStatisticsManager.reset();
}
/**
* Register a custom statistics consumer to receive updates from this statistics store.
*
* @param o The EventStatisticsObserver instance to be notified of data updates
*/
@Deprecated
public void registerObserver(EventStatisticsObserver o) {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
eventStatisticsManager.registerObserver(o);
}
/**
* Unregister the custom statistics consumer from the mediation statistics store.
*
* @param o The EventStatisticsObserver instance to be removed
*/
@Deprecated
public void unregisterObserver(EventStatisticsObserver o) {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
eventStatisticsManager.unregisterObserver(o);
}
@Deprecated
public void unregisterObservers() {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
eventStatisticsManager.unregisterObservers();
}
@Deprecated
public boolean isGlobalStatisticsEnabled() {
EventStatisticsManager eventStatisticsManager =
EventStatisticsServiceHolder.getInstance().getEventStatisticsManager();
return eventStatisticsManager != null;
}
}