package com.sohu.cache.entity;
import java.util.Date;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.commons.collections.MapUtils;
import com.alibaba.fastjson.JSONObject;
import com.sohu.cache.web.vo.AppDetailVO;
/**
* 应用日报数据
* @author leifu
* @Date 2016年8月10日
* @Time 下午5:12:45
*/
public class AppDailyData {
/**
* 应用id
*/
private long appId;
/**
* 开始日期
*/
private Date startDate;
/**
* 结束日期
*/
private Date endDate;
/**
* 日期
*/
private Date date;
/**
* bigkey次数
*/
private long bigKeyTimes;
/**
* bigkey信息
*/
private String bigKeyInfo;
/**
* 慢查询次数
*/
private long slowLogCount;
/**
* 客户端异常个数
*/
private long clientExceptionCount;
/**
* 每分钟最大客户端连接数
*/
private long maxMinuteClientCount;
/**
* 每分钟平均客户端连接数
*/
private long avgMinuteClientCount;
/**
* 每分钟最大命令数
*/
private long maxMinuteCommandCount;
/**
* 每分钟平均命令数
*/
private long avgMinuteCommandCount;
/**
* 平均命中率
*/
private double avgHitRatio;
/**
* 每分钟最小命中率
*/
private double minMinuteHitRatio;
/**
* 每分钟最大命中率
*/
private double maxMinuteHitRatio;
/**
* 平均内存使用量
*/
private long avgUsedMemory;
/**
* 最大内存使用量
*/
private long maxUsedMemory;
/**
* 过期键个数
*/
private long expiredKeysCount;
/**
* 剔除键个数
*/
private long evictedKeysCount;
/**
* 每分钟平均网络input量
*/
private double avgMinuteNetInputByte;
/**
* 每分钟最大网络input量
*/
private double maxMinuteNetInputByte;
/**
* 每分钟平均网络output量
*/
private double avgMinuteNetOutputByte;
/**
* 每分钟最大网络output量
*/
private double maxMinuteNetOutputByte;
/**
* 键个数平均值
*/
private long avgObjectSize;
/**
* 键个数最大值
*/
private long maxObjectSize;
/**
* 值分布
*/
private Map<String, Long> valueSizeDistributeCountMap;
/**
* 应用详情
*/
private AppDetailVO appDetailVO;
public long getAppId() {
return appId;
}
public void setAppId(long appId) {
this.appId = appId;
}
public Date getStartDate() {
return startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public Date getEndDate() {
return endDate;
}
public void setEndDate(Date endDate) {
this.endDate = endDate;
}
public long getSlowLogCount() {
return slowLogCount;
}
public void setSlowLogCount(long slowLogCount) {
this.slowLogCount = slowLogCount;
}
public long getClientExceptionCount() {
return clientExceptionCount;
}
public void setClientExceptionCount(long clientExceptionCount) {
this.clientExceptionCount = clientExceptionCount;
}
public long getMaxMinuteClientCount() {
return maxMinuteClientCount;
}
public void setMaxMinuteClientCount(long maxMinuteClientCount) {
this.maxMinuteClientCount = maxMinuteClientCount;
}
public long getAvgMinuteClientCount() {
return avgMinuteClientCount;
}
public void setAvgMinuteClientCount(long avgMinuteClientCount) {
this.avgMinuteClientCount = avgMinuteClientCount;
}
public long getMaxMinuteCommandCount() {
return maxMinuteCommandCount;
}
public void setMaxMinuteCommandCount(long maxMinuteCommandCount) {
this.maxMinuteCommandCount = maxMinuteCommandCount;
}
public long getAvgMinuteCommandCount() {
return avgMinuteCommandCount;
}
public void setAvgMinuteCommandCount(long avgMinuteCommandCount) {
this.avgMinuteCommandCount = avgMinuteCommandCount;
}
public double getAvgHitRatio() {
return avgHitRatio;
}
public void setAvgHitRatio(double avgHitRatio) {
this.avgHitRatio = avgHitRatio;
}
public double getMinMinuteHitRatio() {
return minMinuteHitRatio;
}
public void setMinMinuteHitRatio(double minMinuteHitRatio) {
this.minMinuteHitRatio = minMinuteHitRatio;
}
public double getMaxMinuteHitRatio() {
return maxMinuteHitRatio;
}
public void setMaxMinuteHitRatio(double maxMinuteHitRatio) {
this.maxMinuteHitRatio = maxMinuteHitRatio;
}
public long getAvgUsedMemory() {
return avgUsedMemory;
}
public void setAvgUsedMemory(long avgUsedMemory) {
this.avgUsedMemory = avgUsedMemory;
}
public long getMaxUsedMemory() {
return maxUsedMemory;
}
public void setMaxUsedMemory(long maxUsedMemory) {
this.maxUsedMemory = maxUsedMemory;
}
public long getExpiredKeysCount() {
return expiredKeysCount;
}
public void setExpiredKeysCount(long expiredKeysCount) {
this.expiredKeysCount = expiredKeysCount;
}
public long getEvictedKeysCount() {
return evictedKeysCount;
}
public void setEvictedKeysCount(long evictedKeysCount) {
this.evictedKeysCount = evictedKeysCount;
}
public double getAvgMinuteNetInputByte() {
return avgMinuteNetInputByte;
}
public void setAvgMinuteNetInputByte(double avgMinuteNetInputByte) {
this.avgMinuteNetInputByte = avgMinuteNetInputByte;
}
public double getMaxMinuteNetInputByte() {
return maxMinuteNetInputByte;
}
public void setMaxMinuteNetInputByte(double maxMinuteNetInputByte) {
this.maxMinuteNetInputByte = maxMinuteNetInputByte;
}
public double getAvgMinuteNetOutputByte() {
return avgMinuteNetOutputByte;
}
public void setAvgMinuteNetOutputByte(double avgMinuteNetOutputByte) {
this.avgMinuteNetOutputByte = avgMinuteNetOutputByte;
}
public double getMaxMinuteNetOutputByte() {
return maxMinuteNetOutputByte;
}
public void setMaxMinuteNetOutputByte(double maxMinuteNetOutputByte) {
this.maxMinuteNetOutputByte = maxMinuteNetOutputByte;
}
public long getAvgObjectSize() {
return avgObjectSize;
}
public void setAvgObjectSize(long avgObjectSize) {
this.avgObjectSize = avgObjectSize;
}
public long getMaxObjectSize() {
return maxObjectSize;
}
public void setMaxObjectSize(long maxObjectSize) {
this.maxObjectSize = maxObjectSize;
}
public Map<String, Long> getValueSizeDistributeCountMap() {
return valueSizeDistributeCountMap;
}
public String getValueSizeDistributeCountDesc() {
if (MapUtils.isEmpty(valueSizeDistributeCountMap)) {
return "无";
}
StringBuffer desc = new StringBuffer();
for(Entry<String, Long> entry : valueSizeDistributeCountMap.entrySet()) {
desc.append(entry.getKey()).append(":").append(entry.getValue()).append("次<br/>");
}
return desc.toString();
}
public String getValueSizeDistributeCountDescHtml() {
return bigKeyInfo.replace("\n", "<br/>").replace(":", ":\t");
}
public void setValueSizeDistributeCountMap(Map<String, Long> valueSizeDistributeCountMap) {
this.valueSizeDistributeCountMap = valueSizeDistributeCountMap;
}
public AppDetailVO getAppDetailVO() {
return appDetailVO;
}
public void setAppDetailVO(AppDetailVO appDetailVO) {
this.appDetailVO = appDetailVO;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public long getBigKeyTimes() {
return bigKeyTimes;
}
public void setBigKeyTimes(long bigKeyTimes) {
this.bigKeyTimes = bigKeyTimes;
}
public String getBigKeyInfo() {
return bigKeyInfo;
}
public void setBigKeyInfo(String bigKeyInfo) {
this.bigKeyInfo = bigKeyInfo;
}
@Override
public String toString() {
return JSONObject.toJSONString(this);
}
}