History log of /system/core/metricsd/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
205cdb88680ce65382e2fa7080b6a6b603146c96 05-Feb-2016 Alex Deymo <deymo@google.com> Merge "metricsd: Create a brillo::MessageLoop."
1e7592c9d5ea28823f996851d3d8a0fc915640fb 04-Feb-2016 Jorge Lucangeli Obes <jorgelo@google.com> Unit tests: Compile only on 'eng' builds.

metrics_collector_tests, metricsd_tests.

Bug: 26967770
Change-Id: I6d7e8fb6d3d98ab747d922bfeef05aa344b2179c
ndroid.mk
f1bf9e5fc941ba7f342c6d378fbde9782574ab0f 04-Feb-2016 Alex Deymo <deymo@google.com> metricsd: Create a brillo::MessageLoop.

brillo::BinderWatcher now requires a brillo::MessageLoop, so this patch
creates a brillo::BaseMessageLoop and passes it when creating the
brillo::BinderWatcher.

Bug: 26356682
TEST=Deployed metricsd to edison-eng.

Change-Id: I6a9e592623faf231205ae44e479bec2b873b8898
ploader/metricsd_service_runner.cc
ploader/metricsd_service_runner.h
2bedc7455318e35b2a6ac77031b673d59893877d 03-Feb-2016 Steve Fung <stevefung@google.com> crash_reporter: Fix paths for kernel panic collection

Fix the paths to the pstore mount and run data within
the kernel collector.

BUG=26774830

Change-Id: I68be0a28201cb73c3420166b2f4da77a1e586ca2
etrics_collector.cc
eca14e3722257cfd8f0e4531e279b2b79072abb3 28-Jan-2016 Alex Vakulenko <avakulenko@google.com> metricsd: Removing brillo::Any from weaved's public APIs

Weaved replaces brillo::Any with base::Value in its client library,
so need to update clients.

Also this removes last D-Bus dependencies from metrics_collector.

BUG: 26558300
Change-Id: I82d571d7e2bd17347daeb1b70f48ec05378894f0
ndroid.mk
ollectors/averaged_statistics_collector.cc
etrics_collector.cc
etrics_collector.h
etrics_collector.rc
etrics_collector_test.cc
etricsd.rc
d8306123056fe19d77ec32b90da7b3e2675d3412 26-Jan-2016 Alex Deymo <deymo@google.com> Add BinPackArguments: false to .clang-format

Without this setting, arguments passed to a function can be packed in
more than one line, with more than one argument per line.

For example, the following code will be formated as this without the
BinPackArguments:

CallMyFunction(
with_more_than_one, argument_per_line,
event_they_dont_fit_in_a_single_line);

On the other hand, with BinPackArguments: false, that code will be
split in:
CallMyFunction(
with_more_than_one,
argument_per_line,
event_they_dont_fit_in_a_single_line);

or all the arguments in the same line if they all fit.

Bug: None
TEST=None

Change-Id: I48627e66e2a841f89418c0763e7fe6c3e6ea7387
clang-format
f1aa372f77e5a9d8a7726c38259418d99c0b4dac 22-Jan-2016 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Add more assert clause.

This CL adds two more checks:
* When populating a closed log with the metadata, make sure the
SystemProfileSetter is not null.
* When using the update engine client library, check if the update
engine client object was created correctly. The returning object can
be null if update engine's binder service is not running.

Bug: 26731548

Change-Id: I8a615c87f33e15a163d56ccfa3a932a0908aac5f
ploader/metrics_log.cc
ploader/system_profile_cache.cc
371b822e7ab9966905f6d6d7e26bf3107262d1f2 21-Jan-2016 Alex Vakulenko <avakulenko@google.com> libmetrics: Update BASE_VERS to 369476

This is needed to uprev everything on ChromeOS side

Change-Id: I070e374dd4abe92884b88231ba60c82b69c72806
ibmetrics-334380.gyp
ibmetrics-369476.gyp
ea05ff9229163e6aacfb7f7dffdd76bff559673c 20-Jan-2016 Alex Vakulenko <avakulenko@google.com> crash_reporter/metricsd: Update libchrome APIs to r369476

The new libchrome has been ported from Chromium and some APIs have
changed. Make necessary changes at call sites.

Change-Id: I9e45975cdef43913270b82e3fca2c027e614a464
ollectors/cpu_usage_collector.cc
etrics_collector.cc
etrics_collector_main.cc
ploader/metricsd_service_runner.cc
30c174b7f93b9f6ee55302eedc0ab4078e8d1f12 20-Jan-2016 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Add tests to the default debug build.

This will allow the tests to be run by the continuous builder.

Bug: 26571398
Change-Id: I7eae2761603e83e3d1f003cb3b06582abc4ed24f
Test: Build an eng build. The tests are installed.
ndroid.mk
d6862317a6259695b0ae13a889fd12fe7c8e75c4 19-Jan-2016 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Persist metrics on shutdown.

When metricsd receives a SIGTERM signal (on system shutdown for
example), save the metrics to disk before exiting.

Bug: 26184202
Test: Start metricsd. Log a metric sample. Stop metricsd. The metric is
saved to disk.

Change-Id: Ib224efa8837130393fac5d06fa80d320263cfc84
ploader/upload_service.cc
0586504e01784b054944ca12f816880e27dfc2e7 15-Dec-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Persist the metrics to disk periodically.

Every now and then (5 minutes by default), the uploader will persist the
current metrics to disk to avoid losing them in case we exit
unexpectedly (reboot or crash).
When starting up, metricsd will load the previously saved log and resume
the metrics collection from there.

Bug: 25670584
Test: Unit tests.
Test: manual: restart metricsd. The saved log is detected and parsed
correctly.
Test: manual: Send a sample to metricsd, send SIGTERM to metricsd, the
log is saved to disk, metricsd restarts and picks up the log where it
left.

Change-Id: I4cefc62c7ea1fa51333d84d8a7ba0a2e9c7fd58f
onstants.h
etricsd_main.cc
ploader/metrics_log.cc
ploader/metrics_log.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
b6c77af4993b5e5a83fd1ed80309823e44f70650 09-Dec-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Cleanup on TERM signal.

metricsd should shutdown cleanly when receiving a TERM signal:
* stop the binder watcher.
* wait for the thread to quit.
* Exit cleanly.

