// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Records IO statistics associated with a URLRequestJob. // See description in navigation_profiler.h for an overview of perf profiling. #ifndef NET_URL_REQUEST_URL_REQUEST_JOB_METRICS_H_ #define NET_URL_REQUEST_URL_REQUEST_JOB_METRICS_H_ #include #include "base/basictypes.h" #include "base/scoped_ptr.h" #include "base/time.h" #include "googleurl/src/gurl.h" class URLRequestJobMetrics { public: URLRequestJobMetrics() : total_bytes_read_(0), number_of_read_IO_(0) { } ~URLRequestJobMetrics() { } // The original url the job has been created for. scoped_ptr original_url_; // The actual url the job connects to. If the actual url is same as the // original url, url_ is empty. scoped_ptr url_; // Time when the job starts. base::TimeTicks start_time_; // Time when the job is done. base::TimeTicks end_time_; // Total number of bytes the job reads from underline IO. int total_bytes_read_; // Number of IO read operations the job issues. int number_of_read_IO_; // Final status of the job. bool success_; // Append the text report of the frame loading to the input string. void AppendText(std::wstring* text); }; #endif // NET_URL_REQUEST_URL_REQUEST_JOB_METRICS_H_