#!/usr/bin/bash
dir=$1

# create csv dir
mkdir -p $dir/csv

# get all jvm_pids
pids=$(cat $dir/jmap-stdout.txt | awk -F "," '{print $2}' |sort |uniq)

# build csv struct
csv=$dir/csv/jmap.csv
echo -n "timestamp" > $csv
for pid in $pids; do
  echo -n ",$pid" >> $csv
done
echo "" >> $csv

# fill  data
counter=1
rcomma=""
colomuns=$(echo $pids | awk -F ' ' '{ print NF }')
for pid in $pids; do
  # build data series format.
  lcomma=""
  for x in $counter; do
    rcomma=$rcomma","
    z=$(expr $colomuns - $counter)
    for t in $z; do
      lrcomma=$lcomma","
    done
  done

  for line in `grep $pid $dir/jmap-stdout.txt |awk -F "," '{print $1","$3}'`; do
    timestamp=`echo $line |awk -F "," '{print $1}'` # get time
    let timestamp=$timestamp*1000 # get time in ms.
    heap=`echo $line |awk -F "," '{print $2}'` # get heap
    # dump line
    echo "$timestamp$rcomma$heap$lcomma" >> $csv
  done
  let counter++
done

html_file=$dir/jmap.html
# generate html file
echo '<!DOCTYPE HTML>' > ${html_file}
echo '<html>' >> ${html_file}
echo '  <head>' >> ${html_file}
echo '    <meta charset="utf-8">' >> ${html_file}
echo '    <link href="/static/css/v0.3/jschart.css" rel="stylesheet" type="text/css" media="all">' >> ${html_file}
echo '    <script src="/static/js/v0.3/d3.min.js"></script>' >> ${html_file}
echo '    <script src="/static/js/v0.3/d3-queue.min.js"></script>' >> ${html_file}
echo '    <script src="/static/js/v0.3/saveSvgAsPng.js"></script>' >> ${html_file}
echo '    <script src="/static/js/v0.3/jschart.js"></script>' >> ${html_file}
echo '  </head>' >> ${html_file}
echo '  <body>' >> ${html_file}
echo '    <center><h2>jvm - jmap_heap_usage</h2></center>' >> ${html_file}
echo '    <div id="chart_1">' >> ${html_file}
echo '      <script>' >> ${html_file}
echo '        create_jschart("lineChart", "timeseries", "chart_1", "Heap_Used_In_Mb", null, null, { csvfiles: [ "csv/jmap.csv" ], threshold: 1 });' >> ${html_file}
echo '      </script>' >> ${html_file}
echo '    </div>' >> ${html_file}
echo '  </body>' >> ${html_file}
echo '</html>' >> ${html_file}

exit 0