Note: This is not directly used as we don't send SIGTERM on shutdown or
when stopping services yet.

Bug: 25670584
Change-Id: I878d1e67474c72d24790f3540470e37a23112a95
ndroid.mk
etricsd_main.cc
ploader/bn_metricsd_impl.cc
ploader/bn_metricsd_impl.h
ploader/metricsd_service_runner.cc
ploader/metricsd_service_runner.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
ba95a94e3e8a955e0e14cfe24cf0e7509ed1d917 07-Jan-2016 Alex Vakulenko <avakulenko@google.com> metricsd: Split out the trait name from the command name

weaved::Service::AddCommandHandler() and SetStateProperty() now
expect the trait name as a separate argument.

BUG: 26443877
Change-Id: I2ad587d984375a7ebd70c7dc804b446b66d6be1b
etrics_collector.cc
53ca76f2f31b90a9767a45f0cd076017db436cc0 30-Dec-2015 Alex Vakulenko <avakulenko@google.com> metrics: Switch to use Binder interface to weaved

Now that weaved provides a binder interface for its IPC, switch
to using it instead.

BUG: 23782171
Change-Id: Ic3c485f99580fe41e287eaf238f033149787f181
etrics_collector.cc
etrics_collector.h
a649a7df15617e1e54cc89c2f682a5e6472bf304 07-Jan-2016 Bertrand Simonnet <bsimonnet@google.com> Merge "Fix documentation."
146360b4a6fada80a78ea3b7adcf95d671cdd071 21-Dec-2015 Bertrand SIMONNET <bsimonnet@google.com> Fix documentation.

This fixes the documentation for UploadService and the README file:
* stop mentioning Chrome OS as we forked the code.
* update the histogram declaration workflow. It is not tied to Chrome's
histograms.xml file anymore.
* update the architecture explanation of metricsd. We split
metrics_daemon into two daemons and are now using binder to log
metrics.
* convert README to markdown to make it prettier when viewed in gitiles.

Bug: 26314417

Change-Id: I1e492f1211c1784e65dd4d3e473bb9aacefc3b5d
EADME
EADME.md
ploader/upload_service.h
b8827122a8e9d966ef62a70c081f488735260586 06-Jan-2016 Jorge Lucangeli Obes <jorgelo@google.com> Use specific users for metricsd/metrics_collector.

/data/misc/metricsd only needs to be accessed by metricsd.
/data/misc/metrics_collector only needs to be accessed by
metrics_collector.

/data/misc/metrics needs to be writable by metrics_collector
and readable by metricsd. Make it 0750 metrics_collector:system
and keep running metricsd as group 'system' to allow reading.

Bug: 26337609
Change-Id: I169573cc547f154daa8b65c5f13bdc20964a3f2c
etrics_collector.rc
etricsd.rc
4b50bf3a9a6c9d4e577d41f1384507ff97bcdb19 06-Jan-2016 Todd Poynor <toddpoynor@google.com> metrics_collector: Fix build of tests

IMetricsCollectorService implementation moved from libmetricscollectorservice
to metrics_collector executable, which means it needs to be compiled into test
main as well.

Bug: None
Change-Id: I29b0a3ae6164d2256366d61c3a3639d22b943a69
ndroid.mk
b77ae4506f7bc9a9ee913427f52dc4acfd012737 04-Jan-2016 Todd Poynor <toddpoynor@google.com> Remove metrics collector service trampoline

No longer needed to trampoline between RTTI and non-RTTI compiles.

Move the service impl from libmetricscollector service to the
metrics_collector executable, now that RTTI is no longer used (and the impl
is not used by binder clients).

Other fixups, including:
* Move service registration and binder watcher to metrics_collector main.
* Compile libmetricscollectorservice with clang just because.

Bug: 26292405
Change-Id: Iae8115c13b203ff03d49bf7678d5eb3ede30e855
ndroid.mk
etrics_collector.cc
etrics_collector_service_impl.cc
etrics_collector_service_impl.h
etrics_collector_service_trampoline.cc
etrics_collector_service_trampoline.h
20960297438bf07ccfa5bd2a507eb31b5932da73 21-Dec-2015 Alex Vakulenko <avakulenko@google.com> Disable RTTI in crash_reporter and metricsd

There is no longer a reliance on RTTI in libbrillo, so disable RTTI
in the rest of Brillo codebase.

Bug: 26292405
Change-Id: I2751a2ac973a74741a82f5cd949fc0adaf2449a6
ndroid.mk
6c9fbb9a3aaee50302d54de8f27fc712c836b9ea 21-Dec-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Replace scoped_ptr with unique_ptr.

scoped_ptr are a chromism. We should use unique_ptr instead.

Bug: 25958769
Test: unit tests.

Change-Id: Ie23ae2ef42f66dcc76f45a9dafa66c8ceb0a2d90
ollectors/averaged_statistics_collector_test.cc
nclude/metrics/timer.h
etrics_collector.cc
etrics_collector.h
ersistent_integer_test.cc
imer.cc
imer_test.cc
ploader/system_profile_cache.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
33c59358525052c788a2d170d326b8b1cf810dd1 16-Dec-2015 Alex Vakulenko <avakulenko@google.com> Fix metricsd to conform to the lastest server schema

The new server push enabled component/trait validation rules. This
allows us to use the new schema that does not require vendor commands,
parameters and state to start with underscore ("_").

Also fixed a few minor errors in schema definition.

Change-Id: I184dd8e4c69c05e0dd1b0dddb1f9a7b0aef78841
tc/weaved/traits/metrics.json
etrics_collector.cc
694553d09797c66c32dafc50d7297610261c1abb 03-Dec-2015 Todd Poynor <toddpoynor@google.com> metrics_collector: add libmetricscollectorservice binder service

Switch user crash event notification from D-Bus to this Binder service.

Add a trampoline as a go-between for the -frtti and -fno-rtti sources.

Add MetricsCollectorServiceClient for crash_reporter to use, hiding the
binder proxy details.

Remove D-Bus message filtering from metrics_collector.

