Home | History | Annotate | Download | only in client
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // ChromotingStats defines a bundle of performance counters and statistics
      6 // for chromoting.
      7 
      8 #ifndef REMOTING_CLIENT_CHROMOTING_STATS_H_
      9 #define REMOTING_CLIENT_CHROMOTING_STATS_H_
     10 
     11 #include "remoting/base/rate_counter.h"
     12 #include "remoting/base/running_average.h"
     13 
     14 namespace remoting {
     15 
     16 class ChromotingStats {
     17  public:
     18   ChromotingStats();
     19   virtual ~ChromotingStats();
     20 
     21   RateCounter* video_bandwidth() { return &video_bandwidth_; }
     22   RateCounter* video_frame_rate() { return &video_frame_rate_; }
     23   RunningAverage* video_capture_ms() { return &video_capture_ms_; }
     24   RunningAverage* video_encode_ms() { return &video_encode_ms_; }
     25   RunningAverage* video_decode_ms() { return &video_decode_ms_; }
     26   RunningAverage* video_paint_ms() { return &video_paint_ms_; }
     27   RunningAverage* round_trip_ms() { return &round_trip_ms_; }
     28 
     29  private:
     30   RateCounter video_bandwidth_;
     31   RateCounter video_frame_rate_;
     32   RunningAverage video_capture_ms_;
     33   RunningAverage video_encode_ms_;
     34   RunningAverage video_decode_ms_;
     35   RunningAverage video_paint_ms_;
     36   RunningAverage round_trip_ms_;
     37 
     38   DISALLOW_COPY_AND_ASSIGN(ChromotingStats);
     39 };
     40 
     41 }  // namespace remoting
     42 
     43 #endif  // REMOTING_CLIENT_CHROMOTING_STATS_H_
     44