realtime polling
diff --git a/xos-apps/auto-scale/gui/src/js/autoscaling.service.js b/xos-apps/auto-scale/gui/src/js/autoscaling.service.js
index 15b9118..5af613d 100644
--- a/xos-apps/auto-scale/gui/src/js/autoscaling.service.js
+++ b/xos-apps/auto-scale/gui/src/js/autoscaling.service.js
@@ -32,12 +32,15 @@
   };
 
   this.getAutoscalingData = () => {
-    // pollinginterval = $interval(() => {
-      // $http.get('/autoscaledata')
-      $http.get('../mocks/mock.json')
+    $http.get('/autoscaledata')
+    .success((res) => {
+      $rootScope.$emit('autoscaling.update', this.formatData(res));
+    });
+    pollinginterval = $interval(() => {
+      $http.get('/autoscaledata')
       .success((res) => {
         $rootScope.$emit('autoscaling.update', this.formatData(res));
       });
-    // }, pollingFrequency * 1000)
+    }, pollingFrequency * 1000)
   };
 });
\ No newline at end of file
diff --git a/xos-apps/auto-scale/gui/src/js/autoscaling_details.directive.js b/xos-apps/auto-scale/gui/src/js/autoscaling_details.directive.js
index f35508a..109e743 100644
--- a/xos-apps/auto-scale/gui/src/js/autoscaling_details.directive.js
+++ b/xos-apps/auto-scale/gui/src/js/autoscaling_details.directive.js
@@ -15,7 +15,6 @@
       /**
       * Group resources by service and slice
       */
-     
       this.printData = (data) => {
         this.services = lodash.groupBy(data, 'service');
         lodash.forEach(Object.keys(this.services), (service) => {
@@ -33,8 +32,87 @@
             
           })
         });
-        console.log(this.services);
+        // arbitrary set the first service in the list as the selected one
+        this.selectedService = this.services[Object.keys(this.services)[0]];
       };
     }
   };
+})
+.directive('serviceDetail', function(lodash){
+  return {
+    restrict: 'E',
+    scope: {
+      service: '=service'
+    },
+    bindToController: true,
+    controllerAs: 'vm',
+    templateUrl: 'templates/service-detail.tpl.html',
+    controller: function($scope) {
+
+    }
+  };
+})
+.directive('sliceDetail', function(lodash){
+  return {
+    restrict: 'E',
+    scope: {
+      instances: '=instances'
+    },
+    bindToController: true,
+    controllerAs: 'vm',
+    templateUrl: 'templates/slice-detail.tpl.html',
+    controller: function($scope) {
+
+      this.chart = {};
+
+      /**
+      * Goes trough the array and format date to be used as labels
+      *
+      * @param Array data
+      * @returns Array a list of labels
+      */
+
+      this.getLabels = (data) => {
+        return data.reduce((list, item) => {
+          let date = new Date(item.timestamp);
+          list.push(`${date.getHours()}:${(date.getMinutes()<10?'0':'') + date.getMinutes()}:${date.getSeconds()}`);
+          return list;
+        }, []);
+      };
+
+      /**
+      * Convert an object of array,
+      * in an array of arrays of values
+      */
+      this.getData = (data, instanceNames) => {
+        return lodash.map(instanceNames, (item) => {
+          return lodash.reduce(data[item], (list, sample) => {
+            // console.log(data[item], sample);
+            list.push(sample.counter_volume);
+            return list;
+          }, []);
+        });
+      };
+
+      this.drawChart = (data) => {
+
+        const instanceNames = Object.keys(data);
+
+        this.chart.labels = this.getLabels(data[instanceNames[0]]);
+        this.chart.series = instanceNames;
+        this.chart.data = this.getData(data, instanceNames);
+
+        console.log(this.getData(data, instanceNames));
+      }
+
+      $scope.$watch(() => this.instances, (val) => {this.drawChart(val)})
+
+    }
+  };
 });
+
+//  TODO
+//  [x] repeat service name in a menu
+//  [x] create a directive that receive a service
+//  [ ] print a chart for every slice
+//  [ ] print a line in the chart for every instance
\ No newline at end of file
diff --git a/xos-apps/auto-scale/gui/src/templates/service-container.tpl.html b/xos-apps/auto-scale/gui/src/templates/service-container.tpl.html
index 63b1a8a..e5b964c 100644
--- a/xos-apps/auto-scale/gui/src/templates/service-container.tpl.html
+++ b/xos-apps/auto-scale/gui/src/templates/service-container.tpl.html
@@ -5,7 +5,14 @@
 </div>
 
 <div class="row">
-  <div class="col-xs-12">
-    <pre>{{vm.services | json}}</pre>
+  <div class="col-sm-3">
+    <ul class="list-group">
+      <li class="list-group-item" ng-repeat="(service, slices) in vm.services">
+        <a href="">{{service}}</a>
+      </li>
+    </ul>
+  </div>
+  <div class="col-sm-9">
+    <service-detail service="vm.selectedService"></service-detail>
   </div>
 </div>
\ No newline at end of file
diff --git a/xos-apps/auto-scale/gui/src/templates/service-detail.tpl.html b/xos-apps/auto-scale/gui/src/templates/service-detail.tpl.html
new file mode 100644
index 0000000..6bd5406
--- /dev/null
+++ b/xos-apps/auto-scale/gui/src/templates/service-detail.tpl.html
@@ -0,0 +1,9 @@
+<!-- <pre>{{vm.service | json}}</pre> -->
+<div class="panel panel-default" ng-repeat="(slice, instances) in vm.service">
+  <div class="panel-heading">
+    <h3 class="panel-title">{{slice}}</h3>
+  </div>
+  <div class="panel-body">
+    <slice-detail instances="instances"></slice-detail>
+  </div>
+</div>
\ No newline at end of file
diff --git a/xos-apps/auto-scale/gui/src/templates/slice-detail.tpl.html b/xos-apps/auto-scale/gui/src/templates/slice-detail.tpl.html
new file mode 100644
index 0000000..d950afe
--- /dev/null
+++ b/xos-apps/auto-scale/gui/src/templates/slice-detail.tpl.html
@@ -0,0 +1,3 @@
+<canvas id="line" class="chart chart-line" chart-data="vm.chart.data"
+  chart-labels="vm.chart.labels" chart-legend="true" chart-series="vm.chart.series">
+</canvas>
\ No newline at end of file