Index: chrome_frame/metrics_service.h |
diff --git a/chrome_frame/metrics_service.h b/chrome_frame/metrics_service.h |
deleted file mode 100644 |
index 821a53751817037dee48e51d842f123a88eac234..0000000000000000000000000000000000000000 |
--- a/chrome_frame/metrics_service.h |
+++ /dev/null |
@@ -1,148 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-// This file defines a service that collects information about the user |
-// experience in order to help improve future versions of the app. |
- |
-#ifndef CHROME_FRAME_METRICS_SERVICE_H_ |
-#define CHROME_FRAME_METRICS_SERVICE_H_ |
- |
-#include <map> |
-#include <string> |
- |
-#include "base/basictypes.h" |
-#include "base/lazy_instance.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/metrics/histogram.h" |
-#include "base/synchronization/lock.h" |
-#include "base/threading/platform_thread.h" |
-#include "base/threading/thread_local.h" |
-#include "chrome/common/metrics/metrics_service_base.h" |
- |
-// TODO(ananta) |
-// Refactor more common code from chrome/browser/metrics/metrics_service.h into |
-// the MetricsServiceBase class. |
-class MetricsService : public MetricsServiceBase { |
- public: |
- static MetricsService* GetInstance(); |
- // Start/stop the metrics recording and uploading machine. These should be |
- // used on startup and when the user clicks the checkbox in the prefs. |
- static void Start(); |
- static void Stop(); |
- // Set up client ID, session ID, etc. |
- void InitializeMetricsState(); |
- |
- // Retrieves a client ID to use to identify self to metrics server. |
- static const std::string& GetClientID(); |
- |
- private: |
- MetricsService(); |
- virtual ~MetricsService(); |
- // The MetricsService has a lifecycle that is stored as a state. |
- // See metrics_service.cc for description of this lifecycle. |
- enum State { |
- INITIALIZED, // Constructor was called. |
- ACTIVE, // Accumalating log data |
- STOPPED, // Service has stopped |
- }; |
- |
- // Sets and gets whether metrics recording is active. |
- // SetRecording(false) also forces a persistent save of logging state (if |
- // anything has been recorded, or transmitted). |
- void SetRecording(bool enabled); |
- |
- // Enable/disable transmission of accumulated logs and crash reports (dumps). |
- // Return value "true" indicates setting was definitively set as requested). |
- // Return value of "false" indicates that the enable state is effectively |
- // stuck in the other logical setting. |
- // Google Update maintains the authoritative preference in the registry, so |
- // the caller *might* not be able to actually change the setting. |
- // It is always possible to set this to at least one value, which matches the |
- // current value reported by querying Google Update. |
- void SetReporting(bool enabled); |
- |
- // If in_idle is true, sets idle_since_last_transmission to true. |
- // If in_idle is false and idle_since_last_transmission_ is true, sets |
- // idle_since_last_transmission to false and starts the timer (provided |
- // starting the timer is permitted). |
- void HandleIdleSinceLastTransmission(bool in_idle); |
- |
- // ChromeFrame UMA data is uploaded when this timer proc gets invoked. |
- static void CALLBACK TransmissionTimerProc(HWND window, unsigned int message, |
- unsigned int event_id, |
- unsigned int time); |
- |
- // Called to start recording user experience metrics. |
- // Constructs a new, empty current_log_. |
- void StartRecording(); |
- |
- // Called to stop recording user experience metrics. |
- void StopRecording(bool save_log); |
- |
- // Takes whatever log should be uploaded next (according to the state_) |
- // and makes it the pending log. If pending_log_ is not NULL, |
- // MakePendingLog does nothing and returns. |
- void MakePendingLog(); |
- |
- // Determines from state_ and permissions set out by the server and by |
- // the user whether the pending_log_ should be sent or discarded. Called by |
- // TryToStartTransmission. |
- bool TransmissionPermitted() const; |
- |
- bool recording_active() const { |
- return recording_active_; |
- } |
- |
- bool reporting_active() const { |
- return reporting_active_; |
- } |
- |
- // Upload pending data to the server by converting it to XML and compressing |
- // it. Returns true on success. |
- bool UploadData(); |
- |
- // Get the current version of the application as a string. |
- static std::string GetVersionString(); |
- |
- // Indicate whether recording and reporting are currently happening. |
- // These should not be set directly, but by calling SetRecording and |
- // SetReporting. |
- bool recording_active_; |
- bool reporting_active_; |
- |
- // Coincides with the check box in options window that lets the user control |
- // whether to upload. |
- bool user_permits_upload_; |
- |
- // The progession of states made by the browser are recorded in the following |
- // state. |
- State state_; |
- |
- // The URL for the metrics server. |
- std::wstring server_url_; |
- |
- // The identifier that's sent to the server with the log reports. |
- static std::string client_id_; |
- |
- // A number that identifies the how many times the app has been launched. |
- int session_id_; |
- |
- static base::LazyInstance<base::ThreadLocalPointer<MetricsService> > |
- g_metrics_instance_; |
- |
- base::PlatformThreadId thread_; |
- |
- // Indicates if this is the first uma upload from this instance. |
- bool initial_uma_upload_; |
- |
- // The transmission timer id returned by SetTimer |
- int transmission_timer_id_; |
- |
- // Used to serialize the Start and Stop operations on the metrics service. |
- static base::Lock metrics_service_lock_; |
- |
- DISALLOW_COPY_AND_ASSIGN(MetricsService); |
-}; |
- |
-#endif // CHROME_FRAME_METRICS_SERVICE_H_ |