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

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 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 // Called when Chrome shuts down. 376 // Called when Chrome shuts down.
377 void PushPendingLogsToPersistentStorage(); 377 void PushPendingLogsToPersistentStorage();
378 378
379 // Ensures that scheduler is running, assuming the current settings are such 379 // Ensures that scheduler is running, assuming the current settings are such
380 // that metrics should be reported. If not, this is a no-op. 380 // that metrics should be reported. If not, this is a no-op.
381 void StartSchedulerIfNecessary(); 381 void StartSchedulerIfNecessary();
382 382
383 // Starts the process of uploading metrics data. 383 // Starts the process of uploading metrics data.
384 void StartScheduledUpload(); 384 void StartScheduledUpload();
385 385
386 // Starts collecting any data that should be added to a log just before it is 386 // Called by the client when final log info collection is complete.
387 // closed.
388 void StartFinalLogInfoCollection();
389 // Callbacks for various stages of final log info collection. Do not call
390 // these directly.
391 void OnMemoryDetailCollectionDone();
392 void OnHistogramSynchronizationDone();
393 void OnFinalLogInfoCollectionDone(); 387 void OnFinalLogInfoCollectionDone();
394 388
395 // Either closes the current log or creates and closes the initial log 389 // Either closes the current log or creates and closes the initial log
396 // (depending on |state_|), and stages it for upload. 390 // (depending on |state_|), and stages it for upload.
397 void StageNewLog(); 391 void StageNewLog();
398 392
399 // Prepares the initial stability log, which is only logged when the previous 393 // Prepares the initial stability log, which is only logged when the previous
400 // run of Chrome crashed. This log contains any stability metrics left over 394 // run of Chrome crashed. This log contains any stability metrics left over
401 // from that previous run, and only these stability metrics. It uses the 395 // from that previous run, and only these stability metrics. It uses the
402 // system profile from the previous session. 396 // system profile from the previous session.
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 // this factory are invalidated in ScheduleNextStateSave. 542 // this factory are invalidated in ScheduleNextStateSave.
549 base::WeakPtrFactory<MetricsService> state_saver_factory_; 543 base::WeakPtrFactory<MetricsService> state_saver_factory_;
550 544
551 // The scheduler for determining when uploads should happen. 545 // The scheduler for determining when uploads should happen.
552 scoped_ptr<MetricsReportingScheduler> scheduler_; 546 scoped_ptr<MetricsReportingScheduler> scheduler_;
553 547
554 // Indicates that an asynchronous reporting step is running. 548 // Indicates that an asynchronous reporting step is running.
555 // This is used only for debugging. 549 // This is used only for debugging.
556 bool waiting_for_asynchronous_reporting_step_; 550 bool waiting_for_asynchronous_reporting_step_;
557 551
558 // Number of async histogram fetch requests in progress.
559 int num_async_histogram_fetches_in_progress_;
560
561 // Stores the time of the first call to |GetUptimes()|. 552 // Stores the time of the first call to |GetUptimes()|.
562 base::TimeTicks first_updated_time_; 553 base::TimeTicks first_updated_time_;
563 554
564 // Stores the time of the last call to |GetUptimes()|. 555 // Stores the time of the last call to |GetUptimes()|.
565 base::TimeTicks last_updated_time_; 556 base::TimeTicks last_updated_time_;
566 557
567 // Execution phase the browser is in. 558 // Execution phase the browser is in.
568 static ExecutionPhase execution_phase_; 559 static ExecutionPhase execution_phase_;
569 560
570 // Reduntant marker to check that we completed our shutdown, and set the 561 // Reduntant marker to check that we completed our shutdown, and set the
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 611
621 // Registers/unregisters |observer| to receive MetricsLog notifications 612 // Registers/unregisters |observer| to receive MetricsLog notifications
622 // from metrics service. 613 // from metrics service.
623 static void AddMetricsServiceObserver(MetricsServiceObserver* observer); 614 static void AddMetricsServiceObserver(MetricsServiceObserver* observer);
624 static void RemoveMetricsServiceObserver(MetricsServiceObserver* observer); 615 static void RemoveMetricsServiceObserver(MetricsServiceObserver* observer);
625 616
626 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper); 617 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper);
627 }; 618 };
628 619
629 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ 620 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_
OLDNEW
« no previous file with comments | « chrome/browser/metrics/chrome_metrics_service_client.cc ('k') | chrome/browser/metrics/metrics_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698