Commit graph

187 commits

Author SHA1 Message Date
Grant Grundler
4b5164bb9e metrics: add HwWatchdogReboot to CrosEvents
Add HwWatchdogReboot to CrosEvents support.

BUG=chromium:221000
TEST=none

Change-Id: I7388c6d1ee93a73f930d591552b18ea7bba7743f
Signed-off-by: Grant Grundler <grundler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/46593
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
2013-03-28 18:27:14 -07:00
repo sync
1bc9ce0294 metrics: Fixes a comment for |TimerReporter::ReportMilliseconds|.
It turns out that |TimerReporter::ReportMilliseconds| does report a value
for a timer that hasn't been started (in shill,
|Metrics::NotifyDevice*Finished| calls |Stop| immediately before
|ReportMilliseconds| and it works just fine.  This is perfectly OK, it's
just that the comment didn't reflect this.  This CL fixes that.

BUG=None.
TEST=None.

Change-Id: I578d554106acdb92957bfe0197622a1054cfa9c9
Reviewed-on: https://gerrit.chromium.org/gerrit/46337
Reviewed-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
2013-03-25 13:47:27 -07:00
Luigi Semenzato
3268422240 Add generic "event of interest" enumerated histogram.
This change aims to simplify the addition of events we may
want to track in the field, more specifically hard-to-reproduce
bugs.  Before this change, this requires creating a new histogram
and registering it via histograms.xml, which is not in the Chrome OS
repositories.  With this change, a new event just requires claiming
an event name (such as ModemManagerCommandSendFailure) in
metrics_library.cc, and running "metrics_client -v <event name>"
or calling SendCrosEventToUMA(event_name).

I can make up a bug for this.  Or not.

BUG=none
TEST=compiled

Change-Id: I9c56b58310f0d22e77624edee7fe6149abd60a49
Reviewed-on: https://gerrit.chromium.org/gerrit/45322
Commit-Queue: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
2013-03-13 16:05:39 -07:00
Chris Masone
e10b548cf5 [metrics] Update metrics to build against libchrome-180609
base/eintr_wrapper.h moved to base/posix/eintr_wrapper.h

CQ-DEPEND=Ib19c1382ab28ae7632728aa672478da2feb3950e

BUG=chromium-os:38941
TEST=emerge the metrics package with tests enabled.
STATUS=Fixed

Change-Id: I5d72d8934930ce394786ee151fd8f390b5caf2e1
Reviewed-on: https://gerrit.chromium.org/gerrit/43297
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Commit-Queue: Chris Masone <cmasone@chromium.org>
2013-02-14 14:03:28 -08:00
Luigi Semenzato
942cbabb1c Modify swap metrics to be more useful.
We need to record the amount of swap used, and correlate it
with the total amount of swap.

The metrics added are Platform.MeminfoSwapUsed and
Platform.MeminfoSwapUsedPercent.

BUG=chromium-os:38583
TEST=not really
BRANCH=none

Change-Id: Iaf26c917e3c4d23f3f58f436047f8dd165177960
Reviewed-on: https://gerrit.chromium.org/gerrit/43123
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Queue: Luigi Semenzato <semenzato@chromium.org>
2013-02-13 13:00:49 -08:00
Luigi Semenzato
3ccca065fd Add meminfo swap metrics.
The current metrics don't show how much swap we're using at a given
time.  We only have indirect measures (page faults rate for instance).

We also need to add one type of histogram scale, since compressed swap
can exceed total RAM, and all current histograms are on a scale from
zero to total RAM.

BUG=chromium-os:38583
TEST=stared at the code really hard and compiled it
BRANCH=none

Change-Id: Icb9dce5efe5dbd78123aad51ffd369cb46721096
Reviewed-on: https://gerrit.chromium.org/gerrit/42598
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Queue: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
2013-02-05 16:08:33 -08:00
Julian Pastarmov
d605a005d6 Make policy reloads explicit.
BUG=chromium-os:38541
TEST=unit tests pass

CQ-DEPEND=I20461078ca890c6ec2f81ad5383c06c4d75a64cd

Change-Id: I042e9d1cfbefa479ff18c0b1bc170a15cec705bc
Reviewed-on: https://gerrit.chromium.org/gerrit/42538
Reviewed-by: Will Drewry <wad@chromium.org>
Commit-Queue: Julian Pastarmov <pastarmovj@chromium.org>
Tested-by: Julian Pastarmov <pastarmovj@chromium.org>
2013-02-05 09:45:39 -08:00
Ben Chan
9cd8b8cbab Add missing gthread-2.0 linkage.
gthread-2.0 linkage is required for g_thread_init when compiling with
glib 2.32.4.