Bug: 25929888
Change-Id: Idcdd60ac476340fb11602fc9afab6cd87843e529
ndroid.mk
idl/android/brillo/metrics/IMetricsCollectorService.aidl
nclude/metrics/metrics_collector_service_client.h
etrics_collector.cc
etrics_collector.h
etrics_collector_service_client.cc
etrics_collector_service_impl.cc
etrics_collector_service_impl.h
etrics_collector_service_trampoline.cc
etrics_collector_service_trampoline.h
etrics_collector_test.cc
59e5c25919e2348ef6dc01b94c9bafbfc8786633 10-Dec-2015 Todd Poynor <toddpoynor@google.com> Merge "metricsd binder: Abort if fail to register service"
2862a7843dbec433c78febaed5c4c6c64500078b 09-Dec-2015 Todd Poynor <toddpoynor@google.com> metricsd binder: Abort if fail to register service

Assert abort metricsd if binder service registration fails.

If the addService() call fails (for reasons that at least include an SELinux
policy denial), the call to joinThreadPool() apparently processes a stale
pending weak dereference that triggers an abort on a probable double-free:

F libc : Invalid address 0xbe8bfa30 passed to free: value not allocated
F libc : Fatal signal 6 (SIGABRT), code -6 in tid 609 (metricsd)

Since metricsd is severely hobbled if registration fails, abort and see if
things work better the next time. If not, the crash loop will hopefully
attract attention to the problem.

Change-Id: I520d0eafb9cb25ee225d589bfd87df4e51f6b181
ploader/bn_metricsd_impl.cc
9fc597b750e7248fcb89daa5681dbef8b501d02f 09-Dec-2015 Alex Vakulenko <avakulenko@google.com> metricsd: Update to use new component/trait APIs from weaved

Removed command and state definitions and use trait definitions
instead. Also, create "metrics" component for weave.

BUG: 25916429, 25916428, 25917426

Change-Id: Icc02d1c46c371d3afa8e4723852f182992c62bf2
ndroid.mk
tc/weaved/commands/metrics.json
tc/weaved/states/metrics.schema.json
tc/weaved/traits/metrics.json
etrics_collector.cc
4840ab74b57d2896aa93942851e2c12f189f1327 09-Dec-2015 Alex Vakulenko <avakulenko@google.com> metricsd: Remove unused type declarations

BUG: 26092352
Change-Id: If0dda4c171a2b62291693db49c1e16499fc10f5a
etrics_collector.cc
b13527d14eacf6fbed4e5f7be8245755279c203e 03-Dec-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Allows introspecting the metrics.

This CL adds a dump command to metrics_client that will dump the
histograms, aggregated by metricsd since it started, in a human readable
format.
This is useful for developers to ensure that their code uses libmetrics
correctly and the reported values are correct.

Sample output (redacted to fit the commit message):
$ metrics_client -d
Histogram: hello recorded 5 samples, average = 54.8 (flags = 0x1)
0 ...
9 --------O (1 = 20.0%) {0.0%}
16 O (0 = 0.0%) {20.0%}
29 --------O (1 = 20.0%) {20.0%}
54 ------------------------O (3 = 60.0%) {40.0%}
100 O (0 = 0.0%) {100.0%}
$

Bug: 25817310
Test: * Send a histogram with metrics_client.
* `metrics_client -d` shows it.

Change-Id: Id186dc5463403ca9181ee9eef8f46b5e809b8714
idl/android/brillo/metrics/IMetricsd.aidl
nclude/metrics/metrics_library.h
etrics_client.cc
etrics_library.cc
ploader/bn_metricsd_impl.cc
ploader/bn_metricsd_impl.h
f2297eeb1f6ceb7242f26d2e365031c317e42040 03-Dec-2015 Bertrand SIMONNET <bsimonnet@google.com> metrics: Remove user action logic.

User actions are no longer reported anywhere, we can remove the logic.

Bug: 25818567
Change-Id: Ie8fee841bda6503a3f5781d73b0f879babe99b03
_metrics_library.cc
nclude/metrics/c_metrics_library.h
nclude/metrics/metrics_library.h
nclude/metrics/metrics_library_mock.h
etrics_client.cc
etrics_library.cc
6b8629a6490d01196368ae1ed5bc6967c6f127eb 18-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Log over binder.

This CL converts metricsd, libmetrics and metrics_collector to use
Binder to pass metrics samples.

Bug: 25670685

Change-Id: I657faecdf4ed1226ab30ce69e062028463437e7b
ndroid.mk
idl/android/brillo/metrics/IMetricsd.aidl
onstants.h
nclude/metrics/metrics_library.h
etrics_client.cc
etrics_library.cc
etrics_library_test.cc
etricsd_main.cc
erialization/metric_sample.cc
erialization/metric_sample.h
erialization/serialization_utils.cc
erialization/serialization_utils.h
erialization/serialization_utils_unittest.cc
ploader/bn_metricsd_impl.cc
ploader/bn_metricsd_impl.h
ploader/crash_counters.cc
ploader/crash_counters.h
ploader/metrics_log.cc
ploader/metrics_log.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
0c7e29b42e26e54b77ccb84e94e6584da5d97606 23-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Add clang format config.

This will make it easier to catch formatting nits.
This style is based on the Google style guide (well known publicly) and
follows the Chromium style changes we have adopted.

Bug: 25887990

Change-Id: If9562223752dfe611a32c341e703338f806bcc0f
clang-format
9d3a4aeae2bd59ebe72fca44c4fa508c1e9f1333 25-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Use different directories for each daemon.

Instead of using a single directory for both the internal data of
metricsd and metrics_collector and the shared files (metrics samples log
file and the metrics enabled file), we should use separate directory to
allow for a finer access control.

The new structure will be:
* /data/misc/metrics for the files accessible to all daemons reporting
metrics, metricsd and metrics_collector.
* /data/misc/metricsd for the private files of metricsd.
* /data/misc/metrics_collector for the private files of
metrics_collector.

Bug: 25886951
Test: Unit tests.
Test: Manual: metricsd and metrics_collector run without errors.

Change-Id: I006d19f45f5f419d2b08744126c2e2a0b899c9fa
onstants.h
etrics_client.cc
etrics_collector.cc
etrics_collector.h
etrics_collector_main.cc
etrics_collector_test.cc
etrics_library.cc
etricsd.rc
etricsd_main.cc
ploader/system_profile_cache.cc
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
a7bc1c14df9993fc2ae0ec6258e513b8371dd910 25-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Specify directory for persistent integers.

