Collect statistic information about this boot
[grml-autoconfig.git] / autoconfig.functions
index 7a003ae..61f4266 100755 (executable)
@@ -928,12 +928,12 @@ if checkbootparam 'nocpu'; then
 fi
 
 if [[ $(grep -c processor /proc/cpuinfo) -gt 1 ]] ; then
-   einfo "Detecting CPU:"
+   einfo "Found CPU:"
    CPU=$(awk -F: '/^processor/{printf "        Processor"$2" is"};/^model name/{printf $2};/^vendor_id/{printf vendor};/^cpu MHz/{printf " %dMHz",int($2)};/^cache size/{printf ","$2" Cache"};/^$/{print ""}' /proc/cpuinfo 2>>$DEBUG)
    echo $CPU | sed 's/ \{1,\}/ /g'
    eend 0
 else
-   einfo "Detecting CPU: `awk -F: '/^processor/{printf " Processor"$2" is"};/^model name/{printf $2};/^vendor_id/{printf vendor};/^cpu MHz/{printf " %dMHz",int($2)};/^cache size/{printf ","$2" Cache"};/^$/{print ""}' /proc/cpuinfo 2>>$DEBUG` " ; eend 0
+   einfo "Found CPU: `awk -F: '/^processor/{printf " Processor"$2" is"};/^model name/{printf $2};/^vendor_id/{printf vendor};/^cpu MHz/{printf " %dMHz",int($2)};/^cache size/{printf ","$2" Cache"};/^$/{print ""}' /proc/cpuinfo 2>>$DEBUG` " ; eend 0
 fi
 
 # no cpufreq setup inside VirtualBox
@@ -964,6 +964,7 @@ if [ -x /etc/init.d/loadcpufreq ] ; then
       if [ -n "$MODULE" -a "$MODULE" != none ]; then
          einfo "Loading cpufreq kernel module $MODULE" ; eend 0
       else
+         SKIP_CPU_GOVERNOR=1
          ewarn "Could not find an appropriate kernel module for cpu frequency scaling." ; eend 1
       fi
    fi
@@ -1345,6 +1346,34 @@ config_netscript() {
 }
 # }}}
 
+# {{{ stats
+config_stats() {
+ if ! checkbootparam 'nostats' ; then
+   BASE_URL="http://stats.grml.org/report/"
+   ACTION_NAME=Boot
+
+   HOST_ID=$(cat /proc/sys/kernel/random/boot_id)
+
+   grep -q " lm " /proc/cpuinfo && HAS_64BIT="1" || HAS_64BIT="0"
+   DATE_STRING=$(date +'h=%H&m=%M&s=%S')
+   [ -e /etc/grml_version ] && VERSION=$(cat /etc/grml_version) || \
+     VERSION=$(lsb_release -d | awk -F: '{gsub(/^[ \t]+/, "", $2); print $2}')
+
+   PARAMS="$( echo "$CMDLINE" | sed -e 's/=[^ ]*/=VALUE/g' | tr " " "\n"|sort|tr "\n" " " )"
+
+   echo "$CMDLINE" | grep -q -e "fetch|nfsroot" && BOOT="remote"
+   [ -z "$BOOT" ] && BOOT="local"
+
+   ADDITIONAL_PARAMS=""
+   ( [ -n "$COLUMNS" ] && [ -n "$LINES" ] ) && \
+     ADDITIONAL_PARAMS="$ADDITIONAL_PARAMS&res=$((COLUMNS * 8))x$((LINES * 16))"
+
+   URI='$BASE_URL?action=${ACTION_NAME}\&$DATE_STRING\&unique_id=${HOST_ID}\&support_64bit=$HAS_64BIT\&version=$version\&bootup=$BOOT\&params=$PARAMS$ADDITIONAL_PARAMS'
+
+   get_remote_file "$URI" "/dev/null"  >/dev/null 2>&1 &!
+ fi
+}
+# }}}
 # {{{ fix/workaround for unionfs
 fix_unionfs(){
   if [ -z "$INSTALLED" ]; then