BUG=chromium-os:34103
TEST=`emerge metrics` with glib 2.30.2 and 2.32.4

Change-Id: Id6ef58ee568989123fc563af47e2670066d01b93
Reviewed-on: https://gerrit.chromium.org/gerrit/32507
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
2012-09-07 01:00:04 -07:00
Yunlian Jiang
564c69f4f1 Add unisdt.h to make gcc 4.7 compile it
BUG=None
TEST=compile passed

Change-Id: I3c52e0c7b60572058d277c05ea05471327149601
Reviewed-on: https://gerrit.chromium.org/gerrit/21672
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
2012-05-03 16:46:24 -07:00
Mike Frysinger
f040f1324d update to newer libbase, and allow setting via env
Other packages have this, and it makes managing the ebuild easier, so
let the env set the libbase version to use.

BUG=chromium-os:25872
TEST=`emerge-x86-alex metrics` works
TEST=`cros_run_unit_tests --board=x86-alex -p metrics` pass
TEST=build_images+build_packages for x86-alex boots up

Change-Id: I2f417a13f8220d653aa2bcf6c89f519fb4f2e3df
Reviewed-on: https://gerrit.chromium.org/gerrit/20198
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-04-13 07:31:42 -07:00
Mike Frysinger
f06d7b1213 clean up build & convert to SLOT-ed libbase
This includes a couple of fixes:
 - use the right compiler flag names
 - execute pkg-config twice total, and not once per compile
 - build against SLOT-ed libbase
 - drop link info that was just for libbase as that handles
   things all by itself now without bothering external users

BUG=chromium-os:16623
TEST=`emerge-x86-alex metrics` still works
TEST=`cros_run_unit_tests --board x86-alex -p metrics` passes

Change-Id: I40b9216c9e2a1edef476f9369d524e6a4bf26012
Reviewed-on: https://gerrit.chromium.org/gerrit/17704
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-12 12:22:47 -07:00
Mike Frysinger
71ebf98645 include base/stringprintf.h directly
This code uses StringPrintf, but doesn't include the header.  Older
versions of libbase would implicitly include it, but newer ones do
not.  So include it ourselves to fix building with newer versions.

BUG=chromium-os:25872
TEST=`emerge-x86-alex metrics` works (with newer and older libbase)

Change-Id: I7859f67767958f70853a40e8df4a33a64b36d010
Reviewed-on: https://gerrit.chromium.org/gerrit/17487
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-03-07 17:12:08 -08:00
Mike Frysinger
8b8dd20794 touchup pkg-config/library handling
Make sure we execute pkg-config twice in the ebuild and not once
per object compile/link.

Fix the order of libraries when linking libmetric -- we need them to
come after the objects, and we need to link in libbase since we use
symbols from it.  (Things happen to be working now because libpolicy
accidentally exports some symbols from libbase.)

BUG=chromium-os:26658
TEST=`emerge-x86-alex metrics` still works

Change-Id: Ic8381ce9cb3e8a6d81d45d613ac66fea8a12b669
Reviewed-on: https://gerrit.chromium.org/gerrit/16290
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-05 11:46:00 -08:00
Eric Shienbrood
1135355246 Update metrics_library.h to find scoped_ptr.h in <base/memory>.
This is in preparation to the move to a newer libchrome, where
scoped_ptr.h no longer appears in base, just in base/memory.

BUG=chromium-os:16623
TEST=Do the emerge, and then examine /usr/include/metrics/metrics_library.h

Change-Id: I95cd9b52eee216316dd8ea21ecb84101d7a95edf
Reviewed-on: https://gerrit.chromium.org/gerrit/17073
Reviewed-by: Darin Petkov <petkov@chromium.org>
Commit-Ready: Eric Shienbrood <ers@chromium.org>
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Tested-by: Eric Shienbrood <ers@chromium.org>
2012-02-29 13:42:14 -08:00
Elly Jones
4abef11971 [metrics] use libchromeos.pc
BUG=chromium-os:24959
TEST=build

Signed-off-by: Elly Jones <ellyjones@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/14012
Reviewed-by: Mike Frysinger <vapier@chromium.org>
(cherry picked from commit 0ea8151d4628ccf500da82206384b8b492a95a0b)

