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 14namespace remoting { 15 16class 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