Instead of using a global directory for persistent integers, specify the
directory to use in the constructor.
This will make changing the backing directory easier.

Bug: 25886951

Change-Id: I590816b195fa81b179a5ec78b9cdf41bc86353dc
etrics_collector.cc
etrics_collector_test.cc
ersistent_integer.cc
ersistent_integer.h
ersistent_integer_mock.h
ersistent_integer_test.cc
ploader/system_profile_cache.cc
ploader/upload_service.cc
ploader/upload_service_test.cc
608e428006fa317badd51b941e05bdba42bd08bd 13-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Split into two daemons.

This CL splits metrics_daemon into two independent daemons: metricsd and
metrics_collector.

* metricsd will be responsible for reading the metrics from disk and
periodically uploading them to the server.
* metrics_collector will be responsible for gathering generic metrics
from the system and managing the weave state for metrics.

This refactoring is necessary to prepare the migration of metricsd to
log over binder.

Bug: 25670908
Test: Unit tests.
Test: manual: both daemons run. Metrics are logged, uploaded and the
weave interaction works.

Change-Id: Ib00e1772bb7eec87cbcdcd912c30b555d79d7074
ndroid.mk
ollectors/averaged_statistics_collector.cc
etrics_collector.cc
etrics_collector.h
etrics_collector.rc
etrics_collector_main.cc
etrics_collector_test.cc
etrics_daemon.cc
etrics_daemon.h
etrics_daemon.rc
etrics_daemon_main.cc
etrics_daemon_test.cc
etricsd.rc
etricsd_main.cc
ersistent_integer.cc
ploader/system_profile_cache.cc
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
1d15d46e1758052d25436e78487d5a778d0a3bc6 17-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Don't upload if product id is empty.

If the product id is not set, the product_id file might exist but be
empty. In this case, to try to update the metrics.

Bug: 25745391
Change-Id: I3942afaf38921b44ddb7e5a29d5d0e4fb6d48d94
Test: Unit tests.
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/upload_service_test.cc
ad6ab580b2d9d723219c272b757f454b7301ce19 14-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Remove dead code.

We don't report the cpu frequency, we can remove that part of the code.

Bug: 25693224
Test: unit tests.

Change-Id: I510654a74261dbd66b7183ea54eef1e1eadc4d91
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
dc225c82248d7df6acb7cdd9f18866511351cb2c 12-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Fix the update channel parsing logic.

libupdate_engine_client returns the channel as "stable-channel",
"dev-channel" or "beta-channel". This CL updates the parsing logic to
match this format.

Bug: 25669566
Test: unit tests
Test: manual: The reported channel matches what update_engine_client
--show_channel reports.

Change-Id: Ic6e52df892ae0b438f58fc05b178d5844d6674d0
ploader/system_profile_cache.cc
ploader/upload_service_test.cc
0a1119f0ce24d4ef98b3f4bcd67bcf03b8f1c057 06-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Fix logging initialization.

metricsd should only log to a single location (stderr or syslog):
* standard error if --logtostderr is set or metricsd runs in the
foreground.
* syslog if --logtosyslog is set or metricsd is daemonized.

Bug: 25472752
Change-Id: Idb918714e1b6975d79682f22495a7ca708d4d97d
etrics_daemon.rc
etrics_daemon_main.cc
adc1c235378f6d80a5c11d5a1197524d5cd0bf51 06-Nov-2015 Nathan Bullock <nathanbullock@google.com> metricsd: add SendBoolToUMA to metrics interface

Bug: 25561571
Change-Id: I698d2408e2f462865f6512b7be17ff0851a1f97c
nclude/metrics/metrics_library.h
nclude/metrics/metrics_library_mock.h
etrics_library.cc
0ada2ca1dc2b275318cb134cc9a02b42687ed19f 02-Nov-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Collect average cpu usage information.

Collect a new histogram (Platform.CpuUsage.Percent), collecting the
average cpu usage in percent of the total cpu usage possible (across all
cpus).
This measurement is collected every minute.

Bug: 25231576
Test: unit tests.
Test: Manual testing.

Change-Id: I1c63486c177f0c2d4bd361eb9e351a7ca25b80d9
ndroid.mk
ollectors/cpu_usage_collector.cc
ollectors/cpu_usage_collector.h
ollectors/cpu_usage_collector_test.cc
etrics_daemon.cc
etrics_daemon.h
e6b96d6d194b707ab8c5d9f7c54e7bd7c8a87302 30-Oct-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Report the model manifest id.

When the model manifest id is defined in weave, report it.

Bug: 25386505
Test: the model manifest id is uploaded when defined.
Test: If weaved.conf is not defined, metricsd uploads the default value.

Change-Id: Ic895671621fda9ce5cdeacdbdba58aa73a6887fc
onstants.h
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/upload_service.h
faa566d29f3495e549ee62d7801ecaaccdbbb4c5 29-Oct-2015 Dan Willemsen <dwillemsen@google.com> Use GetBuildTime from libchrome instead of __DATE__

So that this daemon doesn't change on every build, use the system build
date from libchrome (which reads ro.build.date). That way we don't have
to update this daemon for every OTA.

Bug: 24204119
Change-Id: I136d53e5e4ebb9430a57dace66198d8d704d7ca3
ploader/metrics_log_base.cc
26aef373a66791e69dec8a1a589a3b2f7f971692 27-Oct-2015 Alex Vakulenko <avakulenko@google.com> core: Rename libchromeos into libbrillo

BUG: 24872993
Change-Id: Ia47ad51140f7e384822eea9d5de46c9f51ceda11
ndroid.mk
ibmetrics.gypi
etrics.gyp
ploader/sender_http.h
51bdc5bf1aafee75e8021635db253cf393850e32 15-Oct-2015 Steve Fung <stevefung@google.com> Merge "Update crash_reporter and metrics rc files to trigger on post-fs-data"
0d6cdfb7f08058312b3d7dc5686a42afdfb1ffba 15-Oct-2015 Steve Fung <stevefung@google.com> Update crash_reporter and metrics rc files to trigger on post-fs-data