Change-Id: I0c51d49cc7182a19b16d3cb123c43e29be890cbe
Reviewed-on: https://gerrit.chromium.org/gerrit/14505
Reviewed-by: Kees Cook <keescook@chromium.org>
Commit-Ready: Elly Jones <ellyjones@chromium.org>
Tested-by: Elly Jones <ellyjones@chromium.org>
2012-01-19 14:29:20 -08:00
Scott James Remnant
f53e106bbb Revert "[metrics] use libchromeos.pc"
This reverts commit 6ed1d63d859c37e5a3290d4786862d46927aa5c2

Change-Id: If32cadcdb918f66c9cfada8809f2001122a35d69
Reviewed-on: https://gerrit.chromium.org/gerrit/14118
Reviewed-by: Scott James Remnant <keybuk@chromium.org>
Tested-by: Scott James Remnant <keybuk@chromium.org>
2012-01-12 18:00:47 -08:00
Elly Jones
8df4995721 [metrics] use libchromeos.pc
BUG=chromium-os:24959
TEST=build

Change-Id: I7038f5173c7b0949cbf88e6a9213d75e96ae142d
Signed-off-by: Elly Jones <ellyjones@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/14012
Reviewed-by: Mike Frysinger <vapier@chromium.org>
2012-01-12 12:26:58 -08:00
Luigi Semenzato
df3e4529ca Sends metrics to Chrome even when user did not consent to send stats.
BUG=chromium-os:21660
TEST=observed that Platform.* stats appear in about:histograms also when consent is turned off.

Change-Id: Id70f0cca468ec39fdfe687d89a6f0748a2a07828
Reviewed-on: http://gerrit.chromium.org/gerrit/10147
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
2011-10-21 01:08:26 -07:00
Luigi Semenzato
5bd764faf3 Add page fault statistics.
BUG=chromium-os:20624
TEST=observe that Platform.PageFaultXXX appear in about:histograms.

Change-Id: Ifc281d31e05102dc4133d133f732b737e19891f1
Reviewed-on: http://gerrit.chromium.org/gerrit/10143
Commit-Ready: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
2011-10-18 12:12:16 -07:00
Bruno Rocha
e3bdf0f559 Fixed wrong method signatures in TimerReporterMock.
TimerReporterMock had some wrong method signatures, and was lacking signatures
for its accessor methods.

BUG=chromium-os:18800
TEST=None

Change-Id: I08d832857c1ae3df907f5470433117f7a03fe125
Reviewed-on: http://gerrit.chromium.org/gerrit/6230
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Reviewed-by: Bruno Pontes Soares Rocha <bpontes@chromium.org>
Tested-by: Bruno Pontes Soares Rocha <bpontes@chromium.org>
2011-08-22 13:07:28 -07:00
Bruno Rocha
be388f301b Added a timer-based report to the metrics library.
Timer encapsulates a timer with basic functionality.
TimerReporter subclasses it for also sending UMA reports.

BUG=chromium-os:18800
TEST=Unit test 'timer_test' has been included

Change-Id: I9de9a2a7388721ba1476fe706a8d12788d2176ad
Reviewed-on: http://gerrit.chromium.org/gerrit/5161
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Bruno Pontes Soares Rocha <bpontes@google.com>
Reviewed-by: Bruno Pontes Soares Rocha <bpontes@google.com>
2011-08-17 14:43:56 -07:00
Julian Pastarmov
0e5debf2d5 Fixed a test where a method was expected to be called but it wasn't.
A recent optimization in the code made that second call unneeded as so
our expectation is not met anymore (for good so).

BUG=chromium-os:18430
TEST=Metrics unit tests should pass.

Change-Id: I1162dc657156ee9207b904ab544b0f151eec0453
Reviewed-on: http://gerrit.chromium.org/gerrit/5302
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Tested-by: Julian Pastarmov <pastarmovj@chromium.org>
2011-08-04 02:17:26 -07:00
Julian Pastarmov
70b7abd84f Respect the metrics file if no policy value is set (for legacy migration).
BUG=chromium-os:18430
TEST=Update chromeos and check whether the consent for stats is preserved.

