Pingdom正常运行时间计算公式
Pingdom uptime calculation formula
我正在尝试使用 pingdom api 生成正常运行时间报告。
我正在使用以下公式。但不知何故,百分比并不准确,如他们的 UI.
所示
( ( number_of_days_in_the_months * 86400 ) / 100 ) * uptime_percentage = uptime_in_seconds
我做错了什么吗?
这是执行此操作的正确方法。
使用summary.outageapi得到结果然后进行以下操作
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 代码。
希望对大家有所帮助。
我正在尝试使用 pingdom api 生成正常运行时间报告。
我正在使用以下公式。但不知何故,百分比并不准确,如他们的 UI.
所示( ( number_of_days_in_the_months * 86400 ) / 100 ) * uptime_percentage = uptime_in_seconds
我做错了什么吗?
这是执行此操作的正确方法。
使用summary.outageapi得到结果然后进行以下操作
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 代码。
希望对大家有所帮助。