Commit Graph

23 Commits

Author SHA1 Message Date
Bertrand SIMONNET c95440e9b6 metrics: Import protobufs from Chromium.
Instead of pulling the protobufs from chromium, copy them into
platform2/metrics/proto.
This enables us to add Chromium OS specific changes without polluting
Chromium's protobuf.

BUG=chrome-os-partner:42861
TEST=`FEATURES=test emerge-gizmo metrics` succeeds.

CQ-DEPEND=CL:286895

Change-Id: Ib919a21da6518199c29adb70c8bc27220e0dc031
Reviewed-on: https://chromium-review.googlesource.com/286943
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
Trybot-Ready: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
2015-07-23 01:16:46 +00:00
Bertrand Simonnet eba8a014cf Revert "metrics: Fix the import path of protobufs."
This reverts commit 54297164b4258cd8098903a38fb3837c462e2db1.

Dependent CL reverted.

Change-Id: I35b4ede8b2f67d9dade60869cfbddea81ebeb556
Reviewed-on: https://chromium-review.googlesource.com/264784
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
2015-04-08 20:55:00 +00:00
Bertrand SIMONNET 6db436a03b metrics: Fix the import path of protobufs.
We are switching chromeos-base/metrics to use the metrics component
pulled as part of the checkout.
This components will be copied in $S and not in platform2/metrics. The
import path need to be fixed.

BUG=chromium:474811
TEST=trybots.
TEST=unittests.

CQ-DEPEND=CL:264544

Change-Id: I02a379eff0f97081dffd382bbee5028b3600f975
Reviewed-on: https://chromium-review.googlesource.com/264506
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
2015-04-08 19:12:10 +00:00
Steve Fung ae4bdc4c92 metrics: Fix upload_service to work with base::MessageLoop
With an earlier change, metrics_daemon was switched from the glib message loop
to base::MessageLoop.  UploadService still is trying to interact with the
glib message loop, it needs to be switched to using base::MessageLoop.

BUG=chromium:452228
TEST=`FEATURES=test emerge-panther metrics`

Change-Id: I38eb52ca1995d75cfb7d0e69a434e649493e7c6f
Reviewed-on: https://chromium-review.googlesource.com/243429
Reviewed-by: Nathan Bullock <nathanbullock@google.com>
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: Stephen Fung <stevefung@chromium.org>
Commit-Queue: Stephen Fung <stevefung@chromium.org>
Trybot-Ready: Stephen Fung <stevefung@chromium.org>
2015-01-28 01:56:01 +00:00
Alex Vakulenko 73b40b468b Update libchrome to r307740 and fix build errors
Updated libchrome, libchrome_crypto, metrics, feedback to the
latest revisions from Chrome (r307740).

Fixed build breaks due to the changes in upstream code:

- scope_ptr no longer needs explicit PassAs<T>() calls.
- scope_ptr<T> no longer has implicit conversion to T*.
  Must use scope_ptr<T>::get() instead.
- base/file_util.h moved to base/files/file_util.h
- ARRAYSIZE_UNSAFE() removed in favor of arraysize()
- base::AppendToFile() and base::WriteFileDescriptor() now
  return bool instead of the number of bytes written.
- dbus::Bus::AddFilterFunction() now returns void.
- C++11 features are enabled in libchromeos, so all targets
  linking with it now have to support C++11
- OVERRIDE macro is removed in favor of native C++11
  'override' keyword.

BUG=chromium:416628, chromium:411508
TEST=Build the world on x86, x64, ARM. The following builders
     were tried:
       x86-generic-full amd64-generic-full arm-generic-full
       amd64-generic-asan daisy-full nyan-full pre-cq-group
       daisy-release-group sandybridge-release-group
       pineview-release-group
CQ-DEPEND=CL:234450,CL:234980