Change-Id: I86d4710ef9f381abd9f1eac728040878e6fc5b71
Reviewed-on: http://gerrit.chromium.org/gerrit/5139
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Tested-by: Julian Pastarmov <pastarmovj@chromium.org>
2011-08-04 01:38:02 -07:00
Ken Mixter
b2f170970e Revert "Revert "Make the metrics library respect the policy settings instead of the consent file.""
This reverts commit aa91d046ac27a9bdc96e6cd9438741d98f1cef66

Change-Id: I1c84fb86d6eb56a5a8e88136c98104394be697b2
Reviewed-on: http://gerrit.chromium.org/gerrit/4614
Reviewed-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Tested-by: Ken Mixter <kmixter@chromium.org>
2011-07-22 16:06:45 -07:00
Julian Pastarmov
a3df284fe1 Revert "Make the metrics library respect the policy settings instead of the consent file."
This reverts commit 8c874ca26dd0d07471cfc66ded527ad5c3a1cd20

Change-Id: Iaa91d046ac27a9bdc96e6cd9438741d98f1cef66
Reviewed-on: http://gerrit.chromium.org/gerrit/4583
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Tested-by: Julian Pastarmov <pastarmovj@chromium.org>
2011-07-22 10:22:10 -07:00
Julian Pastarmov
ff3eb194b0 Make the metrics library respect the policy settings instead of the consent file.
BUG=chromium-os:17012
TEST=metrics_library_test

This is a second try at committing http://gerrit.chromium.org/gerrit/#change,3865

Change-Id: I8c874ca26dd0d07471cfc66ded527ad5c3a1cd20
Reviewed-on: http://gerrit.chromium.org/gerrit/4578
Reviewed-by: Julian Pastarmov <pastarmovj@chromium.org>
Tested-by: Julian Pastarmov <pastarmovj@chromium.org>
2011-07-22 09:16:40 -07:00
Ken Mixter
ec380e84c5 Revert "Make the metrics library respect the policy settings instead of the consent file."
This reverts commit 6a294b4a3e9aa69dc9c429ed398e9dd7615029f2

Change-Id: I7d80b119d4e2b880f75c2293770e073785764e7d
Reviewed-on: http://gerrit.chromium.org/gerrit/4509
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Tested-by: Ken Mixter <kmixter@chromium.org>
2011-07-21 14:34:27 -07:00
Julian Pastarmov
a2ce30fdde Make the metrics library respect the policy settings instead of the consent file.
BUG=chromium-os:17012
TEST=metrics_library_test

Change-Id: I133b19a672f52d5ba4f150aa75d1b32af2896c3f
Reviewed-on: http://gerrit.chromium.org/gerrit/3865
Reviewed-by: Ken Mixter <kmixter@chromium.org>
Tested-by: Ken Mixter <kmixter@chromium.org>
2011-07-21 14:10:34 -07:00
Arkaitz Ruiz Alvarez
9f1a774c67 Determine guest mode status for metrics collection
Modification to the function IsGuestMode. It returns true only if the guestfs
partition is mounted and the file /var/run/state/logged-in exits. Previously
it did not check for this file existence.

BUG=chromium-os:15763
TEST=Log in in to guest mode right after installing recovery image and check
the absence of /home/chronos/prev_stats. Log out and log in as a user and
confirm the existence of this directory.

Change-Id: I7b0e7e8844332cca3fa67611b90fada3c5ba0eeb
Reviewed-on: http://gerrit.chromium.org/gerrit/1647
Tested-by: Arkaitz Ruiz Alvarez <arkaitzr@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
2011-05-26 13:32:41 -07:00
Arkaitz Ruiz Alvarez
4fdcf19a62 Determine guest mode status for metrics collection
Modification to the function IsGuestMode. It returns true only if the guestfs
partition is mounted and the file /var/run/state/logged-in exits. Previously
it did not check for this file existence.

BUG=chromium-os:15763
TEST=Log in in to guest mode right after installing recovery image and check
the absence of /home/chronos/prev_stats. Log out and log in as a user and
confirm the existence of this directory.

Change-Id: I29c66642ba590e882e6ec7a02732e818c87ac2ad
Reviewed-on: http://gerrit.chromium.org/gerrit/1586
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Arkaitz Ruiz Alvarez <arkaitzr@google.com>
2011-05-25 17:19:04 -07:00
Luigi Semenzato
8accd33d92 Add memuse stats and fix disk I/O computations.
This changes adds memory usage stats after 1  5, 30, 150, and 750
minutes of active use (approximated by wall
clock time minus sleep time).  We log only the anonymous memory
usage (active + inactive) as we expect that other types of
allocations would not convey much additional information.