The /data directory isn't guaranteed to be mounted during the
"on boot" trigger, so switch them to using "on post-fs-data".

Bug: 24941965
Change-Id: Iee84ca0e934967cff7bc4d968d9939d398c73980
etrics_daemon.rc
eb697abf5eca1639aba7111e9a737987a1e3124c 14-Oct-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Read build time values from etc/os-release.d.

This stops relying on system properties to provide build time
configuration.
Product version and id will be stored in /etc/os-release.d.
Channel will be pulled from update engine.

BUG: 24947119
Change-Id: I0972d03cd83ef622846de3cce3dec1992fcc46cd
ndroid.mk
onstants.h
etrics_daemon.cc
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/upload_service_test.cc
74dc62460b8cdd5bfeac47bfe8e759fc04b55ef8 13-Oct-2015 Alex Vakulenko <avakulenko@google.com> system/core: Rename "chromeos" -> "brillo" in include paths and namespaces

libchromeos is transitioning to libbrillo and chromeos namespaces
and include directory is changing to brillo.

Bug: 24872993
Change-Id: I797613a38c7444a113f12e38366a424388477276
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
ploader/sender_http.cc
82b02de5aaf7e63d78e691ca6d240ebf2e5de99b 10-Oct-2015 Alex Vakulenko <avakulenko@google.com> Update metrics to use weaved's client library

Do not use weave'd D-Bus proxies directly. Use the new client library.

Change-Id: I524d9c5c4c057bd1f82a280ec96848b8a8f4fe29
ndroid.mk
etrics_daemon.cc
etrics_daemon.h
35f89638257b66497d53c20ea6c5717aac875884 09-Oct-2015 Alex Vakulenko <avakulenko@google.com> metricsd: Update weave command APIs

Weave has changed some of D-Bus APIs and metrics needs to be updated
accrdingly. Command::Done is replaced with Complete(), Command::Abort
now takes error code and error messages, Command::category is removed
and Command::status is renamed to Command::state

Change-Id: Ifbfd6d852f4a328168e28484d1152a24b8c8b42b
etrics_daemon.cc
7dc78271073cad087e833f272824574b7440157c 07-Oct-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Rename build_target_id to product_id.

We use product_id instead of build_target_id, the protobuffer should
rename that field too to be consistent.
The same change was made on the backend.

BUG: 24712895
Change-Id: Id9492e3debab986c9df7d4ec0caef8730eb14240
ploader/proto/system_profile.proto
ploader/system_profile_cache.cc
59890e2db9d7665615243af6048e0337934d303d 03-Oct-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Expose the metrics status through weave.

metrics_daemon will export _metrics._AnalyticsReportingState containing
"enabled"/"disabled" depending on the current state and two weave
commands (_metrics._{enable,disable}AnalyticsReporting) to update it.

BUG: 24386281
TEST: manual. Enabled and disabled metrics reporting.
`metrics_client -c` reports the correct answer.

Change-Id: Ic4a5ffc1e9f9cbc0b47ee34d3af83584d95da155
ndroid.mk
tc/weaved/commands/metrics.json
tc/weaved/states/metrics.schema.json
etrics_daemon.cc
etrics_daemon.h
a5b40d077fec4d9e379cc3ef20a2b5a9d36b71c3 03-Oct-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Don't cache the metrics status in the daemon.

metrics_daemon should never get a stale answer on whether or not the
metrics are enabled.
This is important as metrics_daemon will be the "source of truth" for
other components.

BUG: 24386281
TEST: unit tests.

Change-Id: I573568abe5d1b840683cede2fdf32cdae028a81a
nclude/metrics/metrics_library.h
etrics_daemon_main.cc
etrics_library.cc
etrics_library_test.cc
66255db05d590bcd011fd3f8b687161f737b3aa8 02-Oct-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Only collect metrics over a short period."
7a9640559b59cb4088b10f4a15e6ca80158abfe7 29-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Only collect metrics over a short period.

Instead of reporting the metrics over both a long and a short period,
collect and report only over a short period. This makes the code simpler
and the metrics easier to understand.

Also move the collection out of metrics_daemon and into a separate
collector to make it simpler to understand.

BUG: 24464945

Change-Id: I17e52536aaa75321a5e34f42ed488545c2c3efde
ndroid.mk
ollectors/averaged_statistics_collector.cc
ollectors/averaged_statistics_collector.h
ollectors/averaged_statistics_collector_test.cc
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_test.cc
fcbd11f42ea4d3532aed7143a2959182b33afeb2 01-Oct-2015 Jorge Lucangeli Obes <jorgelo@google.com> Remove 'seclabel' option.

The executable is already labelled in the filesystem.

Bug: 24571067
Change-Id: I2bef76628b08bec299fea4da8a58fe0eb53b1e59
etrics_daemon.rc
659f5ade04a5a07347dfbec9db4ef97636f1ebfe 29-Sep-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Fix race condition in the tests."
7c5d693fe94f421e54ca58720e61f1db341dbb16 28-Sep-2015 Scott James Remnant <keybuk@google.com> metricsd: build on non-Linux hosts

Bug: 24073089
Change-Id: I94f12f0e30d150348429a959b7bd1c869f766603
ndroid.mk
3598d951a6c7fade22b50c0af8b51e28c62fc1ea 28-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Fix race condition in the tests.

We cached the enabled status for metrics as a static field in the
metrics library. This field is not reset in between tests which treats
the metrics as enabled if they were enabled previously.

None of the users rely on the caching being static so the cached status
was changed into a field.
Also enabled the metrics in upload_service_test.cc after verifying that
the test failed consistently.

BUG: 24473349
TEST: unit tests.

Change-Id: If05fdca644016d923aa7b1978db5e74ada563c1a
nclude/metrics/metrics_library.h
etrics_library.cc
ploader/upload_service_test.cc
9341286385980c4497d723e5b8fc81b037bfa26e 28-Sep-2015 Jorge Lucangeli Obes <jorgelo@google.com> Simplify Makefile for metrics_daemon.

We can use the LOCAL_INIT_RC variable for init.rc files.

Also, switch to use <service>.rc for the filename, since this is what
Android does now.

