6161import com .cloud .storage .Volume ;
6262import com .cloud .storage .VolumeVO ;
6363import com .cloud .storage .dao .VolumeDao ;
64+ import com .cloud .utils .StringUtils ;
6465import com .cloud .utils .component .Manager ;
6566import com .cloud .utils .component .ManagerBase ;
6667import com .cloud .vm .VirtualMachine .State ;
@@ -141,6 +142,7 @@ private void addHostMetrics(final List<Item> metricsList, final long dcId, final
141142 metricsList .add (new ItemHostIsDedicated (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), isDedicated ));
142143
143144 List <String > hostTags = _hostTagsDao .gethostTags (host .getId ());
145+ String hosttags = StringUtils .join (hostTags , "," );
144146 for (String tag : hostTags ) {
145147 Integer current = total_hosts .get (tag ) != null ? total_hosts .get (tag ) : 0 ;
146148 total_hosts .put (tag , current + 1 );
@@ -170,48 +172,48 @@ private void addHostMetrics(final List<Item> metricsList, final long dcId, final
170172 final String cpuFactor = String .valueOf (CapacityManager .CpuOverprovisioningFactor .valueIn (host .getClusterId ()));
171173 final CapacityVO cpuCapacity = capacityDao .findByHostIdType (host .getId (), Capacity .CAPACITY_TYPE_CPU );
172174 if (cpuCapacity != null ) {
173- metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , USED , cpuCapacity .getUsedCapacity ()));
174- metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , TOTAL , cpuCapacity .getTotalCapacity ()));
175+ metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , USED , cpuCapacity .getUsedCapacity (), hosttags ));
176+ metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , TOTAL , cpuCapacity .getTotalCapacity (), hosttags ));
175177 } else {
176- metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , USED , 0L ));
177- metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , TOTAL , 0L ));
178+ metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , USED , 0L , hosttags ));
179+ metricsList .add (new ItemHostCpu (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), cpuFactor , TOTAL , 0L , hosttags ));
178180 }
179181
180182 final String memoryFactor = String .valueOf (CapacityManager .MemOverprovisioningFactor .valueIn (host .getClusterId ()));
181183 final CapacityVO memCapacity = capacityDao .findByHostIdType (host .getId (), Capacity .CAPACITY_TYPE_MEMORY );
182184 if (memCapacity != null ) {
183- metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , USED , memCapacity .getUsedCapacity (), isDedicated ));
184- metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , TOTAL , memCapacity .getTotalCapacity (), isDedicated ));
185+ metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , USED , memCapacity .getUsedCapacity (), isDedicated , hosttags ));
186+ metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , TOTAL , memCapacity .getTotalCapacity (), isDedicated , hosttags ));
185187 } else {
186- metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , USED , 0L , isDedicated ));
187- metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , TOTAL , 0L , isDedicated ));
188+ metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , USED , 0L , isDedicated , hosttags ));
189+ metricsList .add (new ItemHostMemory (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), memoryFactor , TOTAL , 0L , isDedicated , hosttags ));
188190 }
189191
190192 metricsList .add (new ItemHostVM (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), vmDao .listByHostId (host .getId ()).size ()));
191193
192194 final CapacityVO coreCapacity = capacityDao .findByHostIdType (host .getId (), Capacity .CAPACITY_TYPE_CPU_CORE );
193195 if (coreCapacity != null ) {
194- metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), USED , coreCapacity .getUsedCapacity (), isDedicated ));
195- metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), TOTAL , coreCapacity .getTotalCapacity (), isDedicated ));
196+ metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), USED , coreCapacity .getUsedCapacity (), isDedicated , hosttags ));
197+ metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), TOTAL , coreCapacity .getTotalCapacity (), isDedicated , hosttags ));
196198 } else {
197- metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), USED , 0L , isDedicated ));
198- metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), TOTAL , 0L , isDedicated ));
199+ metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), USED , 0L , isDedicated , hosttags ));
200+ metricsList .add (new ItemVMCore (zoneName , zoneUuid , host .getName (), host .getUuid (), host .getPrivateIpAddress (), TOTAL , 0L , isDedicated , hosttags ));
199201 }
200202 }
201203
202204 final List <CapacityDaoImpl .SummedCapacity > cpuCapacity = capacityDao .findCapacityBy ((int ) Capacity .CAPACITY_TYPE_CPU , dcId , null , null );
203205 if (cpuCapacity != null && cpuCapacity .size () > 0 ) {
204- metricsList .add (new ItemHostCpu (zoneName , zoneUuid , null , null , null , null , ALLOCATED , cpuCapacity .get (0 ).getAllocatedCapacity () != null ? cpuCapacity .get (0 ).getAllocatedCapacity () : 0 ));
206+ metricsList .add (new ItemHostCpu (zoneName , zoneUuid , null , null , null , null , ALLOCATED , cpuCapacity .get (0 ).getAllocatedCapacity () != null ? cpuCapacity .get (0 ).getAllocatedCapacity () : 0 , "" ));
205207 }
206208
207209 final List <CapacityDaoImpl .SummedCapacity > memCapacity = capacityDao .findCapacityBy ((int ) Capacity .CAPACITY_TYPE_MEMORY , dcId , null , null );
208210 if (memCapacity != null && memCapacity .size () > 0 ) {
209- metricsList .add (new ItemHostMemory (zoneName , zoneUuid , null , null , null , null , ALLOCATED , memCapacity .get (0 ).getAllocatedCapacity () != null ? memCapacity .get (0 ).getAllocatedCapacity () : 0 , 0 ));
211+ metricsList .add (new ItemHostMemory (zoneName , zoneUuid , null , null , null , null , ALLOCATED , memCapacity .get (0 ).getAllocatedCapacity () != null ? memCapacity .get (0 ).getAllocatedCapacity () : 0 , 0 , "" ));
210212 }
211213
212214 final List <CapacityDaoImpl .SummedCapacity > coreCapacity = capacityDao .findCapacityBy ((int ) Capacity .CAPACITY_TYPE_CPU_CORE , dcId , null , null );
213215 if (coreCapacity != null && coreCapacity .size () > 0 ) {
214- metricsList .add (new ItemVMCore (zoneName , zoneUuid , null , null , null , ALLOCATED , coreCapacity .get (0 ).getAllocatedCapacity () != null ? coreCapacity .get (0 ).getAllocatedCapacity () : 0 , 0 ));
216+ metricsList .add (new ItemVMCore (zoneName , zoneUuid , null , null , null , ALLOCATED , coreCapacity .get (0 ).getAllocatedCapacity () != null ? coreCapacity .get (0 ).getAllocatedCapacity () : 0 , 0 , "" ));
215217 }
216218
217219 metricsList .add (new ItemHost (zoneName , zoneUuid , ONLINE , up , null ));
@@ -525,8 +527,9 @@ class ItemVMCore extends Item {
525527 String filter ;
526528 long core = 0 ;
527529 int isDedicated ;
530+ String hosttags ;
528531
529- public ItemVMCore (final String zn , final String zu , final String hn , final String hu , final String hip , final String fl , final Long cr , final int dedicated ) {
532+ public ItemVMCore (final String zn , final String zu , final String hn , final String hu , final String hip , final String fl , final Long cr , final int dedicated , final String tags ) {
530533 super ("cloudstack_host_vms_cores_total" );
531534 zoneName = zn ;
532535 zoneUuid = zu ;
@@ -538,14 +541,15 @@ public ItemVMCore(final String zn, final String zu, final String hn, final Strin
538541 core = cr ;
539542 }
540543 isDedicated = dedicated ;
544+ hosttags = tags ;
541545 }
542546
543547 @ Override
544548 public String toMetricsString () {
545549 if (StringUtils .isAllEmpty (hostName , ip )) {
546550 return String .format ("%s{zone=\" %s\" ,filter=\" %s\" } %d" , name , zoneName , filter , core );
547551 }
548- return String .format ("%s{zone=\" %s\" ,hostname=\" %s\" ,ip=\" %s\" ,filter=\" %s\" ,dedicated=\" %d\" } %d" , name , zoneName , hostName , ip , filter , isDedicated , core );
552+ return String .format ("%s{zone=\" %s\" ,hostname=\" %s\" ,ip=\" %s\" ,filter=\" %s\" ,dedicated=\" %d\" ,tags= \" %s \" } %d" , name , zoneName , hostName , ip , filter , isDedicated , hosttags , core );
549553 }
550554 }
551555
@@ -558,8 +562,9 @@ class ItemHostCpu extends Item {
558562 String overProvisioningFactor ;
559563 String filter ;
560564 double mhertz ;
565+ String hosttags ;
561566
562- public ItemHostCpu (final String zn , final String zu , final String hn , final String hu , final String hip , final String of , final String fl , final double mh ) {
567+ public ItemHostCpu (final String zn , final String zu , final String hn , final String hu , final String hip , final String of , final String fl , final double mh , final String tags ) {
563568 super ("cloudstack_host_cpu_usage_mhz_total" );
564569 zoneName = zn ;
565570 zoneUuid = zu ;
@@ -569,14 +574,15 @@ public ItemHostCpu(final String zn, final String zu, final String hn, final Stri
569574 overProvisioningFactor = of ;
570575 filter = fl ;
571576 mhertz = mh ;
577+ hosttags = tags ;
572578 }
573579
574580 @ Override
575581 public String toMetricsString () {
576582 if (StringUtils .isAllEmpty (hostName , ip )) {
577583 return String .format ("%s{zone=\" %s\" ,filter=\" %s\" } %.2f" , name , zoneName , filter , mhertz );
578584 }
579- return String .format ("%s{zone=\" %s\" ,hostname=\" %s\" ,ip=\" %s\" ,overprovisioningfactor=\" %s\" ,filter=\" %s\" } %.2f" , name , zoneName , hostName , ip , overProvisioningFactor , filter , mhertz );
585+ return String .format ("%s{zone=\" %s\" ,hostname=\" %s\" ,ip=\" %s\" ,overprovisioningfactor=\" %s\" ,filter=\" %s\" ,tags= \" %s \" } %.2f" , name , zoneName , hostName , ip , overProvisioningFactor , filter , hosttags , mhertz );
580586 }
581587 }
582588
@@ -590,8 +596,9 @@ class ItemHostMemory extends Item {
590596 String filter ;
591597 double miBytes ;
592598 int isDedicated ;
599+ String hosttags ;
593600
594- public ItemHostMemory (final String zn , final String zu , final String hn , final String hu , final String hip , final String of , final String fl , final double membytes , final int dedicated ) {
601+ public ItemHostMemory (final String zn , final String zu , final String hn , final String hu , final String hip , final String of , final String fl , final double membytes , final int dedicated , final String tags ) {
595602 super ("cloudstack_host_memory_usage_mibs_total" );
596603 zoneName = zn ;
597604 zoneUuid = zu ;
@@ -602,14 +609,15 @@ public ItemHostMemory(final String zn, final String zu, final String hn, final S
602609 filter = fl ;
603610 miBytes = membytes / (1024.0 * 1024.0 );
604611 isDedicated = dedicated ;
612+ hosttags = tags ;
605613 }
606614
607615 @ Override
608616 public String toMetricsString () {
609617 if (StringUtils .isAllEmpty (hostName , ip )) {
610618 return String .format ("%s{zone=\" %s\" ,filter=\" %s\" } %.2f" , name , zoneName , filter , miBytes );
611619 }
612- return String .format ("%s{zone=\" %s\" ,hostname=\" %s\" ,ip=\" %s\" ,overprovisioningfactor=\" %s\" ,filter=\" %s\" ,dedicated=\" %d\" } %.2f" , name , zoneName , hostName , ip , overProvisioningFactor , filter , isDedicated , miBytes );
620+ return String .format ("%s{zone=\" %s\" ,hostname=\" %s\" ,ip=\" %s\" ,overprovisioningfactor=\" %s\" ,filter=\" %s\" ,dedicated=\" %d\" ,tags= \" %s \" } %.2f" , name , zoneName , hostName , ip , overProvisioningFactor , filter , isDedicated , hosttags , miBytes );
613621 }
614622 }
615623
0 commit comments