This also fixes the disk I/O computation to use actual active
time elapsed between callbacks, instead of assuming the expected
interval has elapsed.  The existing code causes errors in
both directions when a suspend/resume cycle occurs between callbacks.

BUG=14209
TEST=verify that about:histograms page contains Platform.MemuseAnon1 after 1 minute and Platform.MemuseAnon2 after 5 minutes.

Change-Id: Ib32d915fac7766a9fca7125105224889ea93050e
Reviewed-on: http://gerrit.chromium.org/gerrit/1132
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
2011-05-23 15:06:49 -07:00
Darin Petkov
b7780ce4a4 Remove obsolete hardware_class script.
BUG=chromium-os:15257
TEST=emerge-x86-mario metrics

Change-Id: I496121c47394dc81b7f414655940dddc8d5cc992
Reviewed-on: http://gerrit.chromium.org/gerrit/1314
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
2011-05-23 12:34:31 -07:00
Chris Masone
817016a81f [metrics] Roll forward to new libchrome
BUG=chromium-os:14304
TEST=build, unit tests

Change-Id: I92fd96b2c14df847efe47735c0f76d99023ec254
Reviewed-on: http://gerrit.chromium.org/gerrit/819
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
2011-05-14 11:09:36 -07:00
Darin Petkov
8032dd0c6f metrics: Fixed compile-time warnings due to unused variables.
BUG=chromium-os:15040
TEST=built with gcc-4.6

Change-Id: Idf95c986e1eda79be735eeb4ff7c79e9a7eede60
Reviewed-on: http://gerrit.chromium.org/gerrit/569
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
2011-05-10 10:19:45 -07:00
Luigi Semenzato
29c7ef9e6a Add meminfo UMA collection.
Change-Id: Ief779a5bdc68b8e5bf2f1ed979bf30b50aca8e0f

BUG=chromium-os:13747
TEST=verify that Platform.Meminfo* entries are in about:histograms.

Review URL: http://codereview.chromium.org/6804014
2011-04-12 14:12:35 -07:00
Luigi Semenzato
0f132bba6f Find device-dependent disk stats file, and skip disk stats if not available.
Change-Id: I03afb85e3357dd4c2cf5effd98b194c71d77c71d

BUG=12171
TEST=unit tested

Review URL: http://codereview.chromium.org/6541007
2011-02-28 11:17:43 -08:00
Darin Petkov
8d3305eb92 libmetrics: Support partial writes.
BUG=chromium-os:11125
TEST=unit tests, tested on device

Change-Id: If9066988b86f61cb5bae413b7250d5426854f31b

Review URL: http://codereview.chromium.org/6592019
2011-02-25 14:19:30 -08:00
Darin Petkov
8842c8c42d libmetrics -- release the shared file lock when closing, handle EINTR.
BUG=chromium-os:11125
TEST=unit tests, tested on device

Change-Id: I126af62f77e4fd0f098d441038f8dc94c0020ac2

Review URL: http://codereview.chromium.org/6576048
2011-02-24 12:48:30 -08:00
Luigi Semenzato
c88e42dea9 Collect some disk statistics.
Change-Id: Id30f4b7e5d121f2632592ebacf47a18ea1d89fec

BUG=chromium-os:12171
TEST=ran on target and observed that stats are generated

Review URL: http://codereview.chromium.org/6486021
2011-02-17 10:21:16 -08:00
Ken Mixter
be2e13b32b metrics: Send ability to notify chrome of system crashes
Change-Id: I11df903c020141a8123055620f9ad23fedc06c7d

BUG=9352
TEST=
1) UserCrash
2) Crash random process and verify Chrome indicates "other user" crashes
occurred in its stability UMA data.

Review URL: http://codereview.chromium.org/6211001
2011-01-22 06:15:56 -08:00
Daniel Erat
6c35d7c1b6 metrics: Update comment about adding user actions.
This points people at chrome/tools/extract_actions.py,
where new actions can be registered without needing to
modify C++ code (once http://codereview.chromium.org/6266011/
is committed).

Change-Id: If7ceaa38939ab9c1594aacd999e0ec86c4541d41

BUG=chromium-os:10696
TEST=none

