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