Change-Id: I374bebe2211d533c4431c82efb8be1cdcb1f405d
Reviewed-on: https://chromium-review.googlesource.com/234440
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
2014-12-15 07:18:09 +00:00
Alex Vakulenko 788d3b6365 metrics: fork metrics sources from Chromium source base
In preparation to libchrome uprev, fork off non-protobuf code
from Chromium's metrics component into platform2/metrics.

The current version of Chromium's metrics component has been
significantly refactored and pieces of functionality that
Chromium OS was dependant on (e.g. MetricsLogBase class) has
been removed completely.

So, taking the r293518 version we have been using for a while
and putting it as part of platform2/metrics now.

BUG=None
TEST=FEATURES=test emerge-link metrics

Change-Id: Ib46ac1dff2e2b9cc881e4787b3c6b6250f0bf9c4
Reviewed-on: https://chromium-review.googlesource.com/234635
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
Trybot-Ready: Alex Vakulenko <avakulenko@chromium.org>
2014-12-12 21:38:08 +00:00
Steve Fung 67906c6bbb metrics: remove gflags dependency
We are switching to using chromeos/flag_helper.h instead to standardize the
code everywhere.

BUG=chromium:375017
TEST=`FEATURES=test emerge-panther metrics`
TEST=`cbuildbot --remote --hwtest -p 'chromiumos/platform2'
      falco-paladin` passes

Change-Id: Icd08f65fd639e82ac6fe1581c763d60a189db827
Reviewed-on: https://chromium-review.googlesource.com/221757
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Commit-Queue: Steve Fung <stevefung@chromium.org>
Tested-by: Steve Fung <stevefung@chromium.org>
2014-10-07 05:53:18 +00:00
Alex Deymo dfea2f8992 Remove '../platform2/' from platform2 relative paths in gyp files.
The paths in platform2 gyp files are relative to the gyp file so they
don't require to have '../platform2/' in them.

BUG=None
TEST=cbuildbot amd64-generic-full arm-generic-full

Change-Id: I4da32969fc4956df14e9d3685f790565cd33d20f
Reviewed-on: https://chromium-review.googlesource.com/219788
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Deymo <deymo@chromium.org>
Tested-by: Alex Deymo <deymo@chromium.org>
2014-09-25 04:10:00 +00:00
Ben Chan 37595f893f Update to build against libchrome-293518.
libchrome is updated from revision 271506 to 293518. This CL updates
platform2 code to build against libchrome-293518 with the following
changes:

