metrics: move sample file from /var/run to /var/lib

Some metrics are generated near shutdown and we expect to collect
them at reboot, but /var/run is a tmpfs and /var/run/uma-events
is lost.

This changes the uma events file location from the perspective
of the metrics daemon.  I am making the same change to Chrome.
I am adding a symlink to allow an older Chrome to read the
samples from the old location.  A newer Chrome will be screwed
but I hope that's OK (i.e. this will work for official builds
and for Chrome OS developers, but may cause malfunction for
Chrome developers)

BUG=chromium:447256
TEST=verified that /var/lib/metrics/uma-events grows and is truncated
CQ-DEPEND=CL:258971

Change-Id: I677cda16486de239dd205247083d4ad7240d992b
Reviewed-on: https://chromium-review.googlesource.com/257084
Reviewed-by: Luigi Semenzato <semenzato@chromium.org>
Tested-by: Luigi Semenzato <semenzato@chromium.org>
Commit-Queue: Luigi Semenzato <semenzato@chromium.org>
This commit is contained in:
Luigi Semenzato 2015-03-06 14:43:58 -08:00 committed by ChromeOS Commit Bot
parent e4fa61e05e
commit 5672f8b2e4
3 changed files with 10 additions and 9 deletions

View File

@ -11,11 +11,6 @@ start on starting system-services
stop on stopping system-services
respawn
pre-start script
# Make directory, but don't die on error. Let someone else complain.
mkdir -p /var/lib/metrics
end script
# metrics will update the next line to add -uploader for embedded builds.
env DAEMON_FLAGS=""

View File

@ -11,9 +11,15 @@ start on starting boot-services
pre-start script
# Create the file used as communication endpoint for metrics.
RUNDIR=/var/run/metrics
EVENTS_FILE=${RUNDIR}/uma-events
mkdir -p ${RUNDIR}
METRICS_DIR=/var/lib/metrics
EVENTS_FILE=${METRICS_DIR}/uma-events
mkdir -p ${METRICS_DIR}
touch ${EVENTS_FILE}
chown chronos.chronos ${EVENT_FILE}
chmod 666 ${EVENTS_FILE}
# TRANSITION ONLY.
# TODO(semenzato) Remove after Chrome change, see issue 447256.
# Let Chrome read the metrics file from the old location.
mkdir -p /var/run/metrics
ln -s ${EVENTS_FILE} /var/run/metrics
end script

View File

@ -63,7 +63,7 @@ int main(int argc, char** argv) {
"https://clients4.google.com/uma/v2",
"Server to upload the metrics to. (needs -uploader)");
DEFINE_string(metrics_file,
"/var/run/metrics/uma-events",
"/var/lib/metrics/uma-events",
"File to use as a proxy for uploading the metrics");
DEFINE_string(config_root,
"/", "Root of the configuration files (testing only)");