Review URL: http://codereview.chromium.org/6320009
2011-01-21 11:25:45 -08:00
Daniel Erat
ca90d8b40b metrics: Add SendUserActionToUMA() to MetricsLibraryMock.
The metrics daemon doesn't support sending user actions, but
I need this exposed through the mock library so I can use
SendUserActionToUMA() in the power manager.

Change-Id: Ie9e3995df9978768477fe46dcb9ebec4d1fff1d5

BUG=chromium-os:10696
TEST=built for x86-mario with FEATURES=test; checked that the power manager can now use SendUserActionToUMA()

Review URL: http://codereview.chromium.org/6130003
2011-01-06 15:46:00 -08:00
Darin Petkov
ed82485c3b Add support for user actions to the metrics library and the metrics clients.
BUG=10696
TEST=unit tests, tested on the device through metrics_client and inspecting
the uma-events file.

Change-Id: Ie39dd8b5ab968c328993076369a4ba14cb7fcd81

Review URL: http://codereview.chromium.org/6094010
2011-01-06 10:51:47 -08:00
Daniel Erat
b9b05e6047 metrics: Update tests to send user in session state change.
This updates the signal to match the changes that I'm making
in http://codereview.chromium.org/4718001/show.

Change-Id: Id414187a62f209f2e8145c75bfd982b357d04e98

BUG=chromium-os:8123
TEST=ran it

Review URL: http://codereview.chromium.org/4749001
2010-11-09 12:18:51 -08:00
Ken Mixter
eafbbdf3df metrics: Add guest mode detection to metrics library and client
Change-Id: I2c27bd999330395ba3568820ea76198b202bd7f4

BUG=7203
TEST=Verify metrics_client -c and -g toggling consent and guest mode.

Review URL: http://codereview.chromium.org/3571009
2010-10-01 15:38:42 -07:00
Darin Petkov
fd55798dc0 Metrics: Update README to reflect recent changes.
The updates include:

- Mention the need for "Consent To Send Stats" to exists and the new
AreMetricsEnabled API.

- Replace wiki with XML references (need to add an internal only document
somewhere too).

- Reformat to take full advantage of 80-character lines.

BUG=none
TEST=none

Change-Id: Idbe06e70d5d15f1f8dbbb9475f38a1b0becbca32

Review URL: http://codereview.chromium.org/3573007
2010-10-01 15:11:44 -07:00
Chris Sosa
dd6a8db06e Remove blank tracking script.
Change-Id: Iffe8e4233a3f7c100d44502baffdc9515cbdf426

BUG=5905
TEST=Emerged metrics package

Review URL: http://codereview.chromium.org/3597004
2010-09-30 16:39:32 -07:00
Ken Mixter
e4fb0af5c5 Deprecate libcrash.a
Change-Id: Ic8dd69478bcc32908c47ed38f61534fefb8e053d

BUG=5870
TEST=build_packages

Review URL: http://codereview.chromium.org/3413005
2010-09-14 18:09:20 -07:00
Sam Leffler
239b826808 remove TimeToDrop support
Now that flimflam has native support this can be purged.

TEST=run FEATURES=test emerge-x86-generic metrics; verify TimeToDrop is still being recorded w/ about:histograms/Network

Review URL: http://codereview.chromium.org/3233004
2010-08-30 08:56:58 -07:00
Ken Mixter
4c5daa4794 Add weekly crash counters, refactor metrics_daemon, respect opt-in in library.
BUG=5340,5814

Change-Id: I2c207055f1ebe48051193395e2dbe38d9140b025

Review URL: http://codereview.chromium.org/3171023
2010-08-26 18:35:06 -07:00
Ken Mixter
ccd84c03d2 Add # daily crashes metrics and separate kernel crashes out.
BUG=5340

Review URL: http://codereview.chromium.org/3181015
2010-08-16 19:57:13 -07:00
Chris Masone
3fd74748a7 [metrics] Fix tests after libbase roll broke them
Change-Id: Ie26189e05b8aaa637614ed098d8b215c6a436216

Review URL: http://codereview.chromium.org/3138013
2010-08-12 12:19:25 -07:00
J. Richard Barnette
9ce4fa3f60 Add LICENSE file 2010-08-05 14:13:48 -07:00
Darin Petkov
6c0260a1bd Link libcrash conditionally.
This enables building metrics for the host thus enabling using metrics
in the current update_engine without breaking the host dev flow.

BUG=4852
TEST=emerged with and without USE=-crash