Bug: 24465893
Change-Id: Ibf4715c3b0352422b98afc04abfd68a42a46149c
ndroid.mk
nit.metrics_daemon.rc
etrics_daemon.rc
5066a45a425eb384d9d553b673f406c2b285ac38 26-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Update the daily/weekly metrics name.

Instead of using daily, weekly, the daily/weekly metrics should use
.PerDay and .PerWeek to be consistent with other metrics' names.

BUG: 24412660
Change-Id: I05541c8de269a717a8d3f2d74b7633c3949df3f1
etrics_daemon.cc
3a8a8bce3fa0bad4324f87777328d09ca6d4f426 25-Sep-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Use product id instead of build target id."
843725bb3a8984a021b86435a09c78d3565ab5ba 25-Sep-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Report the data partition usage."
7beaf8924fe818b8be0824456fcc64a328cb2ee0 24-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Use product id instead of build target id.

We decided to change the name of this identifier to "product id", the
system property where it is stored will also be named
ro.product.product_id.

BUG: 24302729

Change-Id: I0d2f0867b364de98367f0072d216acec76401c33
onstants.h
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/upload_service_test.cc
5658dc58aa0f3fc778a0db140ef1cdde6f1839b9 18-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Report the data partition usage.

metricsd should report the stateful partition's usage, both in MB and as
a percentage of the available space.
This measure will be reported every 15 minutes.

BUG: 24132871

Change-Id: I1cd8d651a980f90a57be9cc2a5baf6ed59794470
ndroid.mk
ollectors/disk_usage_collector.cc
ollectors/disk_usage_collector.h
etrics_daemon.cc
etrics_daemon.h
28a78b7210b092a3c51cd35f9ec2addf3bacf0cf 23-Sep-2015 Samuel Tan <samueltan@google.com> metricsd: move timer_mock.h and metrics_library_mock.h into include/metrics/

Move metrics_library_mock.h and timer_mock.h into the include/metrics/
folder since some source files in shill need to include these header files.

Adjust the include paths in metricsd source files accordingly, and add
the -frtti flag to the libmetrics target so that classes including
these mock headers can determine the type information of the underlying
class being mocked at run-time.

BUG: 22956441
Change-Id: I19820c0d3097c9c4c2b93730d1988ccec563db23
TEST: "mma" in metricsd folder succeeds.
ndroid.mk
nclude/metrics/metrics_library_mock.h
nclude/metrics/timer_mock.h
etrics_daemon_test.cc
etrics_library_mock.h
imer_mock.h
imer_test.cc
ploader/upload_service_test.cc
2bd33b3c2a498650c773db2f6ebaffabc0783cd8 23-Sep-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Cleanup metrics names."
008fb7e48dd79198a4cf41416c84817c683b29f0 22-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Cleanup metrics names.

Rename some metrics for more consistency:
* *.PerMinute and *.PerSecond instead of the obscur Long and Short
suffix.
* *.Percent for metrics reporting a percentage.

BUG: 24206661
Change-Id: Ib25f864e5e8bf5287ada2a361737def1b7821135
etrics_daemon.cc
dc034771cded31d98653e2abd9237f6b8ebf52d7 21-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Fix unit tests.

When logging, libchrome will extract the program's name from the command
line. If the command line helpers have not been initialized, the logging
call will fail and the program will abort.

BUG: 24262190
TEST: unit tests.

Change-Id: Ie7982d5491f8373dc06ba44b69b518ff8673b568
etrics_daemon_test.cc
2d03783ccc88fef71268658d774318f8cca362e4 17-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Fix CumulativeUseTime metrics.

This fixes three things:
* name of the metrics: the metrics does not represent the daily use.
* arithmetic error: we collect the use time in seconds so no need to
divide by 1000 to get seconds.
* the metrics should not be reset daily.

This CL also renames the Send* helper methods to be more explicit about
resetting the counters.

This was also committed in Chrome OS at:
https://chromium-review.googlesource.com/#/c/300059/.

BUG:24131693
TEST: unit tests.

Change-Id: I712baa1fd639b9b0df60906d94a0904d8c6760aa
etrics_daemon.cc
etrics_daemon.h
630e05b6af5f76bd7f063840e543186bde40ff0a 16-Sep-2015 Samuel Tan <samueltan@google.com> Merge "metricsd: move timer.h into include/metrics/"
1c4d8f10daf692dd7eea64e4de5f909a3f99de08 15-Sep-2015 Samuel Tan <samueltan@google.com> metricsd: move timer.h into include/metrics/

Move timer.h into the include/metrics/ folder since some
source files in shill need to include this header file.
Adjust the timer.h include paths in the metricsd accordingly.

BUG: None
Change-Id: Id2f5e079d3a095f40d0f4d4e0d438bd22f1274ff
TEST: "mma" in metricsd folder succeeds.
ndroid.mk
nclude/metrics/timer.h
imer.cc
imer.h
imer_mock.h
imer_test.cc
4c8a8ad3bf6d4906b29b2d11afd400f107ceec9a 09-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Add test case for the upload service.

This test case ensures that we can log a metric with the metrics library
and upload it with the upload service.

BUG: 22879646
TEST: unit tests.

Change-Id: Idf4a1240d41745ebf7835089230608082eed19f5
nclude/metrics/metrics_library.h
ploader/upload_service.h
ploader/upload_service_test.cc
1df10c43eab5b8c483fbf882a0c8a6e5e59c73c0 09-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Persist the report to disk if an upload fails.

If the metrics server is unreachable, we may need to resend a metrics
report later. Instead of keeping the staged report in memory, save it to
disk to avoid loosing data if the system restarts or crashes.

BUG: 23033262
TEST: unit tests.

Change-Id: Idd14964e40f022952469f47d675d8cda9586d7cd
onstants.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
2765d0abccd0c754422332d114cdecc271888e2d 09-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Use the metrics directory everywhere.

Instead of passing different filenames around, only rely on the metrics
directory and infer the filepath from it. This makes testing easier.

BUG: 23939404
TEST: unit tests.

Change-Id: I79086acc3a546464114fa8ec4656ec04e1c43e35
onstants.h
nclude/metrics/metrics_library.h
etrics_client.cc
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
etrics_library.cc
etrics_library_test.cc
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
eeedcc4150d9e48fabfd3f142c8e4f05d09f82b0 14-Sep-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Collect generic stats about the system."
5f6460081c47a6ee435b88e74a0621c491c099e9 09-Sep-2015 James Hawkins <jhawkins@google.com> metrics: Add an option to metrics_client to dump the logs cache.

