Builded diagnostic
diff --git a/views/ngXosViews/diagnostic/src/js/chart_data_service.js b/views/ngXosViews/diagnostic/src/js/chart_data_service.js
index 444f046..1fd093a 100644
--- a/views/ngXosViews/diagnostic/src/js/chart_data_service.js
+++ b/views/ngXosViews/diagnostic/src/js/chart_data_service.js
@@ -2,7 +2,7 @@
   'use strict';
 
   angular.module('xos.serviceTopology')
-  .service('ChartData', function($rootScope, $q, lodash, Tenant, Node, serviceTopologyConfig, Ceilometer) {
+  .service('ChartData', function($rootScope, $q, lodash, Tenant, Node, serviceTopologyConfig, Ceilometer, Instances) {
     this.currentSubscriber = null;
     this.currentServiceChain = null;
 
@@ -82,7 +82,8 @@
     };
 
     this.getSubscriberIP = () => {
-      const ip = this.currentServiceChain.children[0].children[0].tenant.wan_container_ip;
+      const ip = JSON.parse(this.currentServiceChain.children[0].children[0].tenant.service_specific_attribute).wan_container_ip;
+      // const ip = this.currentServiceChain.children[0].children[0].tenant.wan_container_ip;
       this.logicTopologyData.children[0].subscriberIP = ip;
     };
 
@@ -145,26 +146,35 @@
           attr = null;
         }
         
-        // if no instances are associated to the container
+        // if no instances are associated to the subscriber
         if(!attr || !attr.instance_id){
           let d = $q.defer();
           d.resolve([]);
           p = d.promise;
         }
+        // if ther is an instance
         else{
-          let instances = [attr.instance_id];
-          p = Ceilometer.getInstancesStats(instances)
-          .then((instances) => {
-            instances.map(i => {
-              i.container = {
-                name: `vcpe-${this.currentSubscriber.tags.sTag}-${this.currentSubscriber.tags.cTag}`
-              };
-              return i;
-            });
+          let instance = {};
+          p = Instances.get({id: attr.instance_id}).$promise
+          .then(function(_instance){
+            instance = _instance;
+            return Ceilometer.getInstanceStats(instance.instance_uuid);
+          })
+          .then((stats) => {
+            instance.stats = stats;
+            const containerName = `vcpe-${this.currentSubscriber.tags.sTag}-${this.currentSubscriber.tags.cTag}`;
+            // append containers
+            instance.container = {
+              name: containerName
+            };
 
             // TODO fetch container stats
-
-            return instances;
+            return Ceilometer.getContainerStats(containerName);
+          })
+          .then((containerStats) => {
+            instance.container.stats = containerStats.stats;
+            instance.container.port = containerStats.port;
+            return [instance];
           });
         }
       }