Review URL: http://codereview.chromium.org/3032004
2010-07-19 10:54:27 -07:00
Chris Sosa
07ae1f87ca Remove generate_logs since it's been moved to workarounds in issue 2861045
TEST=Emerged metrics and workarounds after change.

Review URL: http://codereview.chromium.org/2978006
2010-07-13 16:14:27 -07:00
Darin Petkov
1c2b4c8125 Use the HWID from the firmware as the hardware class, if available.
BUG=3089
TEST=gmerge'd on device, ran with and without an hwid file.

Review URL: http://codereview.chromium.org/2824039
2010-06-30 10:30:27 -07:00
Darin Petkov
d2f284bfe2 Add crash reporting to metrics_daemon.
BUG=none
TEST=unit tests,gmerge'd on device, verified it runs OK, pkill -SEGV generated minidump.

Review URL: http://codereview.chromium.org/2806043
2010-06-30 09:47:16 -07:00
Darin Petkov
38d5cb09ef Log active use time between kernel crashes.
Also, initialize the network state from flimflam, just in case -- now
that the metrics daemon process starts a bit late,

BUG=none
TEST=unit tests, ran on the device, emerged arm-generic

Review URL: http://codereview.chromium.org/2864009
2010-06-24 12:10:26 -07:00
Darin Petkov
cd8c317453 Readability review.
Review URL: http://codereview.chromium.org/2729018
2010-06-24 10:13:54 -07:00
Darin Petkov
c2bf95fd8b Update libmetrics docs to cover some recent questions and issues.
Review URL: http://codereview.chromium.org/2828017
2010-06-21 16:27:52 -07:00
Darin Petkov
32e1df9d6c Update the README to mention that a C API is also available.
Review URL: http://codereview.chromium.org/2819008
2010-06-17 17:05:06 -07:00
Sam Leffler
10b301da57 add C wrapper for libmetrics
TEST=unit tests + build&test crosmetrics plugin for flimflam

Review URL: http://codereview.chromium.org/2832008
2010-06-17 14:22:43 -07:00
Darin Petkov
1bb904ed4d Measure and report time between user-space process crashes.
BUG=none
TEST=unit tests, gmerged on the device and inspected
logs, about:histograms,etc.

Review URL: http://codereview.chromium.org/2736008
2010-06-16 15:58:06 -07:00
Darin Petkov
f1e85e49b3 Implement a persistent storage aggregation counter class.
This class is currently used to aggregate the active daily use time
but can also be used to aggregate other data (e.g., active use time
between crashes) before sending to UMA. Abstracting this in a separate
class also simplifies the daemon unit tests.

An alternative design would store the data on shutdown (but may slow
down shutdown a little). This should do it for now.

BUG=none
TEST=gmerged on device,inspected logs,about:histograms,etc.

Review URL: http://codereview.chromium.org/2731008
2010-06-10 15:59:53 -07:00
Darin Petkov
99c64a0dd8 Recommend including "Chrome OS" in the histogram description.
Review URL: http://codereview.chromium.org/2715005
2010-06-10 15:46:39 -07:00
Benson Leung
53faeb0d6c Fixed KDBusMatches bug.
Missing comma in array definition caused metrics_daemon to fail.
Metrics_daemon would use a lot of CPU when broken.

Review URL: http://codereview.chromium.org/2767003
2010-06-08 15:59:13 -07:00
Anush Elangovan
3fec7f67e4 Update Watchlists
Change-Id: If8849909b7641df022f32726d3ca2b31ad828fe0
2010-06-08 01:33:22 -07:00
David James
6bf6e2530d Update metrics daemon to use new power manager signals for locking (4 of 7).
Co-dependent with the following change:
 - Issue 2685003: Update XScreenSaver to use new power manager signals for
   locking (3 of 7).

TEST=Ran test suite.
BUG=chromium-os:3694

Review URL: http://codereview.chromium.org/2698002
2010-06-06 18:52:40 -07:00
Anush Elangovan
55188f5f9f Setup code review inheritance
Change-Id: I068e0f67cb89140526cc4df6f868d0d74b9c1bee
2010-06-05 13:12:30 -07:00
David James
3b3add5ad2 Cleanup style nits in metrics daemon.
- Remove trailing spaces.
- Convert 'char *' to 'char*'
- Fix other minor style nits
- Many of these issues were pointed out by tfarina.

BUG=none
TEST=Checked that it compiles and passes tests.