The format of the metrics dump is rudimentary just yet. Here is an example:

Metrics from /data/misc/metrics/uma-events

name: hello type: USER_ACTION
name: world type: USER_ACTION

This required the following changes:
* Added -d option to metrics_client
* Refactored file handling in SerializationUtils
- Factored out file opening and log parsing into helper methods
- Added ReadMetricsFromFile which is read-only so does not truncate the file

Change-Id: I6032d74242c79c678ec42a14e78fccc54e7af455
etrics_client.cc
erialization/serialization_utils.cc
erialization/serialization_utils.h
ebbe35c2b589372c3938133dd04e93eba30a4922 08-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Collect generic stats about the system.

Collect memory usage and disk IO statistics periodically.
Also update the Android.mk file to use clang by default.

BUG: 22953719
TEST: builds on external and internal branches.

Change-Id: I1ee3683d014586cf7f711d2e090a99429752063c
ndroid.mk
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
d83a26033cca1d5cd979aecc25682fd01f8732e3 08-Sep-2015 Dan Albert <danalbert@google.com> Drop unused LOCAL_STATIC_LIBRARIES.

This is ignored for BUILD_STATIC_LIBRARY.

Change-Id: Ib5553e0aeaa30cdb2b29f18a4d5d0b0bf1b8740a
ndroid.mk
cb6cd44d5670ae988349c4a0dc917ff4ca321c11 03-Sep-2015 Bill Yi <byi@google.com> Merge "Revert "metricsd: Collect generic stats about the system.""
6d5822ed7bf2acf978ab93a86aba6c99aba6895a 03-Sep-2015 Bill Yi <byi@google.com> Revert "metricsd: Collect generic stats about the system."

This reverts commit 90b02cd46d8b9b4c80f99022a685e3a1ae2504a4.

Change-Id: I9950c688433e99b0bc4745f02e2f9ae66f3b5578
ndroid.mk
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
9cd816b33d97f1a6427d6e265bbc58eb712178d0 03-Sep-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Log the histogram name to hash mapping."
c18624799b0dd832c0dd1f70455dd5912605291b 03-Sep-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Collect generic stats about the system."
73f4355433877db84ed66c0e903fe66f8d1bf920 03-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Remove unused constant.

Change-Id: Id151c4a7a091ee9cb07fa7c6188d162cf342d70e
etrics_daemon.cc
8835c5b56e50814f946d3147d10d0e941d82e95d 03-Sep-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Log the histogram name to hash mapping.

When running the metrics_daemon in verbose mode, log the histogram name
along with the hash name.
This is useful when debugging as the protobuf message only contains the
hash of the name.

Change-Id: Ifea7edce55d62d30994ec7b75bb8728f6a0c40e8
ploader/metrics_log_base.cc
90b02cd46d8b9b4c80f99022a685e3a1ae2504a4 25-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Collect generic stats about the system.

Collect memory usage and disk IO statistics periodically.

BUG: 22953719

Change-Id: I2e35d4800ddc684284969e6a58a6f50497086b69
ndroid.mk
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
675a10c3d9f74c699ef99e120bcd8cb66b4d6585 25-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Fix style issues.

This CL:
* removes dead code.
* converts constants static fields into proper constants.
* converts to C++/libchrome some of the parsing logic.

BUG: 22953719

Change-Id: Ief01178c6c268f8ae3690ad9deef42cfb43b2b75
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
1253186728abd35d7177008598627e7b872974e5 31-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Make the unit tests pass.

This cleans up the unit tests and update them to pass.

Cleaned up:
* removed the irrelevant bits.
* Used ScopedTempDir for all test specific files (instead of the current
directory).
* Update some objects to make them more easily testable.
* Group all the test in a single binary and use bionic's test runner.

BUG: 23682444
Change-Id: I289e3a5ff89968fdecd4a156e93bc38bbc25f58b
ndroid.mk
nclude/metrics/metrics_library.h
etrics_daemon.cc
etrics_daemon_test.cc
etrics_library.cc
etrics_library_test.cc
ersistent_integer.cc
ersistent_integer.h
ersistent_integer_test.cc
ploader/mock/mock_system_profile_setter.h
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/upload_service_test.cc
2699362a57b2115ed78b2efcb1ab655ed8a8e0c0 20-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Use system properties to store build time metadata.

Instead of using /etc/lsb-release to store the version, channel and
build_target_id, use the Android system properties.

BUG: 22879642

Change-Id: Ic79e74bd14bf8e2c55549c08963a66700b49b544
ndroid.mk
onstants.h
etrics_daemon.cc
ploader/system_profile_cache.cc
cba296cacb281b27a714e9b5bae2387fdfc397e5 21-Aug-2015 Steve Fung <stevefung@google.com> Merge "metricsd: Give directory group permissions"
3f62060b8d9286c52993c3e3955fbaaa3eaac7ad 21-Aug-2015 Steve Fung <stevefung@google.com> metricsd: Give directory group permissions

Since crash_reporter gets run as root, in order to use metrics_lib
it has to use group permissions to interact with metrics files.

Bug: 23406290
Change-Id: Ie9556233105312f973c0a3e018fc0305a466148d
nit.metrics_daemon.rc
300b1a6b47bde407b5117cab55fa9d777825d97d 20-Aug-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Don't crash when some metadata is missing."
1f14655b27c3e33ee1e93cd52b2ad9ab79018630 20-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Don't crash when some metadata is missing.

Instead of crashing when the build target id is missing, simply print a
useful warning and discard the log.

BUG: 23351227

Change-Id: I3abf3063d6440b07103db29938eec5071ea8f60b
ploader/metrics_log.cc
ploader/metrics_log.h
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/system_profile_setter.h
ploader/upload_service.cc
10fe60d36cc30268a1daddda7632cdc095763e03 20-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Enable https by default.

libchromeos was updated to set the certificates path correctly, we can
enable https by default.

BUG: 23016355
Change-Id: I88393df4a6892055f4865d86de78ba3a2a5b45e8
onstants.h
69200d9191be9f95762a10f6d6d3d5df28922d2e 20-Aug-2015 Daniel Erat <derat@google.com> Use __ANDROID__ instead of __BRILLO__.

