2017-08-24 14 views
0

pingdom apisを使用して稼働時間レポートを生成しようとしています。Pingdom稼働時間計算式

私は次の式を使用しています。しかし、どういうわけか、その割合はUIに表示されているとおり正確ではありません。

((number_of_days_in_the_months * 86400)/100) * uptime_percentage = uptime_in_seconds 

何か間違っていますか?

+0

あなたの価値は何ですか、それはUIに表示される割合とどのように違うのですか? – david

+0

UIが99.99を示し、99.72として取得しています – Yahiya

答えて

0

これを行う正しい方法はここにあります。結果を取得し、これは私のための完璧な作品次

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; 

     } 

を行うには

使用summary.outage API。あなたの専門知識に従ってJavaコードを拡張することができます。

これは誰かに役立つことを願っています。

関連する問題