Review URL: http://codereview.chromium.org/2693001
2010-06-04 15:01:19 -07:00
Darin Petkov
e334840fb3 s/org.moblin.connman/org.chromium.flimflam/
Review URL: http://codereview.chromium.org/2664003
2010-06-04 14:07:41 -07:00
Darin Petkov
f27f036d31 Update metrics_daemon to use base/time.h instead of time_t directly.
Also, guard against time jumps in the active daily use metric collection.

BUG=none
TEST=unit tests; gmerge'd on the target device and inspected the logs.

Review URL: http://codereview.chromium.org/2576005
2010-06-04 13:14:19 -07:00
Chris Sosa
f1172ff67e Add script to collect logs, dumps and other relevant information.
Review URL: http://codereview.chromium.org/2103005
2010-05-27 14:17:38 -07:00
Darin Petkov
51a83dbe1f A script to print the hardware class (e.g., hwqual ID) of the device.
This script will be used be Chrome's UMA service to add the "hardwareclass"
field to the XML to be uploaded.

Review URL: http://codereview.chromium.org/2289001
2010-05-26 15:37:25 -07:00
Darin Petkov
11b8eb3cf1 Add metrics library tests. Some metrics daemon API cleanup.
Refactor the metrics daemon API a little so that we don't need
to link in libmetrics into the daemon test binary.

Review URL: http://codereview.chromium.org/2079007
2010-05-18 11:00:59 -07:00
Darin Petkov
c80dd92f5d Per kmixter's suggestion, install metrics headers under /usr/include/metrics.
Also, move file installation to the metrics ebuild.

Review URL: http://codereview.chromium.org/2087002
2010-05-14 09:12:36 -07:00
Darin Petkov
21cd2c5a9f Remove the deprecated static metrics APIs.
Review URL: http://codereview.chromium.org/2037011
2010-05-12 15:26:16 -07:00
Darin Petkov
fc91b42a5e Start transition the metrics library to non-static API. Use gmock in tests.
Review URL: http://codereview.chromium.org/2049007
2010-05-12 13:05:45 -07:00
Darin Petkov
4fd6d3f1d0 First draft of the metrics doc.
Review URL: http://codereview.chromium.org/1989004
2010-05-11 09:47:43 -07:00
Darin Petkov
e579d66a36 Add tests for the D-Bus MessageFilter.
Review URL: http://codereview.chromium.org/1990001
2010-05-05 16:19:39 -07:00
Darin Petkov
2ccef01626 Add some basic tests for metrics_daemon.
A separate CL adds a test stanza to the metrics ebuild. More tests
(specifically, for the D-Bus MessageFilter) will also come in a
separate CL.

Review URL: http://codereview.chromium.org/1919005
2010-05-05 16:06:37 -07:00
Darin Petkov
41e0623cab ... will look into some unit and integration testing for all metrics code next in a separate CL.
Review URL: http://codereview.chromium.org/1863002
2010-05-03 16:45:37 -07:00
Darin Petkov
703ec97bdf Log time between network drops -- from online to offline.
Rewrite most of metrics_daemon. Convert to low-level D-Bus API -- this
simplifies the code a little and also allows us to catch the power
state signal. I still suspect we may be abusing D-Bus a little but it
seems to work.

snanda@ -- please review the power state code specifically.

BUG=none
TEST=tested on target platform and arm-generic builds

Review URL: http://codereview.chromium.org/1799001
2010-04-27 11:02:18 -07:00
Darin Petkov
5b7dce1f60 Add support for linear/enumeration histograms.
Review URL: http://codereview.chromium.org/1747008
2010-04-21 15:45:10 -07:00
Darin Petkov
c2526a1265 Update the libmetrics API to match the new Chrome interface.
Review URL: http://codereview.chromium.org/1642018
2010-04-21 14:24:04 -07:00
Darin Petkov
4fcb2ac28f metrics cleanup and fixes.
- value is int now.
- add seconds to milliseconds option to metrics_client and use it
- chmod chronos/root fix
- style fixes

Review URL: http://codereview.chromium.org/1649007
2010-04-15 16:40:23 -07:00
Darin Petkov
65b0146839 Unify metrics_collection and metrics_daemon into metrics.
Tested new binaries on the target.
Tested incremental build.
Tested arm-generic build.

Review URL: http://codereview.chromium.org/1650006
2010-04-14 13:32:20 -07:00