__ANDROID__ is defined automatically by the toolchain.

Bug: 23358460
Change-Id: Ib122bfc86a7af6ab6b0b1fcc29dc671e44049524
ndroid.mk
73eaa46559c8114912d532280ce5de3167d29126 17-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metrics: Add init script for metrics_daemon.

This init script creates the metrics data directory (/data/misc/metrics)
and starts the daemon.

BUG: 22953527

Change-Id: I21cd36f38a7a3550bc755cef5699e9a6ac3dfb94
ndroid.mk
nit.metrics_daemon.rc
eeab5cd585ccaef9d1d0e766bf7c36c661421b9a 12-Aug-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Remove unused Chrome OS specific files."
497e38db9d79e786ffc3916d135c85fc284aeca1 12-Aug-2015 Bertrand Simonnet <bsimonnet@google.com> Merge "metricsd: Relicense as Apache 2."
0a94a3bf1cd2accfa9ff60e6b29150eea0a7c835 11-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Only define the targets on linux.

libchromeos (dependency of metricsd) is only defined for linux.
All metrics target must only be defined on mac too or the build system
will complain.

BUG: 22879597
Change-Id: I5bee816e001518a8053d1dfc7b39cca81a4314fd
ndroid.mk
8715c9396a51232b7f7c801a32443b293d13badd 11-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Remove unused Chrome OS specific files.

Change-Id: Iff19b6c83731c4eedebe20d307c079afb1e21491
nit/metrics_daemon.conf
nit/metrics_library.conf
ake_tests.sh
latform2_preinstall.sh
yslog_parser.sh
52e5b99983c1f7ff0b9a1f3b4b80d779073b21c8 11-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Relicense as Apache 2.

MODULE_LICENSE_BSD and NOTICE were removed as the license is no longer
different from the rest of system/core.

BUG: 23086670
Change-Id: I1e83ef2ecb9c721150f8aab283c9ff960337da8c
ODULE_LICENSE_BSD
OTICE
EADME
_metrics_library.cc
nclude/metrics/c_metrics_library.h
nclude/metrics/metrics_library.h
etrics_client.cc
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
etrics_library.cc
etrics_library_mock.h
etrics_library_test.cc
ersistent_integer.cc
ersistent_integer.h
ersistent_integer_mock.h
ersistent_integer_test.cc
erialization/metric_sample.cc
erialization/metric_sample.h
erialization/serialization_utils.cc
erialization/serialization_utils.h
erialization/serialization_utils_unittest.cc
imer.cc
imer.h
imer_mock.h
imer_test.cc
ploader/metrics_hashes.cc
ploader/metrics_hashes.h
ploader/metrics_hashes_unittest.cc
ploader/metrics_log.cc
ploader/metrics_log.h
ploader/metrics_log_base.cc
ploader/metrics_log_base.h
ploader/metrics_log_base_unittest.cc
ploader/mock/mock_system_profile_setter.h
ploader/mock/sender_mock.cc
ploader/mock/sender_mock.h
ploader/proto/README
ploader/proto/chrome_user_metrics_extension.proto
ploader/proto/histogram_event.proto
ploader/proto/system_profile.proto
ploader/proto/user_action_event.proto
ploader/sender.h
ploader/sender_http.cc
ploader/sender_http.h
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/system_profile_setter.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc
ed6ca6f8c69745a17499e38e8d6a6554802e100a 29-Jul-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Add Android.mk.

This builds:
* metrics_client: command line interface to log metrics.
* libmetrics: shared library used by services to log metrics.
* metrics_daemon: background daemon responsible for aggregating the
metrics log and upload it periodically.

BUG: 22879597

Change-Id: I79adc4953d5bfd541df955fbc77d3549f5bbd26b
ndroid.mk
da21ac0751a3abf3502ff74c5de7ad95db52ba30 10-Aug-2015 Bertrand SIMONNET <bsimonnet@google.com> metricsd: Rename metrics to metricsd.

This makes the import path less confusing:
* metrics/metrics_library.h is imported from the exported headers.
* metricsd/* for includes by the metrics daemon itself.

BUG: 22879597
Change-Id: I9f44ea3a548cae39d4546fcd724e8007f6dd4bd0
ODULE_LICENSE_BSD
OTICE
WNERS
EADME
ATCHLISTS
_metrics_library.cc
onstants.h
nclude/metrics/c_metrics_library.h
nclude/metrics/metrics_library.h
nit/metrics_daemon.conf
nit/metrics_library.conf
ibmetrics-334380.gyp
ibmetrics.gypi
ibmetrics.pc.in
ake_tests.sh
etrics.gyp
etrics_client.cc
etrics_daemon.cc
etrics_daemon.h
etrics_daemon_main.cc
etrics_daemon_test.cc
etrics_library.cc
etrics_library_mock.h
etrics_library_test.cc
ersistent_integer.cc
ersistent_integer.h
ersistent_integer_mock.h
ersistent_integer_test.cc
latform2_preinstall.sh
erialization/metric_sample.cc
erialization/metric_sample.h
erialization/serialization_utils.cc
erialization/serialization_utils.h
erialization/serialization_utils_unittest.cc
yslog_parser.sh
imer.cc
imer.h
imer_mock.h
imer_test.cc
ploader/metrics_hashes.cc
ploader/metrics_hashes.h
ploader/metrics_hashes_unittest.cc
ploader/metrics_log.cc
ploader/metrics_log.h
ploader/metrics_log_base.cc
ploader/metrics_log_base.h
ploader/metrics_log_base_unittest.cc
ploader/mock/mock_system_profile_setter.h
ploader/mock/sender_mock.cc
ploader/mock/sender_mock.h
ploader/proto/README
ploader/proto/chrome_user_metrics_extension.proto
ploader/proto/histogram_event.proto
ploader/proto/system_profile.proto
ploader/proto/user_action_event.proto
ploader/sender.h
ploader/sender_http.cc
ploader/sender_http.h
ploader/system_profile_cache.cc
ploader/system_profile_cache.h
ploader/system_profile_setter.h
ploader/upload_service.cc
ploader/upload_service.h
ploader/upload_service_test.cc