/**
*
*/
package com.vip.saturn.job.console.service;
import java.util.Map;
import com.vip.saturn.job.console.mybatis.entity.SaturnStatistics;
/**
* @author chembo.huang
*
*/
public interface DashboardService {
void refreshStatistics2DB();
/**
* 失败率top10的域列表
*/
SaturnStatistics top10FailureDomain(String zklist);
/**
* 根据失败率top10的作业列表
*/
SaturnStatistics top10FailureJob(String zklist);
/**
* 最活跃作业的作业列表(即当天执行次数最多的作业)
*/
SaturnStatistics top10AactiveJob(String zklist);
/**
* 负荷最重的top10的Executor列表
*/
SaturnStatistics top10LoadExecutor(String zklist);
/**
* 负荷最重的top10的作业列表以及其成功率
*/
SaturnStatistics top10LoadJob(String zklist);
/**
* 稳定性最差的top10的域列表
*/
SaturnStatistics top10UnstableDomain(String zklist);
/**
* 全域当天处理总数,失败总数
*/
SaturnStatistics allProcessAndErrorCountOfTheDay(String zklist);
/**
* 异常作业列表 (如下次调度时间已经过了,但是作业没有被调度)<br>
* 根据$Jobs/xx/config/cron计算出下次执行时间,如果大于当前时间且作业不在running,则为异常
*/
SaturnStatistics allUnnormalJob(String zklist);
SaturnStatistics allTimeout4AlarmJob(String currentZkAddr);
/**
* 无法高可用作业列表
* 当只有一个可用的物理机Executor运行该作业分片时,如果该Executor宕机将造成无法飘移分片到其他Executor
*/
SaturnStatistics allUnableFailoverJob(String currentZkAddr);
SaturnStatistics top10FailureExecutor(String currentZkAddr);
/**
* 清除该域下的/$SaturnExecutors/sharding/count
* @param nns
*/
void cleanShardingCount(String nns) throws Exception;
void cleanOneJobAnalyse(String jobName, String nns) throws Exception;
void cleanAllJobAnalyse(String nns) throws Exception;
void cleanAllJobExecutorCount(String nns) throws Exception;
void cleanOneJobExecutorCount(String jobName, String nns) throws Exception;
Map<String, Integer> loadDomainRankDistribution(String zkBsKey);
Map<Integer, Integer> loadJobRankDistribution(String zkBsKey);
SaturnStatistics abnormalContainer(String currentZkAddr);
Map<String, Long> versionDomainNumber(String currentZkAddr);
Map<String, Long> versionExecutorNumber(String currentZkAddr);
}