• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
video_bandwidth()21   RateCounter* video_bandwidth() { return &video_bandwidth_; }
video_frame_rate()22   RateCounter* video_frame_rate() { return &video_frame_rate_; }
video_capture_ms()23   RunningAverage* video_capture_ms() { return &video_capture_ms_; }
video_encode_ms()24   RunningAverage* video_encode_ms() { return &video_encode_ms_; }
video_decode_ms()25   RunningAverage* video_decode_ms() { return &video_decode_ms_; }
video_paint_ms()26   RunningAverage* video_paint_ms() { return &video_paint_ms_; }
round_trip_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