0
我正在尝试使用pingdom apis生成正常运行时间报告。Pingdom正常运行时间计算公式
我正在使用以下公式。但不知怎的,百分比并不像他们的用户界面中显示的那样精确。
((number_of_days_in_the_months * 86400)/100) * uptime_percentage = uptime_in_seconds
我做错了什么?
我正在尝试使用pingdom apis生成正常运行时间报告。Pingdom正常运行时间计算公式
我正在使用以下公式。但不知怎的,百分比并不像他们的用户界面中显示的那样精确。
((number_of_days_in_the_months * 86400)/100) * uptime_percentage = uptime_in_seconds
我做错了什么?
这是正确的做法。
使用summary.outage API来获取结果,然后执行以下操作
SummaryOutage summaryOutage = new ObjectMapper().readValue(response, SummaryOutage.class);
double uptime = 0d;
double downtime = 0d;
double unknown = 0d;
for(SummaryOutage.Summary.State state :summaryOutage.summary.states){
if(state.status.equals("up")){
uptime = uptime + (state.timeto - state.timefrom);
}else if (state.status.equals("down")){
downtime = downtime + (state.timeto - state.timefrom);
}else if (state.status.equals("unknown")){
unknown = unknown + (state.timeto - state.timefrom);
}
}
double totalTime = uptime + downtime + unknown;
if(totalTime > 0) {
DecimalFormat decimalFormat = new DecimalFormat("#.00");
String numberAsString = decimalFormat.format(100 *((uptime + unknown)/totalTime));
return numberAsString;
}
这工作非常适合我。根据您的专业知识,您可以增强Java代码。
希望这对某人有帮助。
你的价值是什么?它与UI中显示的百分比有什么不同? – david
用户界面显示99.99,我得到99.72 – Yahiya