首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pingdom计算公式

Pingdom计算公式
EN

Stack Overflow用户
提问于 2017-08-24 11:36:52
回答 1查看 399关注 0票数 0

我正在尝试使用pingdom生成正常运行时间报告。

我使用以下公式。但不知何故,这个百分比并不像他们的UI中所显示的那样准确。

代码语言:javascript
复制
( ( number_of_days_in_the_months * 86400 ) / 100 ) * uptime_percentage = uptime_in_seconds

我做错什么了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-08 06:44:09

以下是正确的做法。

使用summary.outage api获取结果,然后执行以下操作

代码语言:javascript
复制
 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代码。

希望这对某人有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45860599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档