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
diff --git a/metrics/syslog_parser.sh b/metrics/syslog_parser.sh
new file mode 100755
index 0000000..7f3003f
--- /dev/null
+++ b/metrics/syslog_parser.sh
@@ -0,0 +1,69 @@
+#! /bin/sh
+
+# This script parses /var/log/syslog for messages from programs that log
+# uptime and disk stats (number of sectors read).  It then outputs
+# these stats in a format usable by the metrics collector, which forwards
+# them to autotest and UMA.
+
+# To add a new metric add a line below, as PROGRAM_NAME  METRIC_NAME.
+# PROGRAM_NAME is the name of the job whose start time we
+# are interested in.  METRIC_NAME is the prefix we want to use for
+# reporting to UMA and autotest.  The script prepends "Time" and
+# "Sectors" to METRIC_NAME for the two available measurements, uptime
+# and number of sectors read thus far.
+
+# You will need to emit messages similar to the following in order to add a 
+# a metric using this process.  You will need to emit both a start and stop
+# time and the metric reported will be the difference in values
+
+# Nov 15 08:05 localhost PROGRAM_NAME[822]: start METRIC_NAME time 12 sectors 56
+# Nov 15 08:05 localhost PROGRAM_NAME[822]: stop METRIC_NAME time 24 sectors 68
+
+# If you add metrics without a start, it is assumed you are requesting the
+# time differece from system start
+
+# Metrics we are interested in measuring
+METRICS="
+upstart start_x
+"
+
+first=1
+program=""
+
+# Get the metrics for all things
+for m in $METRICS
+do
+  if [ $first -eq 1 ]
+  then
+    first=0
+    program_name=$m 
+  else
+    first=1
+    metrics_name=$m       
+         
+    # Example of line from /var/log/messages:
+    # Nov 15 08:05:42 localhost connmand[822]: start metric time 12 sectors 56
+    # "upstart:" is $5, 1234 is $9, etc.
+    program="${program}/$program_name([[0-9]+]:|:) start $metrics_name/\
+    {
+      metrics_start[\"${metrics_name}Time\"] = \$9;
+      metrics_start[\"${metrics_name}Sectors\"] = \$11;            
+    }"
+    program="${program}/$program_name([[0-9]+]:|:) stop $metrics_name/\
+    { 
+        metrics_stop[\"${metrics_name}Time\"] = \$9;
+        metrics_stop[\"${metrics_name}Sectors\"] = \$11;
+    }"
+  fi      
+done
+
+# Do all the differencing here
+program="${program}\
+END{
+  for (i in metrics_stop) {
+    value_time = metrics_stop[i] - metrics_start[i];
+    print i \"=\" value_time;
+  }
+}"
+
+exec awk "$program" /var/log/syslog
\ No newline at end of file