Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Side by Side Diff: chrome/browser/metrics/metrics_service.h

Issue 293023005: Move MetricsService final log collection tasks to client. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // This file defines a service that collects information about the user 5 // This file defines a service that collects information about the user
6 // experience in order to help improve future versions of the app. 6 // experience in order to help improve future versions of the app.
7 7
8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ 8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_
9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ 9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_
10 10
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 // Called when Chrome shuts down. 397 // Called when Chrome shuts down.
398 void PushPendingLogsToPersistentStorage(); 398 void PushPendingLogsToPersistentStorage();
399 399
400 // Ensures that scheduler is running, assuming the current settings are such 400 // Ensures that scheduler is running, assuming the current settings are such
401 // that metrics should be reported. If not, this is a no-op. 401 // that metrics should be reported. If not, this is a no-op.
402 void StartSchedulerIfNecessary(); 402 void StartSchedulerIfNecessary();
403 403
404 // Starts the process of uploading metrics data. 404 // Starts the process of uploading metrics data.
405 void StartScheduledUpload(); 405 void StartScheduledUpload();
406 406
407 // Starts collecting any data that should be added to a log just before it is 407 // Called by the client when final log info collection is complete.
408 // closed.
409 void StartFinalLogInfoCollection();
410 // Callbacks for various stages of final log info collection. Do not call
411 // these directly.
412 void OnMemoryDetailCollectionDone();
413 void OnHistogramSynchronizationDone();
414 void OnFinalLogInfoCollectionDone(); 408 void OnFinalLogInfoCollectionDone();
415 409
416 // Either closes the current log or creates and closes the initial log 410 // Either closes the current log or creates and closes the initial log
417 // (depending on |state_|), and stages it for upload. 411 // (depending on |state_|), and stages it for upload.
418 void StageNewLog(); 412 void StageNewLog();
419 413
420 // Prepares the initial stability log, which is only logged when the previous 414 // Prepares the initial stability log, which is only logged when the previous
421 // run of Chrome crashed. This log contains any stability metrics left over 415 // run of Chrome crashed. This log contains any stability metrics left over
422 // from that previous run, and only these stability metrics. It uses the 416 // from that previous run, and only these stability metrics. It uses the
423 // system profile from the previous session. 417 // system profile from the previous session.
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 // this factory are invalidated in ScheduleNextStateSave. 569 // this factory are invalidated in ScheduleNextStateSave.
576 base::WeakPtrFactory<MetricsService> state_saver_factory_; 570 base::WeakPtrFactory<MetricsService> state_saver_factory_;
577 571
578 // The scheduler for determining when uploads should happen. 572 // The scheduler for determining when uploads should happen.
579 scoped_ptr<MetricsReportingScheduler> scheduler_; 573 scoped_ptr<MetricsReportingScheduler> scheduler_;
580 574
581 // Indicates that an asynchronous reporting step is running. 575 // Indicates that an asynchronous reporting step is running.
582 // This is used only for debugging. 576 // This is used only for debugging.
583 bool waiting_for_asynchronous_reporting_step_; 577 bool waiting_for_asynchronous_reporting_step_;
584 578
585 // Number of async histogram fetch requests in progress.
586 int num_async_histogram_fetches_in_progress_;
587
588 // Stores the time of the first call to |GetUptimes()|. 579 // Stores the time of the first call to |GetUptimes()|.
589 base::TimeTicks first_updated_time_; 580 base::TimeTicks first_updated_time_;
590 581
591 // Stores the time of the last call to |GetUptimes()|. 582 // Stores the time of the last call to |GetUptimes()|.
592 base::TimeTicks last_updated_time_; 583 base::TimeTicks last_updated_time_;
593 584
594 // Execution phase the browser is in. 585 // Execution phase the browser is in.
595 static ExecutionPhase execution_phase_; 586 static ExecutionPhase execution_phase_;
596 587
597 // Reduntant marker to check that we completed our shutdown, and set the 588 // Reduntant marker to check that we completed our shutdown, and set the
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
647 638
648 // Registers/unregisters |observer| to receive MetricsLog notifications 639 // Registers/unregisters |observer| to receive MetricsLog notifications
649 // from metrics service. 640 // from metrics service.
650 static void AddMetricsServiceObserver(MetricsServiceObserver* observer); 641 static void AddMetricsServiceObserver(MetricsServiceObserver* observer);
651 static void RemoveMetricsServiceObserver(MetricsServiceObserver* observer); 642 static void RemoveMetricsServiceObserver(MetricsServiceObserver* observer);
652 643
653 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper); 644 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper);
654 }; 645 };
655 646
656 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ 647 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698