- LOG_ERROR_REPORT is removed
  (https://codereview.chromium.org/331143007)

- StringToLowerASCII is moved to base namespace
  (https://codereview.chromium.org/448853002)

BUG=chromium:411001
CQ-DEPEND=CL:216584
CQ-DEPEND=CL:216585
CQ-DEPEND=CL:216586
CQ-DEPEND=CL:216511
CQ-DEPEND=CL:217084
CQ-DEPEND=CL:217085
TEST=Trybot run on paladin, release, and chromiumos-sdk builders.

Change-Id: I9fbdad30b3a7c79c1ec4e208664b8befea31a3ec
Reviewed-on: https://chromium-review.googlesource.com/216589
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
2014-09-09 21:00:00 +00:00
Alex Vakulenko ec991df012 metrics: Switch uploader to use http_utils from libchromeos
Removed explicit dependency on libcurl from metrics and using
chromeos::http::PostText() function instead.

BUG=chromium:411076
TEST=FEATURES=test emerge-link metrics

Change-Id: Ida883fa18d266e9bb87c3a4271e57d44c9308c79
Reviewed-on: https://chromium-review.googlesource.com/216526
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
2014-09-09 13:49:28 +00:00
Bertrand SIMONNET d83ca801ad metrics: Use the new serialization mechanism in libmetrics
Convert libmetrics to the new serialization mechanism living in
//components/metrics in the chrome repo.

BUG=chromium:374368
TEST=FEATURES=test emerge-amd64-generic metrics

Change-Id: Ia8cf128d04fedd9672fb47096dc6fd87d6a9043d
Reviewed-on: https://chromium-review.googlesource.com/207237
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
2014-07-10 21:22:14 +00:00
Bertrand SIMONNET 46b49da5ad Add an uploader to metrics_daemon
Metrics_daemon will now upload the metrics to Chrome's backend when Chrome is
not available.
This uses //components/metrics from chrome to use its protobuf definition and
the metrics common code.

This functionality is not yet enabled. It will be once the end-to-end test is
enabled.

BUG=chromium:358283, chromium:364579
TEST=FEATURES=test emerge-amd64-generic metrics

CQ-DEPEND=CL:205790
CQ-DEPEND=CL:206055

Change-Id: I87aaf7a2ac041581fa3ffd4ec61f73e933c00a52
Reviewed-on: https://chromium-review.googlesource.com/205810
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
2014-07-08 04:28:11 +00:00
Bertrand SIMONNET 0d4b551b54 metrics: Create a standalone ebuild for system_api
system_api is required by a lot of platform2 packages. We need it to be in a
standalone ebuild in order for other packages to depend on it.

This package installs the common headers and compiles the protobufs into static
libraries.

BUG=chromium:386223
TEST=FEATURES=test emerge-amd64-generic platform2.
TEST=trybot run on daisy, link, duck, x86-mario.
TEST=trybot run on lumpy-incremental-release.

CQ-DEPEND=CL:204594

Change-Id: If0b601576593855cbc21a6358977d6e313cf696e
Reviewed-on: https://chromium-review.googlesource.com/204582
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
2014-06-21 02:23:13 +00:00
Bertrand SIMONNET 4764f52d9c metrics: Migrate libchromeos to its own ebuild
All platform2 packages should have their own ebuild that will be compiled
independently. Packages should DEPEND on libchromeos and should not have a gyp
dependency on libchromeos's gyp file anymore.

BUG=chromium:381372
TEST=emerge-daisy libchromeos && emerge-daisy platform2 work
TEST=trybot run on daisy, link, mario and duck.
TEST=trybot run on lumpy-incremental-paladin.

CQ-DEPEND=CL:202748

Change-Id: I0fe0732d47463e880b11d3d547e99dba0ac83ace
Reviewed-on: https://chromium-review.googlesource.com/202771
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
2014-06-18 11:00:49 +00:00
Bertrand SIMONNET a756f7e66f metrics: Update gyp files to use libchromeos from src/platform2
libchromeos was moved from src/platform to src/platform2. This CL updates
the gyp files to use the new location.

BUG=chromium:370258
TEST=FEATURES=test emerge-amd64-generic platform2
TEST=trybot run on daisy, link, mario and duck

CQ-DEPEND=CL:202334

Change-Id: I939dd5672120d47e8dc388f75b3dfeeb234c47b7
Reviewed-on: https://chromium-review.googlesource.com/202398
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
2014-06-03 04:25:06 +00:00
Bertrand SIMONNET 38f6bfa90b metrics: Update gyp file to use src/platform2/common-mk
We are moving the packages built by platform2's ebuild into src/platform2.
We need packages to use src/platform2/common-mk instead of
src/platform/common-mk.

BUG=chromium:378554
TEST=emerge-daisy platform2
TEST=trybot run on daisy, link, mario and duck

CQ-DEPEND=CL:201938

Change-Id: Ibe02d33d7d17a830f0d72cdb2597b8e97b1864da
Reviewed-on: https://chromium-review.googlesource.com/201982
Tested-by: Bertrand Simonnet <bsimonnet@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Commit-Queue: Bertrand Simonnet <bsimonnet@chromium.org>
2014-05-31 01:46:36 +00:00
Ben Chan 8c3cd41620 metrics: Update to build against libchrome-271506
BUG=chromium:375032
TEST=`FEATURES=test emerge-$BOARD platform2`
TEST=Trybot runs on paladin, release, and chromiumos-sdk builders.

Change-Id: Icb524d3fd4001ebc36edc84306ea70db70f7599b
Reviewed-on: https://chromium-review.googlesource.com/200519
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Daniel Erat <derat@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
2014-05-21 20:30:05 +00:00
Luigi Semenzato 6c320063ef metrics: add PersistentInteger unit test.
BUG=chromium:339588
TEST=P2_TEST_FILTER="metrics::*" FEATURES=test emerge-panther -v platform2
BRANCH=none

Change-Id: I78bdd8eed2da69ae6284d0f7770918d1be9f0e9f
Reviewed-on: https://chromium-review.googlesource.com/190121
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Commit-Queue: Luigi Semenzato <semenzato@chromium.org>
2014-03-25 00:32:15 +00:00
Luigi Semenzato 2fd51cc42d metrics: refactor counters
The metrics daemon had counter classes that represented
persistent, tagged values, and UMA stats.  To create some
derived UMA stats we need to separate persistency and UMA stats,
and the tagging doesn't help either.

This rewrite is supposed to keep the same functionality.

BUG=chromium:339588
TEST=ran and checked a few histograms
BRANCH=none

Change-Id: Ia1121ab2db391d71edffab9f52afe29ce17686ba
Reviewed-on: https://chromium-review.googlesource.com/188082
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Commit-Queue: Luigi Semenzato <semenzato@chromium.org>
2014-03-14 19:42:50 +00:00
Ben Chan 2e6543ddad Update to build against libchrome-242728.
This CL updates metrics to build against libchrome-242728 and also converts
libmetrics into slotted libraries (libmetrics-180609 and libmetrics-242728).

BUG=chromium:341521
BUG=chromium:342866
CQ-DEPEND=CL:186027
CQ-DEPEND=CL:186026
CQ-DEPEND=CL:186037
CQ-DEPEND=CL:186092
CQ-DEPEND=CL:186028
CQ-DEPEND=CL:186029
CQ-DEPEND=CL:186038
CQ-DEPEND=CL:186093
CQ-DEPEND=CL:186100
CQ-DEPEND=CL:186039
TEST=Trybot run on paladin, release, and chromiumos-sdk builders.

Change-Id: I09dc3d47cfe24a22864abf217658c63493b35cba
Reviewed-on: https://chromium-review.googlesource.com/185187
Reviewed-by: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Ben Chan <benchan@chromium.org>
2014-02-12 19:39:45 +00:00
Liam McLoughlin b2c56e1ab0 Add -fvisibility=default to metrics library
BUG=chromium:315243
TEST=x86-generic-full and daisy-full trybots pass

Change-Id: Ia1f2d41ddf0e54beee0a928bc62b67edd71ac706
Reviewed-on: https://chromium-review.googlesource.com/175770
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Liam McLoughlin <lmcloughlin@chromium.org>
Tested-by: Liam McLoughlin <lmcloughlin@chromium.org>
2013-12-12 02:25:41 +00:00
Chris Masone 33a1baef7a Add passive_metrics USE flag to platform2
We want to be able to control the inclusion of the metrics_daemon,
which passively gathers power stats and the like and sends them
through the UMA pipeline iff the user has opted-in to metrics
collection.

CQ-DEPEND=CL:177244, CL:177291
BUG=None
TEST=emerge platform2 with USE='-passive_metrics' on and off, with and without FEATURES=test

Change-Id: Id6af84d3de585a156d8ebbcc23117df000de080d
Reviewed-on: https://chromium-review.googlesource.com/177217
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
Commit-Queue: Chris Masone <cmasone@chromium.org>
2013-11-20 06:51:20 +00:00
Liam McLoughlin 3ebadf8785 Add metrics GYP file
BUG=chromium:220003
TEST=Run emerge-<board> -v platform2 with and without platform2 USE
flag on a range of boards plus the host

Change-Id: I44f15c31a8ac3917f3262912c43419a93652c0d8
Reviewed-on: https://gerrit.chromium.org/gerrit/40316
Tested-by: Liam McLoughlin <lmcloughlin@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Liam McLoughlin <lmcloughlin@chromium.org>
2013-05-09 14:56:54 -07:00