diff --git a/docs/modules/ROOT/pages/performance/Ignite-CPU-hot-spots-200p.html b/docs/modules/ROOT/pages/performance/Ignite-CPU-hot-spots-200p.html new file mode 100644 index 000000000..65bf88478 --- /dev/null +++ b/docs/modules/ROOT/pages/performance/Ignite-CPU-hot-spots-200p.html @@ -0,0 +1,324 @@ + + + + + CPU hot spots + + + + +

CPU hot spots

+ + + + + + + + +
Method
Time (ms)
org.apache.ignite.internal.util.nio.
GridNioServer$AbstractNioClientWorker.bodyInternal
()
GridNioServer.java
10,57190 %
sun.nio.ch.
SocketChannelImpl.write
(ByteBuffer)
SocketChannelImpl.java
4,49938 %
org.apache.ignite.internal.processors.platform.client.
ClientMessageParser.encode
(ClientListenerResponse)
ClientMessageParser.java
3263 %
org.apache.ignite.internal.direct.stream.v2.
DirectByteBufferStreamImplV2.readArray
(DirectByteBufferStreamImplV2$ArrayCreator, int, long)
DirectByteBufferStreamImplV2.java
2342 %
java.lang.
ClassLoader.loadClass
(String)
ClassLoader.java
1221 %
org.apache.ignite.internal.util.
GridUnsafe.copyMemory
(Object, long, Object, long, long)
GridUnsafe.java
1171 %
+ + + + diff --git a/docs/modules/ROOT/pages/performance/ignite-ALL-UNNAMED-2021-07-05_1.snapshot b/docs/modules/ROOT/pages/performance/ignite-ALL-UNNAMED-2021-07-05_1.snapshot new file mode 100644 index 000000000..03cb7af1c Binary files /dev/null and b/docs/modules/ROOT/pages/performance/ignite-ALL-UNNAMED-2021-07-05_1.snapshot differ diff --git a/docs/modules/ROOT/pages/performance/ignite-caches.txt b/docs/modules/ROOT/pages/performance/ignite-caches.txt new file mode 100644 index 000000000..8cfee8069 --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ignite-caches.txt @@ -0,0 +1,27 @@ ++-------------------------------------------------------------------------------------------+ +visor> cache +Time of the snapshot: 2021-06-21 15:32:10 ++===============================================================================================================================================================================================================+ +| Name(@) | Mode | Nodes | Total entries (Heap / Off-heap) | Primary entries (Heap / Off-heap) | Hits | Misses | Reads | Writes | ++===============================================================================================================================================================================================================+ +| com.futurewei.alcor.netwconfigmanager.entity.ResourceMeta(@c0) | PARTITIONED | 2 | 0 (0 / 0) | min: 0 (0 / 0) | min: 0 | min: 0 | min: 0 | min: 0 | +| | | | | avg: 0.00 (0.00 / 0.00) | avg: 0.00 | avg: 0.00 | avg: 0.00 | avg: 0.00 | +| | | | | max: 0 (0 / 0) | max: 0 | max: 0 | max: 0 | max: 0 | ++-------------------------------------------------------------------+-------------+-------+---------------------------------+-----------------------------------+-----------+-----------+-----------+-----------+ +| com.futurewei.alcor.netwconfigmanager.entity.VpcResourceMeta(@c1) | PARTITIONED | 2 | 0 (0 / 0) | min: 0 (0 / 0) | min: 0 | min: 0 | min: 0 | min: 0 | +| | | | | avg: 0.00 (0.00 / 0.00) | avg: 0.00 | avg: 0.00 | avg: 0.00 | avg: 0.00 | +| | | | | max: 0 (0 / 0) | max: 0 | max: 0 | max: 0 | max: 0 | ++-------------------------------------------------------------------+-------------+-------+---------------------------------+-----------------------------------+-----------+-----------+-----------+-----------+ +| java.lang.Object(@c2) | PARTITIONED | 2 | 0 (0 / 0) | min: 0 (0 / 0) | min: 0 | min: 0 | min: 0 | min: 0 | +| | | | | avg: 0.00 (0.00 / 0.00) | avg: 0.00 | avg: 0.00 | avg: 0.00 | avg: 0.00 | +| | | | | max: 0 (0 / 0) | max: 0 | max: 0 | max: 0 | max: 0 | ++-------------------------------------------------------------------+-------------+-------+---------------------------------+-----------------------------------+-----------+-----------+-----------+-----------+ +| ncm_hostResourceStates(@c3) | PARTITIONED | 2 | 0 (0 / 0) | min: 0 (0 / 0) | min: 0 | min: 0 | min: 0 | min: 0 | +| | | | | avg: 0.00 (0.00 / 0.00) | avg: 0.00 | avg: 0.00 | avg: 0.00 | avg: 0.00 | +| | | | | max: 0 (0 / 0) | max: 0 | max: 0 | max: 0 | max: 0 | ++-------------------------------------------------------------------+-------------+-------+---------------------------------+-----------------------------------+-----------+-----------+-----------+-----------+ +| ncm_nodeinfo_cache(@c4) | PARTITIONED | 2 | 0 (0 / 0) | min: 0 (0 / 0) | min: 0 | min: 0 | min: 0 | min: 0 | +| | | | | avg: 0.00 (0.00 / 0.00) | avg: 0.00 | avg: 0.00 | avg: 0.00 | avg: 0.00 | +| | | | | max: 0 (0 / 0) | max: 0 | max: 0 | max: 0 | max: 0 | ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + diff --git a/docs/modules/ROOT/pages/performance/ncm-2021-07-13-pvrco-near-times.txt b/docs/modules/ROOT/pages/performance/ncm-2021-07-13-pvrco-near-times.txt new file mode 100644 index 000000000..19be62d2e --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ncm-2021-07-13-pvrco-near-times.txt @@ -0,0 +1,1345 @@ +Summary statistics of NCM times from ncm-2021-07-13-pvrco-1000p-near-01.log +Number of Ports : 1000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2507.0000 3814.0000 3160.5000 3160.5000 924.1886 2507.0000 2507.0000 2507.0000 2507.0000 2507 854124.5000 1000 +UGS_FIN_GRM 1.0000 63.0000 24.6667 10.0000 33.5012 1.0000 1.0000 1.0000 1.0000 1 1122.3333 1000 +UGS_ADD_NEW 3.0000 39.0000 21.0000 21.0000 25.4558 3.0000 3.0000 3.0000 3.0000 3 648.0000 1000 +UGS_UPD_OLD 2.0000 2.0000 2.0000 2.0000 0.0000 2.0000 2.0000 2.0000 2.0000 2 0.0000 1000 +UGS_FIN_GS_PROC 1139.0000 2195.0000 1681.3333 1710.0000 528.5833 1139.0000 1139.0000 1139.0000 1139.0000 1139 279400.3333 1000 +UGS_FIN_VPC_POP 122.0000 143.0000 132.5000 132.5000 14.8492 122.0000 122.0000 122.0000 122.0000 122 220.5000 1000 +UGS_TOT_ET 1151.0000 2321.0000 1809.0000 1955.0000 598.5081 1151.0000 1151.0000 1151.0000 1151.0000 1151 358212.0000 1000 +PVRC_LOOP_RS 20.0000 37.0000 28.5000 28.5000 12.0208 20.0000 20.0000 20.0000 20.0000 20 144.5000 1000 +PVRC_END 120.0000 137.0000 128.5000 128.5000 12.0208 120.0000 120.0000 120.0000 120.0000 120 144.5000 1000 +GET_VNI 10.0000 81.0000 12.8869 12.0000 3.5192 10.0000 10.0000 10.0000 10.0000 11 12.3850 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-1000p-near-02.log +Number of Ports : 1000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1449.0000 3021.0000 2235.0000 2235.0000 1111.5719 1449.0000 1449.0000 1449.0000 1449.0000 1449 1235592.0000 1000 +UGS_FIN_GRM 3.0000 10.0000 5.3333 3.0000 4.0415 3.0000 3.0000 3.0000 3.0000 3 16.3333 1000 +UGS_UPD_OLD 2.0000 19.0000 7.6667 2.0000 9.8150 2.0000 2.0000 2.0000 2.0000 2 96.3333 1000 +UGS_FIN_GS_PROC 880.0000 1780.0000 1252.0000 1096.0000 469.8425 880.0000 880.0000 880.0000 880.0000 880 220752.0000 1000 +UGS_FIN_VPC_POP 108.0000 179.0000 143.5000 143.5000 50.2046 108.0000 108.0000 108.0000 108.0000 108 2520.5000 1000 +UGS_TOT_ET 885.0000 1893.0000 1360.6667 1304.0000 506.3836 885.0000 885.0000 885.0000 885.0000 885 256424.3333 1000 +PVRC_LOOP_RS 19.0000 39.0000 29.0000 29.0000 14.1421 19.0000 19.0000 19.0000 19.0000 19 200.0000 1000 +PVRC_END 108.0000 173.0000 140.5000 140.5000 45.9619 108.0000 108.0000 108.0000 108.0000 108 2112.5000 1000 +GET_VNI 10.0000 37.0000 11.8448 11.0000 2.0032 10.0000 10.0000 10.0000 10.0000 11 4.0130 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-1000p-near-03.log +Number of Ports : 1000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1248.0000 2656.0000 1952.0000 1952.0000 995.6063 1248.0000 1248.0000 1248.0000 1248.0000 1248 991232.0000 1000 +UGS_FIN_GRM 3.0000 7.0000 4.3333 3.0000 2.3094 3.0000 3.0000 3.0000 3.0000 3 5.3333 1000 +UGS_UPD_OLD 2.0000 12.0000 5.3333 2.0000 5.7735 2.0000 2.0000 2.0000 2.0000 2 33.3333 1000 +UGS_FIN_GS_PROC 835.0000 1564.0000 1115.0000 946.0000 392.7862 835.0000 835.0000 835.0000 835.0000 835 154281.0000 1000 +UGS_FIN_VPC_POP 97.0000 171.0000 134.0000 134.0000 52.3259 97.0000 97.0000 97.0000 97.0000 97 2738.0000 1000 +UGS_TOT_ET 840.0000 1666.0000 1214.0000 1136.0000 418.4878 840.0000 840.0000 840.0000 840.0000 840 175132.0000 1000 +PVRC_LOOP_RS 19.0000 41.0000 30.0000 30.0000 15.5563 19.0000 19.0000 19.0000 19.0000 19 242.0000 1000 +PVRC_END 96.0000 166.0000 131.0000 131.0000 49.4975 96.0000 96.0000 96.0000 96.0000 96 2450.0000 1000 +GET_VNI 10.0000 61.0000 11.7247 11.0000 2.7801 10.0000 10.0000 10.0000 10.0000 11 7.7288 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-1000p-near-04.log +Number of Ports : 1000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1249.0000 2694.0000 1971.5000 1971.5000 1021.7693 1249.0000 1249.0000 1249.0000 1249.0000 1249 1044012.5000 1000 +UGS_FIN_GRM 3.0000 8.0000 4.6667 3.0000 2.8868 3.0000 3.0000 3.0000 3.0000 3 8.3333 1000 +UGS_UPD_OLD 2.0000 14.0000 6.3333 3.0000 6.6583 2.0000 2.0000 2.0000 2.0000 2 44.3333 1000 +UGS_FIN_GS_PROC 787.0000 1652.0000 1131.0000 954.0000 458.8605 787.0000 787.0000 787.0000 787.0000 787 210553.0000 1000 +UGS_FIN_VPC_POP 100.0000 175.0000 137.5000 137.5000 53.0330 100.0000 100.0000 100.0000 100.0000 100 2812.5000 1000 +UGS_TOT_ET 792.0000 1758.0000 1233.6667 1151.0000 488.2769 792.0000 792.0000 792.0000 792.0000 792 238414.3333 1000 +PVRC_LOOP_RS 19.0000 43.0000 31.0000 31.0000 16.9706 19.0000 19.0000 19.0000 19.0000 19 288.0000 1000 +PVRC_END 100.0000 169.0000 134.5000 134.5000 48.7904 100.0000 100.0000 100.0000 100.0000 100 2380.5000 1000 +GET_VNI 10.0000 36.0000 12.2102 11.0000 2.3027 10.0000 10.0000 10.0000 10.0000 11 5.3025 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-2000p-near-01.log +Number of Ports : 2000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2203.0000 5224.0000 3713.5000 3713.5000 2136.1696 2203.0000 2203.0000 2203.0000 2203.0000 2203 4563220.5000 2000 +UGS_FIN_GRM 3.0000 7.0000 4.3333 3.0000 2.3094 3.0000 3.0000 3.0000 3.0000 3 5.3333 2000 +UGS_UPD_OLD 4.0000 20.0000 9.3333 4.0000 9.2376 4.0000 4.0000 4.0000 4.0000 4 85.3333 2000 +UGS_FIN_GS_PROC 1574.0000 3183.0000 2176.6667 1773.0000 877.1718 1574.0000 1574.0000 1574.0000 1574.0000 1574 769430.3333 2000 +UGS_FIN_VPC_POP 176.0000 217.0000 196.5000 196.5000 28.9914 176.0000 176.0000 176.0000 176.0000 176 840.5000 2000 +UGS_TOT_ET 1581.0000 3366.0000 2321.3333 2017.0000 930.6021 1581.0000 1581.0000 1581.0000 1581.0000 1581 866020.3333 2000 +PVRC_LOOP_RS 34.0000 56.0000 45.0000 45.0000 15.5563 34.0000 34.0000 34.0000 34.0000 34 242.0000 2000 +PVRC_END 175.0000 211.0000 193.0000 193.0000 25.4558 175.0000 175.0000 175.0000 175.0000 175 648.0000 2000 +GET_VNI 22.0000 54.0000 24.4865 23.0000 3.6822 22.0000 22.0000 22.0000 22.0000 23 13.5587 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-2000p-near-02.log +Number of Ports : 2000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2219.0000 5187.0000 3703.0000 3703.0000 2098.6929 2219.0000 2219.0000 2219.0000 2219.0000 2219 4404512.0000 2000 +UGS_FIN_GRM 4.0000 8.0000 5.6667 5.0000 2.0817 4.0000 4.0000 4.0000 4.0000 4 4.3333 2000 +UGS_UPD_OLD 3.0000 15.0000 7.3333 4.0000 6.6583 3.0000 3.0000 3.0000 3.0000 3 44.3333 2000 +UGS_FIN_GS_PROC 1597.0000 3202.0000 2194.3333 1784.0000 877.6596 1597.0000 1597.0000 1597.0000 1597.0000 1597 770286.3333 2000 +UGS_FIN_VPC_POP 1.0000 262.0000 144.6667 171.0000 132.4777 1.0000 1.0000 1.0000 1.0000 1 17550.3333 2000 +UGS_TOT_ET 1605.0000 3382.0000 2352.0000 2069.0000 921.6827 1605.0000 1605.0000 1605.0000 1605.0000 1605 849499.0000 2000 +PVRC_LOOP_RS 32.0000 78.0000 55.0000 55.0000 32.5269 32.0000 32.0000 32.0000 32.0000 32 1058.0000 2000 +PVRC_END 170.0000 256.0000 213.0000 213.0000 60.8112 170.0000 170.0000 170.0000 170.0000 170 3698.0000 2000 +GET_VNI 22.0000 49.0000 23.4575 22.0000 3.1182 22.0000 22.0000 22.0000 22.0000 22 9.7234 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-2000p-near-03.log +Number of Ports : 2000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2058.0000 4942.0000 3500.0000 3500.0000 2039.2960 2058.0000 2058.0000 2058.0000 2058.0000 2058 4158728.0000 2000 +UGS_FIN_GRM 3.0000 8.0000 5.0000 4.0000 2.6458 3.0000 3.0000 3.0000 3.0000 3 7.0000 2000 +UGS_UPD_OLD 2.0000 14.0000 6.3333 3.0000 6.6583 2.0000 2.0000 2.0000 2.0000 2 44.3333 2000 +UGS_FIN_GS_PROC 1461.0000 3131.0000 2087.0000 1669.0000 910.0923 1461.0000 1461.0000 1461.0000 1461.0000 1461 828268.0000 2000 +UGS_FIN_VPC_POP 145.0000 249.0000 197.0000 197.0000 73.5391 145.0000 145.0000 145.0000 145.0000 145 5408.0000 2000 +UGS_TOT_ET 1466.0000 3283.0000 2229.6667 1940.0000 942.4979 1466.0000 1466.0000 1466.0000 1466.0000 1466 888302.3333 2000 +PVRC_LOOP_RS 27.0000 73.0000 50.0000 50.0000 32.5269 27.0000 27.0000 27.0000 27.0000 27 1058.0000 2000 +PVRC_END 144.0000 243.0000 193.5000 193.5000 70.0036 144.0000 144.0000 144.0000 144.0000 144 4900.5000 2000 +GET_VNI 22.0000 56.0000 24.6507 23.0000 4.1373 22.0000 22.0000 22.0000 22.0000 23 17.1173 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-2000p-near-04.log +Number of Ports : 2000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2100.0000 5074.0000 3587.0000 3587.0000 2102.9356 2100.0000 2100.0000 2100.0000 2100.0000 2100 4422338.0000 2000 +UGS_FIN_GRM 3.0000 7.0000 4.6667 4.0000 2.0817 3.0000 3.0000 3.0000 3.0000 3 4.3333 2000 +UGS_UPD_OLD 4.0000 16.0000 8.0000 4.0000 6.9282 4.0000 4.0000 4.0000 4.0000 4 48.0000 2000 +UGS_FIN_GS_PROC 1573.0000 3137.0000 2141.6667 1715.0000 864.9031 1573.0000 1573.0000 1573.0000 1573.0000 1573 748057.3333 2000 +UGS_FIN_VPC_POP 166.0000 256.0000 211.0000 211.0000 63.6396 166.0000 166.0000 166.0000 166.0000 166 4050.0000 2000 +UGS_TOT_ET 1580.0000 3311.0000 2295.0000 1994.0000 903.9032 1580.0000 1580.0000 1580.0000 1580.0000 1580 817041.0000 2000 +PVRC_LOOP_RS 31.0000 74.0000 52.5000 52.5000 30.4056 31.0000 31.0000 31.0000 31.0000 31 924.5000 2000 +PVRC_END 164.0000 249.0000 206.5000 206.5000 60.1041 164.0000 164.0000 164.0000 164.0000 164 3612.5000 2000 +GET_VNI 21.0000 89.0000 24.7858 23.0000 4.3775 21.0000 22.0000 22.0000 22.0000 23 19.1625 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-2000p-near-05.log +Number of Ports : 2000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2124.0000 4865.0000 3494.5000 3494.5000 1938.1797 2124.0000 2124.0000 2124.0000 2124.0000 2124 3756540.5000 2000 +UGS_FIN_GRM 3.0000 9.0000 6.0000 6.0000 3.0000 3.0000 3.0000 3.0000 3.0000 3 9.0000 2000 +UGS_UPD_OLD 3.0000 14.0000 7.0000 4.0000 6.0828 3.0000 3.0000 3.0000 3.0000 3 37.0000 2000 +UGS_FIN_GS_PROC 1406.0000 3088.0000 2076.3333 1735.0000 891.4384 1406.0000 1406.0000 1406.0000 1406.0000 1406 794662.3333 2000 +UGS_FIN_VPC_POP 1.0000 252.0000 140.0000 167.0000 127.6597 1.0000 1.0000 1.0000 1.0000 1 16297.0000 2000 +UGS_TOT_ET 1413.0000 3265.0000 2229.3333 2010.0000 945.2811 1413.0000 1413.0000 1413.0000 1413.0000 1413 893556.3333 2000 +PVRC_LOOP_RS 32.0000 75.0000 53.5000 53.5000 30.4056 32.0000 32.0000 32.0000 32.0000 32 924.5000 2000 +PVRC_END 167.0000 247.0000 207.0000 207.0000 56.5685 167.0000 167.0000 167.0000 167.0000 167 3200.0000 2000 +GET_VNI 21.0000 57.0000 23.7958 22.0000 3.8468 22.0000 22.0000 22.0000 22.0000 22 14.7979 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-3000p-near-01.log +Number of Ports : 3000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3082.0000 7529.0000 5305.5000 5305.5000 3144.5039 3082.0000 3082.0000 3082.0000 3082.0000 3082 9887904.5000 3000 +UGS_FIN_GRM 4.0000 9.0000 6.6667 7.0000 2.5166 4.0000 4.0000 4.0000 4.0000 4 6.3333 3000 +UGS_UPD_OLD 5.0000 17.0000 9.6667 7.0000 6.4291 5.0000 5.0000 5.0000 5.0000 5 41.3333 3000 +UGS_FIN_GS_PROC 2360.0000 4677.0000 3192.3333 2540.0000 1288.9051 2360.0000 2360.0000 2360.0000 2360.0000 2360 1661276.3333 3000 +UGS_FIN_VPC_POP 1.0000 369.0000 190.6667 202.0000 184.2616 1.0000 1.0000 1.0000 1.0000 1 33952.3333 3000 +UGS_TOT_ET 2370.0000 4893.0000 3399.3333 2935.0000 1324.0417 2370.0000 2370.0000 2370.0000 2370.0000 2370 1753086.3333 3000 +PVRC_LOOP_RS 51.0000 108.0000 79.5000 79.5000 40.3051 51.0000 51.0000 51.0000 51.0000 51 1624.5000 3000 +PVRC_END 202.0000 361.0000 281.5000 281.5000 112.4300 202.0000 202.0000 202.0000 202.0000 202 12640.5000 3000 +GET_VNI 31.0000 81.0000 34.1542 32.0000 4.1295 31.9975 32.0000 32.0000 32.0000 32 17.0524 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-3000p-near-02.log +Number of Ports : 3000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3032.0000 7230.0000 5131.0000 5131.0000 2968.4343 3032.0000 3032.0000 3032.0000 3032.0000 3032 8811602.0000 3000 +UGS_FIN_GRM 4.0000 9.0000 6.6667 7.0000 2.5166 4.0000 4.0000 4.0000 4.0000 4 6.3333 3000 +UGS_UPD_OLD 3.0000 18.0000 9.3333 7.0000 7.7675 3.0000 3.0000 3.0000 3.0000 3 60.3333 3000 +UGS_FIN_GS_PROC 2308.0000 4358.0000 3053.6667 2495.0000 1133.4489 2308.0000 2308.0000 2308.0000 2308.0000 2308 1284706.3333 3000 +UGS_FIN_VPC_POP 1.0000 354.0000 208.6667 271.0000 184.5707 1.0000 1.0000 1.0000 1.0000 1 34066.3333 3000 +UGS_TOT_ET 2316.0000 4643.0000 3278.3333 2876.0000 1214.5519 2316.0000 2316.0000 2316.0000 2316.0000 2316 1475136.3333 3000 +PVRC_LOOP_RS 55.0000 112.0000 83.5000 83.5000 40.3051 55.0000 55.0000 55.0000 55.0000 55 1624.5000 3000 +PVRC_END 271.0000 348.0000 309.5000 309.5000 54.4472 271.0000 271.0000 271.0000 271.0000 271 2964.5000 3000 +GET_VNI 32.0000 97.0000 34.7077 33.0000 4.7048 32.0000 32.0000 32.0000 32.0000 33 22.1349 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-3000p-near-03.log +Number of Ports : 3000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3098.0000 8009.0000 5553.5000 5553.5000 3472.6014 3098.0000 3098.0000 3098.0000 3098.0000 3098 12058960.5000 3000 +UGS_FIN_GRM 4.0000 9.0000 6.6667 7.0000 2.5166 4.0000 4.0000 4.0000 4.0000 4 6.3333 3000 +UGS_UPD_OLD 5.0000 17.0000 9.6667 7.0000 6.4291 5.0000 5.0000 5.0000 5.0000 5 41.3333 3000 +UGS_FIN_GS_PROC 2387.0000 5106.0000 3341.3333 2531.0000 1529.9413 2387.0000 2387.0000 2387.0000 2387.0000 2387 2340720.3333 3000 +UGS_FIN_VPC_POP 256.0000 396.0000 326.0000 326.0000 98.9949 256.0000 256.0000 256.0000 256.0000 256 9800.0000 3000 +UGS_TOT_ET 2396.0000 5376.0000 3575.0000 2953.0000 1584.3810 2396.0000 2396.0000 2396.0000 2396.0000 2396 2510263.0000 3000 +PVRC_LOOP_RS 59.0000 123.0000 91.0000 91.0000 45.2548 59.0000 59.0000 59.0000 59.0000 59 2048.0000 3000 +PVRC_END 256.0000 388.0000 322.0000 322.0000 93.3381 256.0000 256.0000 256.0000 256.0000 256 8712.0000 3000 +GET_VNI 32.0000 79.0000 35.3754 33.0000 4.5329 32.0000 32.0000 32.0000 32.0000 33 20.5473 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-3000p-near-04.log +Number of Ports : 3000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3077.0000 7430.0000 5253.5000 5253.5000 3078.0358 3077.0000 3077.0000 3077.0000 3077.0000 3077 9474304.5000 3000 +UGS_FIN_GRM 4.0000 10.0000 7.0000 7.0000 3.0000 4.0000 4.0000 4.0000 4.0000 4 9.0000 3000 +UGS_UPD_OLD 4.0000 17.0000 9.0000 6.0000 7.0000 4.0000 4.0000 4.0000 4.0000 4 49.0000 3000 +UGS_FIN_GS_PROC 2246.0000 4738.0000 3168.0000 2520.0000 1366.5445 2246.0000 2246.0000 2246.0000 2246.0000 2246 1867444.0000 3000 +UGS_FIN_VPC_POP 198.0000 377.0000 287.5000 287.5000 126.5721 198.0000 198.0000 198.0000 198.0000 198 16020.5000 3000 +UGS_TOT_ET 2254.0000 4949.0000 3375.6667 2924.0000 1403.1245 2254.0000 2254.0000 2254.0000 2254.0000 2254 1968758.3333 3000 +PVRC_LOOP_RS 45.0000 122.0000 83.5000 83.5000 54.4472 45.0000 45.0000 45.0000 45.0000 45 2964.5000 3000 +PVRC_END 197.0000 372.0000 284.5000 284.5000 123.7437 197.0000 197.0000 197.0000 197.0000 197 15312.5000 3000 +GET_VNI 31.0000 58.0000 33.4555 32.0000 3.4507 31.0000 32.0000 32.0000 32.0000 32 11.9076 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-3000p-near-05.log +Number of Ports : 3000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2780.0000 6749.0000 4764.5000 4764.5000 2806.5068 2780.0000 2780.0000 2780.0000 2780.0000 2780 7876480.5000 3000 +UGS_FIN_GRM 5.0000 10.0000 7.3333 7.0000 2.5166 5.0000 5.0000 5.0000 5.0000 5 6.3333 3000 +UGS_UPD_OLD 5.0000 20.0000 10.3333 6.0000 8.3865 5.0000 5.0000 5.0000 5.0000 5 70.3333 3000 +UGS_FIN_GS_PROC 1994.0000 4181.0000 2790.0000 2195.0000 1208.8263 1994.0000 1994.0000 1994.0000 1994.0000 1994 1461261.0000 3000 +UGS_FIN_VPC_POP 1.0000 413.0000 223.0000 255.0000 207.8557 1.0000 1.0000 1.0000 1.0000 1 43204.0000 3000 +UGS_TOT_ET 2005.0000 4449.0000 3030.6667 2638.0000 1268.4338 2005.0000 2005.0000 2005.0000 2005.0000 2005 1608924.3333 3000 +PVRC_LOOP_RS 55.0000 120.0000 87.5000 87.5000 45.9619 55.0000 55.0000 55.0000 55.0000 55 2112.5000 3000 +PVRC_END 254.0000 405.0000 329.5000 329.5000 106.7731 254.0000 254.0000 254.0000 254.0000 254 11400.5000 3000 +GET_VNI 32.0000 80.0000 34.5145 33.0000 4.7799 32.0000 32.0000 32.0000 32.0000 33 22.8472 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-4000p-near-01.log +Number of Ports : 4000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 4191.0000 10202.0000 7196.5000 7196.5000 4250.4189 4191.0000 4191.0000 4191.0000 4191.0000 4191 18066060.5000 4000 +UGS_FIN_GRM 6.0000 11.0000 8.0000 7.0000 2.6458 6.0000 6.0000 6.0000 6.0000 6 7.0000 4000 +UGS_UPD_OLD 6.0000 19.0000 11.6667 10.0000 6.6583 6.0000 6.0000 6.0000 6.0000 6 44.3333 4000 +UGS_FIN_GS_PROC 3220.0000 6297.0000 4352.0000 3539.0000 1691.9542 3220.0000 3220.0000 3220.0000 3220.0000 3220 2862709.0000 4000 +UGS_FIN_VPC_POP 1.0000 453.0000 260.3333 327.0000 233.2581 1.0000 1.0000 1.0000 1.0000 1 54409.3333 4000 +UGS_TOT_ET 3233.0000 6641.0000 4632.0000 4022.0000 1784.0098 3233.0000 3233.0000 3233.0000 3233.0000 3233 3182691.0000 4000 +PVRC_LOOP_RS 69.0000 125.0000 97.0000 97.0000 39.5980 69.0000 69.0000 69.0000 69.0000 69 1568.0000 4000 +PVRC_END 327.0000 443.0000 385.0000 385.0000 82.0244 327.0000 327.0000 327.0000 327.0000 327 6728.0000 4000 +GET_VNI 41.0000 89.0000 46.8458 45.0000 5.1249 41.0000 41.0000 42.0000 42.0000 45 26.2648 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-4000p-near-02.log +Number of Ports : 4000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3668.0000 9099.0000 6383.5000 6383.5000 3840.2969 3668.0000 3668.0000 3668.0000 3668.0000 3668 14747880.5000 4000 +UGS_FIN_GRM 5.0000 11.0000 8.6667 10.0000 3.2146 5.0000 5.0000 5.0000 5.0000 5 10.3333 4000 +UGS_UPD_OLD 6.0000 20.0000 11.6667 9.0000 7.3711 6.0000 6.0000 6.0000 6.0000 6 54.3333 4000 +UGS_FIN_GS_PROC 2784.0000 5713.0000 3821.3333 2967.0000 1640.7847 2784.0000 2784.0000 2784.0000 2784.0000 2784 2692174.3333 4000 +UGS_FIN_VPC_POP 1.0000 488.0000 253.0000 270.0000 243.9447 1.0000 1.0000 1.0000 1.0000 1 59509.0000 4000 +UGS_TOT_ET 2796.0000 6002.0000 4094.6667 3486.0000 1687.4434 2796.0000 2796.0000 2796.0000 2796.0000 2796 2847465.3333 4000 +PVRC_LOOP_RS 67.0000 124.0000 95.5000 95.5000 40.3051 67.0000 67.0000 67.0000 67.0000 67 1624.5000 4000 +PVRC_END 270.0000 481.0000 375.5000 375.5000 149.1995 270.0000 270.0000 270.0000 270.0000 270 22260.5000 4000 +GET_VNI 45.0000 97.0000 49.1241 47.0000 5.4374 46.0000 46.0000 46.0000 46.0000 46 29.5657 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-4000p-near-03.log +Number of Ports : 4000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3892.0000 9703.0000 6797.5000 6797.5000 4108.9975 3892.0000 3892.0000 3892.0000 3892.0000 3892 16883860.5000 4000 +UGS_FIN_GRM 3.0000 10.0000 7.3333 9.0000 3.7859 3.0000 3.0000 3.0000 3.0000 3 14.3333 4000 +UGS_UPD_OLD 5.0000 17.0000 10.6667 10.0000 6.0277 5.0000 5.0000 5.0000 5.0000 5 36.3333 4000 +UGS_FIN_GS_PROC 2975.0000 6167.0000 4153.6667 3319.0000 1752.0609 2975.0000 2975.0000 2975.0000 2975.0000 2975 3069717.3333 4000 +UGS_FIN_VPC_POP 1.0000 404.0000 226.3333 274.0000 205.6850 1.0000 1.0000 1.0000 1.0000 1 42306.3333 4000 +UGS_TOT_ET 2984.0000 6461.0000 4398.0000 3749.0000 1827.0969 2984.0000 2984.0000 2984.0000 2984.0000 2984 3338283.0000 4000 +PVRC_LOOP_RS 62.0000 114.0000 88.0000 88.0000 36.7696 62.0000 62.0000 62.0000 62.0000 62 1352.0000 4000 +PVRC_END 272.0000 398.0000 335.0000 335.0000 89.0955 272.0000 272.0000 272.0000 272.0000 272 7938.0000 4000 +GET_VNI 42.0000 96.0000 48.1512 46.0000 6.8827 42.0000 42.0000 42.0000 42.0000 46 47.3709 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-4000p-near-04.log +Number of Ports : 4000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3991.0000 10240.0000 7115.5000 7115.5000 4418.7103 3991.0000 3991.0000 3991.0000 3991.0000 3991 19525000.5000 4000 +UGS_FIN_GRM 5.0000 10.0000 8.0000 9.0000 2.6458 5.0000 5.0000 5.0000 5.0000 5 7.0000 4000 +UGS_UPD_OLD 8.0000 19.0000 12.6667 11.0000 5.6862 8.0000 8.0000 8.0000 8.0000 8 32.3333 4000 +UGS_FIN_GS_PROC 3210.0000 6425.0000 4342.6667 3393.0000 1805.6734 3210.0000 3210.0000 3210.0000 3210.0000 3210 3260456.3333 4000 +UGS_FIN_VPC_POP 309.0000 431.0000 370.0000 370.0000 86.2670 309.0000 309.0000 309.0000 309.0000 309 7442.0000 4000 +UGS_TOT_ET 3223.0000 6754.0000 4610.0000 3853.0000 1883.2889 3223.0000 3223.0000 3223.0000 3223.0000 3223 3546777.0000 4000 +PVRC_LOOP_RS 63.0000 113.0000 88.0000 88.0000 35.3553 63.0000 63.0000 63.0000 63.0000 63 1250.0000 4000 +PVRC_END 309.0000 425.0000 367.0000 367.0000 82.0244 309.0000 309.0000 309.0000 309.0000 309 6728.0000 4000 +GET_VNI 45.0000 86.0000 47.3013 46.0000 4.4323 45.0000 45.0000 45.0000 45.0000 46 19.6456 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-4000p-near-05.log +Number of Ports : 4000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 3845.0000 9587.0000 6716.0000 6716.0000 4060.2071 3845.0000 3845.0000 3845.0000 3845.0000 3845 16485282.0000 4000 +UGS_FIN_GRM 5.0000 12.0000 9.0000 10.0000 3.6056 5.0000 5.0000 5.0000 5.0000 5 13.0000 4000 +UGS_UPD_OLD 6.0000 25.0000 13.0000 8.0000 10.4403 6.0000 6.0000 6.0000 6.0000 6 109.0000 4000 +UGS_FIN_GS_PROC 3049.0000 5966.0000 4061.3333 3169.0000 1650.5806 3049.0000 3049.0000 3049.0000 3049.0000 3049 2724416.3333 4000 +UGS_FIN_VPC_POP 1.0000 485.0000 253.3333 274.0000 242.6609 1.0000 1.0000 1.0000 1.0000 1 58884.3333 4000 +UGS_TOT_ET 3061.0000 6258.0000 4336.6667 3691.0000 1693.4776 3061.0000 3061.0000 3061.0000 3061.0000 3061 2867866.3333 4000 +PVRC_LOOP_RS 71.0000 127.0000 99.0000 99.0000 39.5980 71.0000 71.0000 71.0000 71.0000 71 1568.0000 4000 +PVRC_END 273.0000 477.0000 375.0000 375.0000 144.2498 273.0000 273.0000 273.0000 273.0000 273 20808.0000 4000 +GET_VNI 45.0000 99.0000 48.7137 46.0000 6.0656 45.0000 45.0000 45.0000 45.0000 46 36.7917 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-5000p-near-01.log +Number of Ports : 5000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 4871.0000 12333.0000 8602.0000 8602.0000 5276.4308 4871.0000 4871.0000 4871.0000 4871.0000 4871 27840722.0000 5000 +UGS_FIN_GRM 4.0000 12.0000 8.0000 8.0000 4.0000 4.0000 4.0000 4.0000 4.0000 4 16.0000 5000 +UGS_UPD_OLD 6.0000 19.0000 11.3333 9.0000 6.8069 6.0000 6.0000 6.0000 6.0000 6 46.3333 5000 +UGS_FIN_GS_PROC 3829.0000 7857.0000 5291.3333 4188.0000 2229.1712 3829.0000 3829.0000 3829.0000 3829.0000 3829 4969204.3333 5000 +UGS_FIN_VPC_POP 1.0000 465.0000 254.6667 298.0000 235.0156 1.0000 1.0000 1.0000 1.0000 1 55232.3333 5000 +UGS_TOT_ET 3840.0000 8172.0000 5565.3333 4684.0000 2296.5447 3840.0000 3840.0000 3840.0000 3840.0000 3840 5274117.3333 5000 +PVRC_LOOP_RS 82.0000 132.0000 107.0000 107.0000 35.3553 82.0000 82.0000 82.0000 82.0000 82 1250.0000 5000 +PVRC_END 298.0000 459.0000 378.5000 378.5000 113.8442 298.0000 298.0000 298.0000 298.0000 298 12960.5000 5000 +GET_VNI 52.0000 114.0000 57.7888 56.0000 5.3988 52.0000 52.0000 52.0000 52.0000 56 29.1467 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-5000p-near-02.log +Number of Ports : 5000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 4534.0000 11837.0000 8185.5000 8185.5000 5164.0008 4534.0000 4534.0000 4534.0000 4534.0000 4534 26666904.5000 5000 +UGS_FIN_GRM 5.0000 14.0000 10.0000 11.0000 4.5826 5.0000 5.0000 5.0000 5.0000 5 21.0000 5000 +UGS_UPD_OLD 7.0000 22.0000 13.3333 11.0000 7.7675 7.0000 7.0000 7.0000 7.0000 7 60.3333 5000 +UGS_FIN_GS_PROC 3591.0000 7523.0000 4945.6667 3723.0000 2233.0117 3591.0000 3591.0000 3591.0000 3591.0000 3591 4986341.3333 5000 +UGS_FIN_VPC_POP 1.0000 578.0000 309.6667 350.0000 290.6068 1.0000 1.0000 1.0000 1.0000 1 84452.3333 5000 +UGS_TOT_ET 3604.0000 7895.0000 5278.6667 4337.0000 2295.2608 3604.0000 3604.0000 3604.0000 3604.0000 3604 5268222.3333 5000 +PVRC_LOOP_RS 89.0000 155.0000 122.0000 122.0000 46.6690 89.0000 89.0000 89.0000 89.0000 89 2178.0000 5000 +PVRC_END 350.0000 570.0000 460.0000 460.0000 155.5635 350.0000 350.0000 350.0000 350.0000 350 24200.0000 5000 +GET_VNI 54.0000 143.0000 60.4234 57.0000 7.7787 54.9975 55.0000 55.0000 55.0000 56 60.5089 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-5000p-near-03.log +Number of Ports : 5000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 4543.0000 12019.0000 8281.0000 8281.0000 5286.3303 4543.0000 4543.0000 4543.0000 4543.0000 4543 27945288.0000 5000 +UGS_FIN_GRM 5.0000 14.0000 9.6667 10.0000 4.5092 5.0000 5.0000 5.0000 5.0000 5 20.3333 5000 +UGS_UPD_OLD 9.0000 20.0000 13.6667 12.0000 5.6862 9.0000 9.0000 9.0000 9.0000 9 32.3333 5000 +UGS_FIN_GS_PROC 3807.0000 7529.0000 5053.3333 3824.0000 2144.0071 3807.0000 3807.0000 3807.0000 3807.0000 3807 4596766.3333 5000 +UGS_FIN_VPC_POP 305.0000 508.0000 406.5000 406.5000 143.5427 305.0000 305.0000 305.0000 305.0000 305 20604.5000 5000 +UGS_TOT_ET 3821.0000 7860.0000 5347.6667 4362.0000 2192.4950 3821.0000 3821.0000 3821.0000 3821.0000 3821 4807034.3333 5000 +PVRC_LOOP_RS 83.0000 134.0000 108.5000 108.5000 36.0624 83.0000 83.0000 83.0000 83.0000 83 1300.5000 5000 +PVRC_END 303.0000 502.0000 402.5000 402.5000 140.7142 303.0000 303.0000 303.0000 303.0000 303 19800.5000 5000 +GET_VNI 52.0000 123.0000 56.5345 56.0000 5.7389 52.0000 52.0000 52.0000 52.0000 56 32.9344 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-5000p-near-04.log +Number of Ports : 5000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 4920.0000 12717.0000 8818.5000 8818.5000 5513.3116 4920.0000 4920.0000 4920.0000 4920.0000 4920 30396604.5000 5000 +UGS_FIN_GRM 4.0000 11.0000 8.6667 11.0000 4.0415 4.0000 4.0000 4.0000 4.0000 11 16.3333 5000 +UGS_UPD_OLD 7.0000 20.0000 12.3333 10.0000 6.8069 7.0000 7.0000 7.0000 7.0000 7 46.3333 5000 +UGS_FIN_GS_PROC 4080.0000 7938.0000 5386.0000 4140.0000 2210.3004 4080.0000 4080.0000 4080.0000 4080.0000 4080 4885428.0000 5000 +UGS_FIN_VPC_POP 340.0000 570.0000 455.0000 455.0000 162.6346 340.0000 340.0000 340.0000 340.0000 340 26450.0000 5000 +UGS_TOT_ET 4091.0000 8299.0000 5710.3333 4741.0000 2265.2861 4091.0000 4091.0000 4091.0000 4091.0000 4091 5131521.3333 5000 +PVRC_LOOP_RS 84.0000 161.0000 122.5000 122.5000 54.4472 84.0000 84.0000 84.0000 84.0000 84 2964.5000 5000 +PVRC_END 340.0000 564.0000 452.0000 452.0000 158.3919 340.0000 340.0000 340.0000 340.0000 340 25088.0000 5000 +GET_VNI 53.0000 102.0000 58.2452 56.0000 4.9278 54.0000 55.0000 55.0000 55.0000 56 24.2835 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-13-pvrco-5000p-near-05.log +Number of Ports : 5000 +Optimizations : PVRCO, NEAR + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 4985.0000 12602.0000 8793.5000 8793.5000 5386.0324 4985.0000 4985.0000 4985.0000 4985.0000 4985 29009344.5000 5000 +UGS_FIN_GRM 5.0000 14.0000 10.3333 12.0000 4.7258 5.0000 5.0000 5.0000 5.0000 5 22.3333 5000 +UGS_UPD_OLD 8.0000 29.0000 16.3333 12.0000 11.1505 8.0000 8.0000 8.0000 8.0000 8 124.3333 5000 +UGS_FIN_GS_PROC 4109.0000 7796.0000 5374.0000 4217.0000 2098.2085 4109.0000 4109.0000 4109.0000 4109.0000 4109 4402479.0000 5000 +UGS_FIN_VPC_POP 315.0000 551.0000 433.0000 433.0000 166.8772 315.0000 315.0000 315.0000 315.0000 315 27848.0000 5000 +UGS_TOT_ET 4122.0000 8137.0000 5689.3333 4809.0000 2147.3929 4122.0000 4122.0000 4122.0000 4122.0000 4122 4611296.3333 5000 +PVRC_LOOP_RS 85.0000 160.0000 122.5000 122.5000 53.0330 85.0000 85.0000 85.0000 85.0000 85 2812.5000 5000 +PVRC_END 314.0000 543.0000 428.5000 428.5000 161.9275 314.0000 314.0000 314.0000 314.0000 314 26220.5000 5000 +GET_VNI 52.0000 112.0000 56.1712 56.0000 5.5089 52.0000 52.0000 52.0000 52.0000 56 30.3484 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + diff --git a/docs/modules/ROOT/pages/performance/ncm-2021-07-15-onheap-times.txt b/docs/modules/ROOT/pages/performance/ncm-2021-07-15-onheap-times.txt new file mode 100644 index 000000000..ae6228e4e --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ncm-2021-07-15-onheap-times.txt @@ -0,0 +1,2241 @@ +Summary statistics of NCM times from ncm-2021-07-15-onheap-100p-01.log +Number of Ports : 100 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 503.0000 594.0000 548.5000 548.5000 64.3467 503.0000 503.0000 503.0000 503.0000 503 4140.5000 100 +UGS_FIN_GRM 2.0000 26.0000 10.6667 4.0000 13.3167 2.0000 2.0000 2.0000 2.0000 2 177.3333 100 +UGS_ADD_NEW 1.0000 47.0000 24.0000 24.0000 32.5269 1.0000 1.0000 1.0000 1.0000 1 1058.0000 100 +UGS_UPD_OLD 2.0000 2.0000 2.0000 2.0000 0.0000 2.0000 2.0000 2.0000 2.0000 2 0.0000 100 +UGS_FIN_GS_PROC 110.0000 228.0000 166.3333 161.0000 59.1805 110.0000 110.0000 110.0000 110.0000 110 3502.3333 100 +UGS_FIN_VPC_POP 1.0000 42.0000 21.6667 22.0000 20.5020 1.0000 1.0000 1.0000 1.0000 1 420.3333 100 +UGS_TOT_ET 117.0000 276.0000 215.3333 253.0000 85.9321 117.0000 117.0000 117.0000 117.0000 117 7384.3333 100 +PVRC_LOOP_RS 6.0000 16.0000 11.0000 11.0000 7.0711 6.0000 6.0000 6.0000 6.0000 6 50.0000 100 +PVRC_END 22.0000 37.0000 29.5000 29.5000 10.6066 22.0000 22.0000 22.0000 22.0000 22 112.5000 100 +GET_VNI 1.0000 9.0000 1.4244 1.0000 0.5888 1.0000 1.0000 1.0000 1.0000 1 0.3467 100 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-100p-02.log +Number of Ports : 100 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 244.0000 256.0000 250.0000 250.0000 8.4853 244.0000 244.0000 244.0000 244.0000 244 72.0000 100 +UGS_FIN_GRM 1.0000 4.0000 2.0000 1.0000 1.7321 1.0000 1.0000 1.0000 1.0000 1 3.0000 100 +UGS_UPD_OLD 1.0000 8.0000 3.6667 2.0000 3.7859 1.0000 1.0000 1.0000 1.0000 1 14.3333 100 +UGS_FIN_GS_PROC 70.0000 123.0000 95.3333 93.0000 26.5769 70.0000 70.0000 70.0000 70.0000 70 706.3333 100 +UGS_FIN_VPC_POP 17.0000 90.0000 53.5000 53.5000 51.6188 17.0000 17.0000 17.0000 17.0000 17 2664.5000 100 +UGS_TOT_ET 73.0000 195.0000 136.6667 142.0000 61.1746 73.0000 73.0000 73.0000 73.0000 73 3742.3333 100 +PVRC_LOOP_RS 5.0000 12.0000 8.5000 8.5000 4.9497 5.0000 5.0000 5.0000 5.0000 5 24.5000 100 +PVRC_END 16.0000 85.0000 50.5000 50.5000 48.7904 16.0000 16.0000 16.0000 16.0000 16 2380.5000 100 +GET_VNI 1.0000 3.0000 1.3984 1.0000 0.5079 1.0000 1.0000 1.0000 1.0000 1 0.2580 100 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-100p-03.log +Number of Ports : 100 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 227.0000 255.0000 241.0000 241.0000 19.7990 227.0000 227.0000 227.0000 227.0000 227 392.0000 100 +UGS_FIN_GRM 1.0000 4.0000 2.3333 2.0000 1.5275 1.0000 1.0000 1.0000 1.0000 1 2.3333 100 +UGS_UPD_OLD 1.0000 9.0000 3.6667 1.0000 4.6188 1.0000 1.0000 1.0000 1.0000 1 21.3333 100 +UGS_FIN_GS_PROC 69.0000 134.0000 97.3333 89.0000 33.2916 69.0000 69.0000 69.0000 69.0000 69 1108.3333 100 +UGS_FIN_VPC_POP 17.0000 79.0000 48.0000 48.0000 43.8406 17.0000 17.0000 17.0000 17.0000 17 1922.0000 100 +UGS_TOT_ET 72.0000 181.0000 135.3333 153.0000 56.6068 72.0000 72.0000 72.0000 72.0000 72 3204.3333 100 +PVRC_LOOP_RS 5.0000 13.0000 9.0000 9.0000 5.6569 5.0000 5.0000 5.0000 5.0000 5 32.0000 100 +PVRC_END 16.0000 72.0000 44.0000 44.0000 39.5980 16.0000 16.0000 16.0000 16.0000 16 1568.0000 100 +GET_VNI 1.0000 13.0000 1.4354 1.0000 0.6216 1.0000 1.0000 1.0000 1.0000 1 0.3864 100 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-100p-04.log +Number of Ports : 100 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 221.0000 248.0000 234.5000 234.5000 19.0919 221.0000 221.0000 221.0000 221.0000 221 364.5000 100 +UGS_FIN_GRM 1.0000 4.0000 2.0000 1.0000 1.7321 1.0000 1.0000 1.0000 1.0000 1 3.0000 100 +UGS_UPD_OLD 1.0000 8.0000 3.3333 1.0000 4.0415 1.0000 1.0000 1.0000 1.0000 1 16.3333 100 +UGS_FIN_GS_PROC 67.0000 125.0000 102.3333 115.0000 31.0054 67.0000 67.0000 67.0000 67.0000 67 961.3333 100 +UGS_FIN_VPC_POP 17.0000 50.0000 33.5000 33.5000 23.3345 17.0000 17.0000 17.0000 17.0000 17 544.5000 100 +UGS_TOT_ET 69.0000 177.0000 130.0000 144.0000 55.3444 69.0000 69.0000 69.0000 69.0000 69 3063.0000 100 +PVRC_LOOP_RS 6.0000 12.0000 9.0000 9.0000 4.2426 6.0000 6.0000 6.0000 6.0000 6 18.0000 100 +PVRC_END 17.0000 42.0000 29.5000 29.5000 17.6777 17.0000 17.0000 17.0000 17.0000 17 312.5000 100 +GET_VNI 1.0000 3.0000 1.4284 1.0000 0.4991 1.0000 1.0000 1.0000 1.0000 1 0.2491 100 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-100p-05.log +Number of Ports : 100 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 214.0000 219.0000 216.5000 216.5000 3.5355 214.0000 214.0000 214.0000 214.0000 214 12.5000 100 +UGS_FIN_GRM 1.0000 3.0000 1.6667 1.0000 1.1547 1.0000 1.0000 1.0000 1.0000 1 1.3333 100 +UGS_UPD_OLD 1.0000 9.0000 3.6667 1.0000 4.6188 1.0000 1.0000 1.0000 1.0000 1 21.3333 100 +UGS_FIN_GS_PROC 61.0000 103.0000 81.6667 81.0000 21.0079 61.0000 61.0000 61.0000 61.0000 61 441.3333 100 +UGS_FIN_VPC_POP 17.0000 82.0000 49.5000 49.5000 45.9619 17.0000 17.0000 17.0000 17.0000 17 2112.5000 100 +UGS_TOT_ET 63.0000 175.0000 120.0000 122.0000 56.0268 63.0000 63.0000 63.0000 63.0000 63 3139.0000 100 +PVRC_LOOP_RS 5.0000 17.0000 11.0000 11.0000 8.4853 5.0000 5.0000 5.0000 5.0000 5 72.0000 100 +PVRC_END 16.0000 75.0000 45.5000 45.5000 41.7193 16.0000 16.0000 16.0000 16.0000 16 1740.5000 100 +GET_VNI 1.0000 4.0000 1.4174 1.0000 0.5014 1.0000 1.0000 1.0000 1.0000 1 0.2514 100 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-200p-01.log +Number of Ports : 200 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 319.0000 478.0000 398.5000 398.5000 112.4300 319.0000 319.0000 319.0000 319.0000 319 12640.5000 200 +UGS_FIN_GRM 1.0000 3.0000 1.6667 1.0000 1.1547 1.0000 1.0000 1.0000 1.0000 1 1.3333 200 +UGS_UPD_OLD 1.0000 8.0000 3.3333 1.0000 4.0415 1.0000 1.0000 1.0000 1.0000 1 16.3333 200 +UGS_FIN_GS_PROC 114.0000 221.0000 171.3333 179.0000 53.9104 114.0000 114.0000 114.0000 114.0000 114 2906.3333 200 +UGS_FIN_VPC_POP 26.0000 52.0000 39.0000 39.0000 18.3848 26.0000 26.0000 26.0000 26.0000 26 338.0000 200 +UGS_TOT_ET 116.0000 249.0000 202.3333 242.0000 74.8487 116.0000 116.0000 116.0000 116.0000 116 5602.3333 200 +PVRC_LOOP_RS 8.0000 12.0000 10.0000 10.0000 2.8284 8.0000 8.0000 8.0000 8.0000 8 8.0000 200 +PVRC_END 26.0000 46.0000 36.0000 36.0000 14.1421 26.0000 26.0000 26.0000 26.0000 26 200.0000 200 +GET_VNI 2.0000 22.0000 2.3473 2.0000 0.9425 2.0000 2.0000 2.0000 2.0000 2 0.8882 200 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-200p-02.log +Number of Ports : 200 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 283.0000 366.0000 324.5000 324.5000 58.6899 283.0000 283.0000 283.0000 283.0000 283 3444.5000 200 +UGS_FIN_GRM 1.0000 4.0000 2.0000 1.0000 1.7321 1.0000 1.0000 1.0000 1.0000 1 3.0000 200 +UGS_UPD_OLD 1.0000 8.0000 3.3333 1.0000 4.0415 1.0000 1.0000 1.0000 1.0000 1 16.3333 200 +UGS_FIN_GS_PROC 102.0000 187.0000 152.3333 168.0000 44.6132 102.0000 102.0000 102.0000 102.0000 102 1990.3333 200 +UGS_FIN_VPC_POP 1.0000 53.0000 27.3333 28.0000 26.0064 1.0000 1.0000 1.0000 1.0000 1 676.3333 200 +UGS_TOT_ET 105.0000 233.0000 185.0000 217.0000 69.7424 105.0000 105.0000 105.0000 105.0000 105 4864.0000 200 +PVRC_LOOP_RS 8.0000 15.0000 11.5000 11.5000 4.9497 8.0000 8.0000 8.0000 8.0000 8 24.5000 200 +PVRC_END 1.0000 48.0000 25.3333 27.0000 23.5443 1.0000 1.0000 1.0000 1.0000 1 554.3333 200 +GET_VNI 2.0000 16.0000 2.2382 2.0000 0.6067 2.0000 2.0000 2.0000 2.0000 2 0.3680 200 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-200p-03.log +Number of Ports : 200 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 247.0000 362.0000 304.5000 304.5000 81.3173 247.0000 247.0000 247.0000 247.0000 247 6612.5000 200 +UGS_FIN_GRM 1.0000 5.0000 2.3333 1.0000 2.3094 1.0000 1.0000 1.0000 1.0000 1 5.3333 200 +UGS_UPD_OLD 1.0000 9.0000 3.6667 1.0000 4.6188 1.0000 1.0000 1.0000 1.0000 1 21.3333 200 +UGS_FIN_GS_PROC 100.0000 195.0000 143.0000 134.0000 48.1352 100.0000 100.0000 100.0000 100.0000 100 2317.0000 200 +UGS_FIN_VPC_POP 25.0000 52.0000 38.5000 38.5000 19.0919 25.0000 25.0000 25.0000 25.0000 25 364.5000 200 +UGS_TOT_ET 102.0000 222.0000 174.6667 200.0000 63.8853 102.0000 102.0000 102.0000 102.0000 102 4081.3333 200 +PVRC_LOOP_RS 7.0000 13.0000 10.0000 10.0000 4.2426 7.0000 7.0000 7.0000 7.0000 7 18.0000 200 +PVRC_END 25.0000 46.0000 35.5000 35.5000 14.8492 25.0000 25.0000 25.0000 25.0000 25 220.5000 200 +GET_VNI 2.0000 29.0000 2.3914 2.0000 1.0556 2.0000 2.0000 2.0000 2.0000 2 1.1142 200 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-200p-04.log +Number of Ports : 200 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 283.0000 347.0000 315.0000 315.0000 45.2548 283.0000 283.0000 283.0000 283.0000 283 2048.0000 200 +UGS_FIN_GRM 1.0000 4.0000 2.0000 1.0000 1.7321 1.0000 1.0000 1.0000 1.0000 1 3.0000 200 +UGS_UPD_OLD 1.0000 8.0000 3.3333 1.0000 4.0415 1.0000 1.0000 1.0000 1.0000 1 16.3333 200 +UGS_FIN_GS_PROC 94.0000 179.0000 147.6667 170.0000 46.6940 94.0000 94.0000 94.0000 94.0000 94 2180.3333 200 +UGS_FIN_VPC_POP 30.0000 54.0000 42.0000 42.0000 16.9706 30.0000 30.0000 30.0000 30.0000 30 288.0000 200 +UGS_TOT_ET 96.0000 236.0000 181.0000 211.0000 74.6659 96.0000 96.0000 96.0000 96.0000 96 5575.0000 200 +PVRC_LOOP_RS 8.0000 15.0000 11.5000 11.5000 4.9497 8.0000 8.0000 8.0000 8.0000 8 24.5000 200 +PVRC_END 29.0000 48.0000 38.5000 38.5000 13.4350 29.0000 29.0000 29.0000 29.0000 29 180.5000 200 +GET_VNI 2.0000 32.0000 2.3063 2.0000 1.0509 2.0000 2.0000 2.0000 2.0000 2 1.1045 200 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-200p-05.log +Number of Ports : 200 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 280.0000 323.0000 301.5000 301.5000 30.4056 280.0000 280.0000 280.0000 280.0000 280 924.5000 200 +UGS_FIN_GRM 1.0000 4.0000 2.0000 1.0000 1.7321 1.0000 1.0000 1.0000 1.0000 1 3.0000 200 +UGS_UPD_OLD 1.0000 8.0000 3.3333 1.0000 4.0415 1.0000 1.0000 1.0000 1.0000 1 16.3333 200 +UGS_FIN_GS_PROC 91.0000 166.0000 136.0000 151.0000 39.6863 91.0000 91.0000 91.0000 91.0000 91 1575.0000 200 +UGS_FIN_VPC_POP 39.0000 52.0000 45.5000 45.5000 9.1924 39.0000 39.0000 39.0000 39.0000 39 84.5000 200 +UGS_TOT_ET 93.0000 230.0000 171.6667 192.0000 70.7272 93.0000 93.0000 93.0000 93.0000 93 5002.3333 200 +PVRC_LOOP_RS 12.0000 15.0000 13.5000 13.5000 2.1213 12.0000 12.0000 12.0000 12.0000 12 4.5000 200 +PVRC_END 37.0000 48.0000 42.5000 42.5000 7.7782 37.0000 37.0000 37.0000 37.0000 37 60.5000 200 +GET_VNI 2.0000 18.0000 2.2873 2.0000 0.6674 2.0000 2.0000 2.0000 2.0000 2 0.4454 200 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-500p-01.log +Number of Ports : 500 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 486.0000 800.0000 643.0000 643.0000 222.0315 486.0000 486.0000 486.0000 486.0000 486 49298.0000 500 +UGS_FIN_GRM 2.0000 4.0000 2.6667 2.0000 1.1547 2.0000 2.0000 2.0000 2.0000 2 1.3333 500 +UGS_UPD_OLD 1.0000 10.0000 4.3333 2.0000 4.9329 1.0000 1.0000 1.0000 1.0000 1 24.3333 500 +UGS_FIN_GS_PROC 201.0000 375.0000 287.3333 286.0000 87.0077 201.0000 201.0000 201.0000 201.0000 201 7570.3333 500 +UGS_FIN_VPC_POP 1.0000 78.0000 40.3333 42.0000 38.5270 1.0000 1.0000 1.0000 1.0000 1 1484.3333 500 +UGS_TOT_ET 205.0000 421.0000 334.6667 378.0000 114.3343 205.0000 205.0000 205.0000 205.0000 205 13072.3333 500 +PVRC_LOOP_RS 9.0000 19.0000 14.0000 14.0000 7.0711 9.0000 9.0000 9.0000 9.0000 9 50.0000 500 +PVRC_END 42.0000 72.0000 57.0000 57.0000 21.2132 42.0000 42.0000 42.0000 42.0000 42 450.0000 500 +GET_VNI 5.0000 32.0000 5.4825 5.0000 1.3701 5.0000 5.0000 5.0000 5.0000 5 1.8772 500 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-500p-02.log +Number of Ports : 500 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 443.0000 658.0000 550.5000 550.5000 152.0280 443.0000 443.0000 443.0000 443.0000 443 23112.5000 500 +UGS_FIN_GRM 1.0000 5.0000 2.6667 2.0000 2.0817 1.0000 1.0000 1.0000 1.0000 1 4.3333 500 +UGS_UPD_OLD 1.0000 11.0000 4.6667 2.0000 5.5076 1.0000 1.0000 1.0000 1.0000 1 30.3333 500 +UGS_FIN_GS_PROC 184.0000 381.0000 283.3333 285.0000 98.5106 184.0000 184.0000 184.0000 184.0000 184 9704.3333 500 +UGS_FIN_VPC_POP 40.0000 86.0000 63.0000 63.0000 32.5269 40.0000 40.0000 40.0000 40.0000 40 1058.0000 500 +UGS_TOT_ET 187.0000 424.0000 332.6667 387.0000 127.5003 187.0000 187.0000 187.0000 187.0000 187 16256.3333 500 +PVRC_LOOP_RS 9.0000 21.0000 15.0000 15.0000 8.4853 9.0000 9.0000 9.0000 9.0000 9 72.0000 500 +PVRC_END 40.0000 80.0000 60.0000 60.0000 28.2843 40.0000 40.0000 40.0000 40.0000 40 800.0000 500 +GET_VNI 5.0000 24.0000 5.4675 5.0000 1.0162 5.0000 5.0000 5.0000 5.0000 5 1.0328 500 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-500p-03.log +Number of Ports : 500 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 418.0000 728.0000 573.0000 573.0000 219.2031 418.0000 418.0000 418.0000 418.0000 418 48050.0000 500 +UGS_FIN_GRM 1.0000 4.0000 2.3333 2.0000 1.5275 1.0000 1.0000 1.0000 1.0000 1 2.3333 500 +UGS_UPD_OLD 1.0000 9.0000 3.6667 1.0000 4.6188 1.0000 1.0000 1.0000 1.0000 1 21.3333 500 +UGS_FIN_GS_PROC 202.0000 423.0000 293.0000 254.0000 115.5465 202.0000 202.0000 202.0000 202.0000 202 13351.0000 500 +UGS_FIN_VPC_POP 1.0000 104.0000 52.3333 52.0000 51.5008 1.0000 1.0000 1.0000 1.0000 1 2652.3333 500 +UGS_TOT_ET 205.0000 478.0000 351.3333 371.0000 137.5585 205.0000 205.0000 205.0000 205.0000 205 18922.3333 500 +PVRC_LOOP_RS 9.0000 23.0000 16.0000 16.0000 9.8995 9.0000 9.0000 9.0000 9.0000 9 98.0000 500 +PVRC_END 1.0000 99.0000 50.6667 52.0000 49.0136 1.0000 1.0000 1.0000 1.0000 1 2402.3333 500 +GET_VNI 5.0000 31.0000 5.3584 5.0000 1.1877 5.0000 5.0000 5.0000 5.0000 5 1.4105 500 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-500p-04.log +Number of Ports : 500 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 399.0000 603.0000 501.0000 501.0000 144.2498 399.0000 399.0000 399.0000 399.0000 399 20808.0000 500 +UGS_FIN_GRM 1.0000 4.0000 2.3333 2.0000 1.5275 1.0000 1.0000 1.0000 1.0000 1 2.3333 500 +UGS_UPD_OLD 1.0000 11.0000 4.6667 2.0000 5.5076 1.0000 1.0000 1.0000 1.0000 1 30.3333 500 +UGS_FIN_GS_PROC 174.0000 334.0000 252.3333 249.0000 80.0521 174.0000 174.0000 174.0000 174.0000 174 6408.3333 500 +UGS_FIN_VPC_POP 1.0000 85.0000 42.3333 41.0000 42.0159 1.0000 1.0000 1.0000 1.0000 1 1765.3333 500 +UGS_TOT_ET 178.0000 378.0000 301.6667 349.0000 108.0756 178.0000 178.0000 178.0000 178.0000 178 11680.3333 500 +PVRC_LOOP_RS 9.0000 22.0000 15.5000 15.5000 9.1924 9.0000 9.0000 9.0000 9.0000 9 84.5000 500 +PVRC_END 1.0000 80.0000 40.6667 41.0000 39.5011 1.0000 1.0000 1.0000 1.0000 1 1560.3333 500 +GET_VNI 5.0000 36.0000 5.3784 5.0000 1.2288 5.0000 5.0000 5.0000 5.0000 5 1.5100 500 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-500p-05.log +Number of Ports : 500 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 412.0000 679.0000 545.5000 545.5000 188.7975 412.0000 412.0000 412.0000 412.0000 412 35644.5000 500 +UGS_FIN_GRM 1.0000 4.0000 2.3333 2.0000 1.5275 1.0000 1.0000 1.0000 1.0000 1 2.3333 500 +UGS_UPD_OLD 1.0000 10.0000 4.0000 1.0000 5.1962 1.0000 1.0000 1.0000 1.0000 1 27.0000 500 +UGS_FIN_GS_PROC 189.0000 398.0000 283.6667 264.0000 105.8789 189.0000 189.0000 189.0000 189.0000 189 11210.3333 500 +UGS_FIN_VPC_POP 42.0000 86.0000 64.0000 64.0000 31.1127 42.0000 42.0000 42.0000 42.0000 42 968.0000 500 +UGS_TOT_ET 191.0000 443.0000 332.6667 364.0000 128.8888 191.0000 191.0000 191.0000 191.0000 191 16612.3333 500 +PVRC_LOOP_RS 9.0000 22.0000 15.5000 15.5000 9.1924 9.0000 9.0000 9.0000 9.0000 9 84.5000 500 +PVRC_END 42.0000 80.0000 61.0000 61.0000 26.8701 42.0000 42.0000 42.0000 42.0000 42 722.0000 500 +GET_VNI 5.0000 26.0000 5.4935 5.0000 1.1163 5.0000 5.0000 5.0000 5.0000 5 1.2462 500 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-1000p-01.log +Number of Ports : 1000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 746.0000 1300.0000 1023.0000 1023.0000 391.7372 746.0000 746.0000 746.0000 746.0000 746 153458.0000 1000 +UGS_FIN_GRM 1.0000 5.0000 2.6667 2.0000 2.0817 1.0000 1.0000 1.0000 1.0000 1 4.3333 1000 +UGS_UPD_OLD 2.0000 13.0000 5.6667 2.0000 6.3509 2.0000 2.0000 2.0000 2.0000 2 40.3333 1000 +UGS_FIN_GS_PROC 362.0000 713.0000 507.6667 448.0000 182.9490 362.0000 362.0000 362.0000 362.0000 362 33470.3333 1000 +UGS_FIN_VPC_POP 79.0000 122.0000 100.5000 100.5000 30.4056 79.0000 79.0000 79.0000 79.0000 79 924.5000 1000 +UGS_TOT_ET 366.0000 795.0000 583.0000 588.0000 214.5437 366.0000 366.0000 366.0000 366.0000 366 46029.0000 1000 +PVRC_LOOP_RS 18.0000 31.0000 24.5000 24.5000 9.1924 18.0000 18.0000 18.0000 18.0000 18 84.5000 1000 +PVRC_END 79.0000 116.0000 97.5000 97.5000 26.1630 79.0000 79.0000 79.0000 79.0000 79 684.5000 1000 +GET_VNI 10.0000 39.0000 11.1642 11.0000 1.4011 10.0000 10.0000 10.0000 10.0000 11 1.9630 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-1000p-02.log +Number of Ports : 1000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 671.0000 1186.0000 928.5000 928.5000 364.1600 671.0000 671.0000 671.0000 671.0000 671 132612.5000 1000 +UGS_FIN_GRM 2.0000 5.0000 3.3333 3.0000 1.5275 2.0000 2.0000 2.0000 2.0000 2 2.3333 1000 +UGS_UPD_OLD 2.0000 14.0000 6.0000 2.0000 6.9282 2.0000 2.0000 2.0000 2.0000 2 48.0000 1000 +UGS_FIN_GS_PROC 324.0000 688.0000 486.6667 448.0000 185.0549 324.0000 324.0000 324.0000 324.0000 324 34245.3333 1000 +UGS_FIN_VPC_POP 1.0000 132.0000 72.0000 83.0000 66.1891 1.0000 1.0000 1.0000 1.0000 1 4381.0000 1000 +UGS_TOT_ET 329.0000 776.0000 568.0000 599.0000 225.1066 329.0000 329.0000 329.0000 329.0000 329 50673.0000 1000 +PVRC_LOOP_RS 16.0000 39.0000 27.5000 27.5000 16.2635 16.0000 16.0000 16.0000 16.0000 16 264.5000 1000 +PVRC_END 82.0000 126.0000 104.0000 104.0000 31.1127 82.0000 82.0000 82.0000 82.0000 82 968.0000 1000 +GET_VNI 9.0000 45.0000 10.6116 10.0000 1.6879 9.0000 10.0000 10.0000 10.0000 10 2.8490 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-1000p-03.log +Number of Ports : 1000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 685.0000 1469.0000 1077.0000 1077.0000 554.3717 685.0000 685.0000 685.0000 685.0000 685 307328.0000 1000 +UGS_FIN_GRM 2.0000 5.0000 3.3333 3.0000 1.5275 2.0000 2.0000 2.0000 2.0000 2 2.3333 1000 +UGS_UPD_OLD 2.0000 12.0000 5.3333 2.0000 5.7735 2.0000 2.0000 2.0000 2.0000 2 33.3333 1000 +UGS_FIN_GS_PROC 455.0000 817.0000 580.0000 468.0000 205.3509 455.0000 455.0000 455.0000 455.0000 455 42169.0000 1000 +UGS_FIN_VPC_POP 108.0000 128.0000 118.0000 118.0000 14.1421 108.0000 108.0000 108.0000 108.0000 108 200.0000 1000 +UGS_TOT_ET 459.0000 930.0000 667.3333 613.0000 240.1548 459.0000 459.0000 459.0000 459.0000 459 57674.3333 1000 +PVRC_LOOP_RS 17.0000 38.0000 27.5000 27.5000 14.8492 17.0000 17.0000 17.0000 17.0000 17 220.5000 1000 +PVRC_END 108.0000 123.0000 115.5000 115.5000 10.6066 108.0000 108.0000 108.0000 108.0000 108 112.5000 1000 +GET_VNI 10.0000 38.0000 10.4174 10.0000 1.3750 10.0000 10.0000 10.0000 10.0000 10 1.8907 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-1000p-04.log +Number of Ports : 1000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 680.0000 1297.0000 988.5000 988.5000 436.2849 680.0000 680.0000 680.0000 680.0000 680 190344.5000 1000 +UGS_FIN_GRM 1.0000 4.0000 2.3333 2.0000 1.5275 1.0000 1.0000 1.0000 1.0000 1 2.3333 1000 +UGS_UPD_OLD 2.0000 11.0000 5.0000 2.0000 5.1962 2.0000 2.0000 2.0000 2.0000 2 27.0000 1000 +UGS_FIN_GS_PROC 370.0000 739.0000 523.3333 461.0000 192.2351 370.0000 370.0000 370.0000 370.0000 370 36954.3333 1000 +UGS_FIN_VPC_POP 1.0000 133.0000 72.3333 83.0000 66.6433 1.0000 1.0000 1.0000 1.0000 1 4441.3333 1000 +UGS_TOT_ET 374.0000 826.0000 603.0000 609.0000 226.0597 374.0000 374.0000 374.0000 374.0000 374 51103.0000 1000 +PVRC_LOOP_RS 18.0000 38.0000 28.0000 28.0000 14.1421 18.0000 18.0000 18.0000 18.0000 18 200.0000 1000 +PVRC_END 83.0000 127.0000 105.0000 105.0000 31.1127 83.0000 83.0000 83.0000 83.0000 83 968.0000 1000 +GET_VNI 10.0000 29.0000 10.5055 10.0000 1.2308 10.0000 10.0000 10.0000 10.0000 10 1.5147 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-1000p-05.log +Number of Ports : 1000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 695.0000 1298.0000 996.5000 996.5000 426.3854 695.0000 695.0000 695.0000 695.0000 695 181804.5000 1000 +UGS_FIN_GRM 2.0000 5.0000 3.0000 2.0000 1.7321 2.0000 2.0000 2.0000 2.0000 2 3.0000 1000 +UGS_UPD_OLD 2.0000 12.0000 5.3333 2.0000 5.7735 2.0000 2.0000 2.0000 2.0000 2 33.3333 1000 +UGS_FIN_GS_PROC 405.0000 724.0000 539.3333 489.0000 165.3491 405.0000 405.0000 405.0000 405.0000 405 27340.3333 1000 +UGS_FIN_VPC_POP 82.0000 128.0000 105.0000 105.0000 32.5269 82.0000 82.0000 82.0000 82.0000 82 1058.0000 1000 +UGS_TOT_ET 409.0000 810.0000 617.6667 634.0000 200.9983 409.0000 409.0000 409.0000 409.0000 409 40400.3333 1000 +PVRC_LOOP_RS 17.0000 36.0000 26.5000 26.5000 13.4350 17.0000 17.0000 17.0000 17.0000 17 180.5000 1000 +PVRC_END 82.0000 123.0000 102.5000 102.5000 28.9914 82.0000 82.0000 82.0000 82.0000 82 840.5000 1000 +GET_VNI 10.0000 26.0000 10.3664 10.0000 1.3264 10.0000 10.0000 10.0000 10.0000 10 1.7594 1000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-2000p-01.log +Number of Ports : 2000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1175.0000 2125.0000 1650.0000 1650.0000 671.7514 1175.0000 1175.0000 1175.0000 1175.0000 1175 451250.0000 2000 +UGS_FIN_GRM 2.0000 4.0000 2.6667 2.0000 1.1547 2.0000 2.0000 2.0000 2.0000 2 1.3333 2000 +UGS_UPD_OLD 2.0000 13.0000 6.3333 4.0000 5.8595 2.0000 2.0000 2.0000 2.0000 2 34.3333 2000 +UGS_FIN_GS_PROC 598.0000 1174.0000 858.6667 804.0000 291.8653 598.0000 598.0000 598.0000 598.0000 598 85185.3333 2000 +UGS_FIN_VPC_POP 146.0000 215.0000 180.5000 180.5000 48.7904 146.0000 146.0000 146.0000 146.0000 146 2380.5000 2000 +UGS_TOT_ET 602.0000 1326.0000 988.0000 1036.0000 364.3789 602.0000 602.0000 602.0000 602.0000 602 132772.0000 2000 +PVRC_LOOP_RS 33.0000 61.0000 47.0000 47.0000 19.7990 33.0000 33.0000 33.0000 33.0000 33 392.0000 2000 +PVRC_END 145.0000 208.0000 176.5000 176.5000 44.5477 145.0000 145.0000 145.0000 145.0000 145 1984.5000 2000 +GET_VNI 21.0000 58.0000 22.6577 22.0000 1.9957 21.0000 21.0000 21.0000 21.0000 22 3.9829 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-2000p-02.log +Number of Ports : 2000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1291.0000 2592.0000 1941.5000 1941.5000 919.9459 1291.0000 1291.0000 1291.0000 1291.0000 1291 846300.5000 2000 +UGS_FIN_GRM 2.0000 6.0000 4.0000 4.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2 4.0000 2000 +UGS_UPD_OLD 3.0000 15.0000 7.3333 4.0000 6.6583 3.0000 3.0000 3.0000 3.0000 3 44.3333 2000 +UGS_FIN_GS_PROC 735.0000 1561.0000 1082.3333 951.0000 428.3752 735.0000 735.0000 735.0000 735.0000 735 183505.3333 2000 +UGS_FIN_VPC_POP 153.0000 229.0000 191.0000 191.0000 53.7401 153.0000 153.0000 153.0000 153.0000 153 2888.0000 2000 +UGS_TOT_ET 740.0000 1722.0000 1221.0000 1201.0000 491.3054 740.0000 740.0000 740.0000 740.0000 740 241381.0000 2000 +PVRC_LOOP_RS 32.0000 68.0000 50.0000 50.0000 25.4558 32.0000 32.0000 32.0000 32.0000 32 648.0000 2000 +PVRC_END 152.0000 223.0000 187.5000 187.5000 50.2046 152.0000 152.0000 152.0000 152.0000 152 2520.5000 2000 +GET_VNI 21.0000 43.0000 22.7678 22.0000 1.7845 21.0000 21.0000 21.0000 21.0000 22 3.1845 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-2000p-03.log +Number of Ports : 2000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1316.0000 2708.0000 2012.0000 2012.0000 984.2926 1316.0000 1316.0000 1316.0000 1316.0000 1316 968832.0000 2000 +UGS_FIN_GRM 2.0000 6.0000 4.0000 4.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2 4.0000 2000 +UGS_UPD_OLD 3.0000 15.0000 7.3333 4.0000 6.6583 3.0000 3.0000 3.0000 3.0000 3 44.3333 2000 +UGS_FIN_GS_PROC 795.0000 1596.0000 1109.3333 937.0000 427.4042 795.0000 795.0000 795.0000 795.0000 795 182674.3333 2000 +UGS_FIN_VPC_POP 150.0000 230.0000 190.0000 190.0000 56.5685 150.0000 150.0000 150.0000 150.0000 150 3200.0000 2000 +UGS_TOT_ET 800.0000 1754.0000 1247.3333 1188.0000 479.7597 800.0000 800.0000 800.0000 800.0000 800 230169.3333 2000 +PVRC_LOOP_RS 32.0000 70.0000 51.0000 51.0000 26.8701 32.0000 32.0000 32.0000 32.0000 32 722.0000 2000 +PVRC_END 150.0000 225.0000 187.5000 187.5000 53.0330 150.0000 150.0000 150.0000 150.0000 150 2812.5000 2000 +GET_VNI 21.0000 76.0000 22.9830 22.0000 2.5542 21.0000 21.0000 21.0000 21.0000 22 6.5238 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-2000p-04.log +Number of Ports : 2000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1047.0000 1939.0000 1493.0000 1493.0000 630.7392 1047.0000 1047.0000 1047.0000 1047.0000 1047 397832.0000 2000 +UGS_FIN_GRM 2.0000 6.0000 4.0000 4.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2 4.0000 2000 +UGS_UPD_OLD 2.0000 15.0000 7.0000 4.0000 7.0000 2.0000 2.0000 2.0000 2.0000 2 49.0000 2000 +UGS_FIN_GS_PROC 545.0000 1104.0000 787.0000 712.0000 286.9477 545.0000 545.0000 545.0000 545.0000 545 82339.0000 2000 +UGS_FIN_VPC_POP 153.0000 230.0000 191.5000 191.5000 54.4472 153.0000 153.0000 153.0000 153.0000 153 2964.5000 2000 +UGS_TOT_ET 549.0000 1265.0000 925.6667 963.0000 359.4570 549.0000 549.0000 549.0000 549.0000 549 129209.3333 2000 +PVRC_LOOP_RS 34.0000 68.0000 51.0000 51.0000 24.0416 34.0000 34.0000 34.0000 34.0000 34 578.0000 2000 +PVRC_END 153.0000 224.0000 188.5000 188.5000 50.2046 153.0000 153.0000 153.0000 153.0000 153 2520.5000 2000 +GET_VNI 20.0000 38.0000 21.9039 22.0000 1.5367 20.0000 20.0000 20.0000 20.0000 21 2.3615 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-2000p-05.log +Number of Ports : 2000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1216.0000 2426.0000 1821.0000 1821.0000 855.5992 1216.0000 1216.0000 1216.0000 1216.0000 1216 732050.0000 2000 +UGS_FIN_GRM 2.0000 8.0000 4.6667 4.0000 3.0551 2.0000 2.0000 2.0000 2.0000 2 9.3333 2000 +UGS_UPD_OLD 2.0000 20.0000 8.3333 3.0000 10.1160 2.0000 2.0000 2.0000 2.0000 2 102.3333 2000 +UGS_FIN_GS_PROC 654.0000 1519.0000 1004.6667 841.0000 455.1333 654.0000 654.0000 654.0000 654.0000 654 207146.3333 2000 +UGS_FIN_VPC_POP 149.0000 254.0000 201.5000 201.5000 74.2462 149.0000 149.0000 149.0000 149.0000 149 5512.5000 2000 +UGS_TOT_ET 658.0000 1675.0000 1152.0000 1123.0000 509.1198 658.0000 658.0000 658.0000 658.0000 658 259203.0000 2000 +PVRC_LOOP_RS 31.0000 77.0000 54.0000 54.0000 32.5269 31.0000 31.0000 31.0000 31.0000 31 1058.0000 2000 +PVRC_END 149.0000 248.0000 198.5000 198.5000 70.0036 149.0000 149.0000 149.0000 149.0000 149 4900.5000 2000 +GET_VNI 20.0000 37.0000 21.7608 22.0000 1.2193 20.0000 20.0000 20.0000 20.0000 22 1.4868 2000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-3000p-01.log +Number of Ports : 3000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1839.0000 3690.0000 2764.5000 2764.5000 1308.8547 1839.0000 1839.0000 1839.0000 1839.0000 1839 1713100.5000 3000 +UGS_FIN_GRM 3.0000 6.0000 4.3333 4.0000 1.5275 3.0000 3.0000 3.0000 3.0000 3 2.3333 3000 +UGS_UPD_OLD 4.0000 17.0000 9.0000 6.0000 7.0000 4.0000 4.0000 4.0000 4.0000 4 49.0000 3000 +UGS_FIN_GS_PROC 1107.0000 2176.0000 1547.0000 1358.0000 559.0000 1107.0000 1107.0000 1107.0000 1107.0000 1107 312481.0000 3000 +UGS_FIN_VPC_POP 180.0000 331.0000 255.5000 255.5000 106.7731 180.0000 180.0000 180.0000 180.0000 180 11400.5000 3000 +UGS_TOT_ET 1114.0000 2366.0000 1730.6667 1712.0000 626.2087 1114.0000 1114.0000 1114.0000 1114.0000 1114 392137.3333 3000 +PVRC_LOOP_RS 57.0000 116.0000 86.5000 86.5000 41.7193 57.0000 57.0000 57.0000 57.0000 57 1740.5000 3000 +PVRC_END 180.0000 325.0000 252.5000 252.5000 102.5305 180.0000 180.0000 180.0000 180.0000 180 10512.5000 3000 +GET_VNI 31.0000 49.0000 32.5996 32.0000 1.6496 31.0000 31.0000 31.0000 31.0000 32 2.7213 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-3000p-02.log +Number of Ports : 3000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1846.0000 4235.0000 3040.5000 3040.5000 1689.2781 1846.0000 1846.0000 1846.0000 1846.0000 1846 2853660.5000 3000 +UGS_FIN_GRM 3.0000 6.0000 5.0000 6.0000 1.7321 3.0000 3.0000 3.0000 3.0000 6 3.0000 3000 +UGS_UPD_OLD 4.0000 16.0000 8.6667 6.0000 6.4291 4.0000 4.0000 4.0000 4.0000 4 41.3333 3000 +UGS_FIN_GS_PROC 1291.0000 2541.0000 1737.3333 1380.0000 697.4169 1291.0000 1291.0000 1291.0000 1291.0000 1291 486390.3333 3000 +UGS_FIN_VPC_POP 178.0000 354.0000 266.0000 266.0000 124.4508 178.0000 178.0000 178.0000 178.0000 178 15488.0000 3000 +UGS_TOT_ET 1298.0000 2731.0000 1928.3333 1756.0000 731.8786 1298.0000 1298.0000 1298.0000 1298.0000 1298 535646.3333 3000 +PVRC_LOOP_RS 47.0000 133.0000 90.0000 90.0000 60.8112 47.0000 47.0000 47.0000 47.0000 47 3698.0000 3000 +PVRC_END 178.0000 348.0000 263.0000 263.0000 120.2082 178.0000 178.0000 178.0000 178.0000 178 14450.0000 3000 +GET_VNI 31.0000 48.0000 32.6557 32.0000 2.0435 31.0000 31.0000 31.0000 31.0000 32 4.1759 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-3000p-03.log +Number of Ports : 3000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1861.0000 3796.0000 2828.5000 2828.5000 1368.2516 1861.0000 1861.0000 1861.0000 1861.0000 1861 1872112.5000 3000 +UGS_FIN_GRM 3.0000 8.0000 5.6667 6.0000 2.5166 3.0000 3.0000 3.0000 3.0000 3 6.3333 3000 +UGS_UPD_OLD 4.0000 17.0000 8.6667 5.0000 7.2342 4.0000 4.0000 4.0000 4.0000 4 52.3333 3000 +UGS_FIN_GS_PROC 1091.0000 2362.0000 1609.3333 1375.0000 667.1164 1091.0000 1091.0000 1091.0000 1091.0000 1091 445044.3333 3000 +UGS_FIN_VPC_POP 166.0000 331.0000 248.5000 248.5000 116.6726 166.0000 166.0000 166.0000 166.0000 166 13612.5000 3000 +UGS_TOT_ET 1098.0000 2539.0000 1789.3333 1731.0000 722.2689 1098.0000 1098.0000 1098.0000 1098.0000 1098 521672.3333 3000 +PVRC_LOOP_RS 43.0000 110.0000 76.5000 76.5000 47.3762 43.0000 43.0000 43.0000 43.0000 43 2244.5000 3000 +PVRC_END 164.0000 325.0000 244.5000 244.5000 113.8442 164.0000 164.0000 164.0000 164.0000 164 12960.5000 3000 +GET_VNI 31.0000 67.0000 32.2623 32.0000 2.2595 31.0000 31.0000 31.0000 31.0000 32 5.1055 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-3000p-04.log +Number of Ports : 3000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1633.0000 3171.0000 2402.0000 2402.0000 1087.5302 1633.0000 1633.0000 1633.0000 1633.0000 1633 1182722.0000 3000 +UGS_FIN_GRM 2.0000 7.0000 5.0000 6.0000 2.6458 2.0000 2.0000 2.0000 2.0000 2 7.0000 3000 +UGS_UPD_OLD 4.0000 16.0000 8.3333 5.0000 6.6583 4.0000 4.0000 4.0000 4.0000 4 44.3333 3000 +UGS_FIN_GS_PROC 939.0000 1874.0000 1313.3333 1127.0000 494.5668 939.0000 939.0000 939.0000 939.0000 939 244596.3333 3000 +UGS_FIN_VPC_POP 175.0000 351.0000 263.0000 263.0000 124.4508 175.0000 175.0000 175.0000 175.0000 175 15488.0000 3000 +UGS_TOT_ET 945.0000 2060.0000 1502.0000 1501.0000 557.5007 945.0000 945.0000 945.0000 945.0000 945 310807.0000 3000 +PVRC_LOOP_RS 48.0000 127.0000 87.5000 87.5000 55.8614 48.0000 48.0000 48.0000 48.0000 48 3120.5000 3000 +PVRC_END 175.0000 344.0000 259.5000 259.5000 119.5010 175.0000 175.0000 175.0000 175.0000 175 14280.5000 3000 +GET_VNI 32.0000 50.0000 33.1121 33.0000 1.4076 32.0000 32.0000 32.0000 32.0000 33 1.9814 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-3000p-05.log +Number of Ports : 3000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1605.0000 3146.0000 2375.5000 2375.5000 1089.6515 1605.0000 1605.0000 1605.0000 1605.0000 1605 1187340.5000 3000 +UGS_FIN_GRM 3.0000 7.0000 5.6667 7.0000 2.3094 3.0000 3.0000 3.0000 3.0000 7 5.3333 3000 +UGS_UPD_OLD 4.0000 17.0000 9.0000 6.0000 7.0000 4.0000 4.0000 4.0000 4.0000 4 49.0000 3000 +UGS_FIN_GS_PROC 944.0000 1831.0000 1294.0000 1107.0000 472.1430 944.0000 944.0000 944.0000 944.0000 944 222919.0000 3000 +UGS_FIN_VPC_POP 1.0000 376.0000 186.6667 183.0000 187.5269 1.0000 1.0000 1.0000 1.0000 1 35166.3333 3000 +UGS_TOT_ET 952.0000 2027.0000 1495.3333 1507.0000 537.5950 952.0000 952.0000 952.0000 952.0000 952 289008.3333 3000 +PVRC_LOOP_RS 52.0000 129.0000 90.5000 90.5000 54.4472 52.0000 52.0000 52.0000 52.0000 52 2964.5000 3000 +PVRC_END 1.0000 370.0000 184.6667 183.0000 184.5056 1.0000 1.0000 1.0000 1.0000 1 34042.3333 3000 +GET_VNI 31.0000 49.0000 32.6266 32.0000 1.9270 31.0000 31.0000 31.0000 31.0000 32 3.7132 3000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-4000p-01.log +Number of Ports : 4000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2338.0000 5407.0000 3872.5000 3872.5000 2170.1107 2338.0000 2338.0000 2338.0000 2338.0000 2338 4709380.5000 4000 +UGS_FIN_GRM 3.0000 7.0000 5.3333 6.0000 2.0817 3.0000 3.0000 3.0000 3.0000 3 4.3333 4000 +UGS_UPD_OLD 5.0000 17.0000 9.6667 7.0000 6.4291 5.0000 5.0000 5.0000 5.0000 5 41.3333 4000 +UGS_FIN_GS_PROC 1684.0000 3249.0000 2223.0000 1736.0000 888.9224 1684.0000 1684.0000 1684.0000 1684.0000 1684 790183.0000 4000 +UGS_FIN_VPC_POP 1.0000 410.0000 209.3333 217.0000 204.6078 1.0000 1.0000 1.0000 1.0000 1 41864.3333 4000 +UGS_TOT_ET 1693.0000 3479.0000 2447.3333 2170.0000 924.7347 1693.0000 1693.0000 1693.0000 1693.0000 1693 855134.3333 4000 +PVRC_LOOP_RS 64.0000 131.0000 97.5000 97.5000 47.3762 64.0000 64.0000 64.0000 64.0000 64 2244.5000 4000 +PVRC_END 216.0000 403.0000 309.5000 309.5000 132.2290 216.0000 216.0000 216.0000 216.0000 216 17484.5000 4000 +GET_VNI 43.0000 83.0000 46.3744 46.0000 2.9620 43.0000 43.0000 43.0000 43.0000 46 8.7735 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-4000p-02.log +Number of Ports : 4000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2244.0000 5154.0000 3699.0000 3699.0000 2057.6807 2244.0000 2244.0000 2244.0000 2244.0000 2244 4234050.0000 4000 +UGS_FIN_GRM 4.0000 8.0000 6.6667 8.0000 2.3094 4.0000 4.0000 4.0000 4.0000 8 5.3333 4000 +UGS_UPD_OLD 5.0000 17.0000 9.6667 7.0000 6.4291 5.0000 5.0000 5.0000 5.0000 5 41.3333 4000 +UGS_FIN_GS_PROC 1568.0000 3117.0000 2120.3333 1676.0000 864.8262 1568.0000 1568.0000 1568.0000 1568.0000 1568 747924.3333 4000 +UGS_FIN_VPC_POP 225.0000 413.0000 319.0000 319.0000 132.9361 225.0000 225.0000 225.0000 225.0000 225 17672.0000 4000 +UGS_TOT_ET 1577.0000 3357.0000 2349.3333 2114.0000 913.0369 1577.0000 1577.0000 1577.0000 1577.0000 1577 833636.3333 4000 +PVRC_LOOP_RS 62.0000 117.0000 89.5000 89.5000 38.8909 62.0000 62.0000 62.0000 62.0000 62 1512.5000 4000 +PVRC_END 224.0000 406.0000 315.0000 315.0000 128.6934 224.0000 224.0000 224.0000 224.0000 224 16562.0000 4000 +GET_VNI 43.0000 91.0000 46.8118 47.0000 2.4773 43.0000 43.0000 43.0000 43.0000 46 6.1369 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-4000p-03.log +Number of Ports : 4000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2270.0000 4191.0000 3230.5000 3230.5000 1358.3521 2270.0000 2270.0000 2270.0000 2270.0000 2270 1845120.5000 4000 +UGS_FIN_GRM 3.0000 9.0000 6.3333 7.0000 3.0551 3.0000 3.0000 3.0000 3.0000 3 9.3333 4000 +UGS_UPD_OLD 5.0000 19.0000 10.3333 7.0000 7.5719 5.0000 5.0000 5.0000 5.0000 5 57.3333 4000 +UGS_FIN_GS_PROC 1308.0000 2453.0000 1822.0000 1705.0000 581.3975 1308.0000 1308.0000 1308.0000 1308.0000 1308 338023.0000 4000 +UGS_FIN_VPC_POP 223.0000 432.0000 327.5000 327.5000 147.7853 223.0000 223.0000 223.0000 223.0000 223 21840.5000 4000 +UGS_TOT_ET 1316.0000 2690.0000 2057.0000 2165.0000 693.3376 1316.0000 1316.0000 1316.0000 1316.0000 1316 480717.0000 4000 +PVRC_LOOP_RS 62.0000 137.0000 99.5000 99.5000 53.0330 62.0000 62.0000 62.0000 62.0000 62 2812.5000 4000 +PVRC_END 223.0000 426.0000 324.5000 324.5000 143.5427 223.0000 223.0000 223.0000 223.0000 223 20604.5000 4000 +GET_VNI 45.0000 66.0000 46.8759 46.0000 1.8616 45.0000 45.0000 45.9905 46.0000 46 3.4655 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-4000p-04.log +Number of Ports : 4000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2021.0000 4250.0000 3135.5000 3135.5000 1576.1410 2021.0000 2021.0000 2021.0000 2021.0000 2021 2484220.5000 4000 +UGS_FIN_GRM 3.0000 10.0000 7.0000 8.0000 3.6056 3.0000 3.0000 3.0000 3.0000 3 13.0000 4000 +UGS_UPD_OLD 5.0000 52.0000 21.3333 7.0000 26.5769 5.0000 5.0000 5.0000 5.0000 5 706.3333 4000 +UGS_FIN_GS_PROC 1269.0000 2525.0000 1738.0000 1420.0000 685.7310 1269.0000 1269.0000 1269.0000 1269.0000 1269 470227.0000 4000 +UGS_FIN_VPC_POP 216.0000 397.0000 306.5000 306.5000 127.9863 216.0000 216.0000 216.0000 216.0000 216 16380.5000 4000 +UGS_TOT_ET 1277.0000 2756.0000 1970.6667 1879.0000 743.7488 1277.0000 1277.0000 1277.0000 1277.0000 1277 553162.3333 4000 +PVRC_LOOP_RS 57.0000 118.0000 87.5000 87.5000 43.1335 57.0000 57.0000 57.0000 57.0000 57 1860.5000 4000 +PVRC_END 216.0000 391.0000 303.5000 303.5000 123.7437 216.0000 216.0000 216.0000 216.0000 216 15312.5000 4000 +GET_VNI 41.0000 68.0000 44.7778 44.0000 2.0521 42.0000 42.0000 42.0000 42.0000 44 4.2111 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-4000p-05.log +Number of Ports : 4000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 1970.0000 4358.0000 3164.0000 3164.0000 1688.5710 1970.0000 1970.0000 1970.0000 1970.0000 1970 2851272.0000 4000 +UGS_FIN_GRM 3.0000 8.0000 6.0000 7.0000 2.6458 3.0000 3.0000 3.0000 3.0000 3 7.0000 4000 +UGS_UPD_OLD 5.0000 20.0000 10.6667 7.0000 8.1445 5.0000 5.0000 5.0000 5.0000 5 66.3333 4000 +UGS_FIN_GS_PROC 1326.0000 2561.0000 1758.0000 1387.0000 696.0869 1326.0000 1326.0000 1326.0000 1326.0000 1326 484537.0000 4000 +UGS_FIN_VPC_POP 267.0000 419.0000 343.0000 343.0000 107.4802 267.0000 267.0000 267.0000 267.0000 267 11552.0000 4000 +UGS_TOT_ET 1334.0000 2842.0000 2003.3333 1834.0000 768.1285 1334.0000 1334.0000 1334.0000 1334.0000 1334 590021.3333 4000 +PVRC_LOOP_RS 77.0000 131.0000 104.0000 104.0000 38.1838 77.0000 77.0000 77.0000 77.0000 77 1458.0000 4000 +PVRC_END 267.0000 414.0000 340.5000 340.5000 103.9447 267.0000 267.0000 267.0000 267.0000 267 10804.5000 4000 +GET_VNI 41.0000 79.0000 44.3453 44.0000 2.6033 41.9975 42.0000 42.0000 42.0000 45 6.7774 4000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-5000p-01.log +Number of Ports : 5000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2815.0000 5867.0000 4341.0000 4341.0000 2158.0899 2815.0000 2815.0000 2815.0000 2815.0000 2815 4657352.0000 5000 +UGS_FIN_GRM 3.0000 8.0000 6.0000 7.0000 2.6458 3.0000 3.0000 3.0000 3.0000 3 7.0000 5000 +UGS_UPD_OLD 8.0000 58.0000 25.0000 9.0000 28.5832 8.0000 8.0000 8.0000 8.0000 8 817.0000 5000 +UGS_FIN_GS_PROC 1772.0000 3511.0000 2460.0000 2097.0000 924.5848 1772.0000 1772.0000 1772.0000 1772.0000 1772 854857.0000 5000 +UGS_FIN_VPC_POP 1.0000 496.0000 260.3333 284.0000 248.3472 1.0000 1.0000 1.0000 1.0000 1 61676.3333 5000 +UGS_TOT_ET 1784.0000 3811.0000 2751.3333 2659.0000 1016.6496 1784.0000 1784.0000 1784.0000 1784.0000 1784 1033576.3333 5000 +PVRC_LOOP_RS 96.0000 163.0000 129.5000 129.5000 47.3762 96.0000 96.0000 96.0000 96.0000 96 2244.5000 5000 +PVRC_END 284.0000 489.0000 386.5000 386.5000 144.9569 284.0000 284.0000 284.0000 284.0000 284 21012.5000 5000 +GET_VNI 55.0000 137.0000 66.0681 57.0000 20.4048 56.0000 56.0000 56.0000 56.0000 57 416.3541 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-5000p-02.log +Number of Ports : 5000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2353.0000 5128.0000 3740.5000 3740.5000 1962.2213 2353.0000 2353.0000 2353.0000 2353.0000 2353 3850312.5000 5000 +UGS_FIN_GRM 4.0000 10.0000 7.6667 9.0000 3.2146 4.0000 4.0000 4.0000 4.0000 4 10.3333 5000 +UGS_UPD_OLD 6.0000 20.0000 11.6667 9.0000 7.3711 6.0000 6.0000 6.0000 6.0000 6 54.3333 5000 +UGS_FIN_GS_PROC 1464.0000 3141.0000 2093.6667 1676.0000 913.1902 1464.0000 1464.0000 1464.0000 1464.0000 1464 833916.3333 5000 +UGS_FIN_VPC_POP 265.0000 525.0000 395.0000 395.0000 183.8478 265.0000 265.0000 265.0000 265.0000 265 33800.0000 5000 +UGS_TOT_ET 1474.0000 3424.0000 2376.3333 2231.0000 983.0902 1474.0000 1474.0000 1474.0000 1474.0000 1474 966466.3333 5000 +PVRC_LOOP_RS 81.0000 154.0000 117.5000 117.5000 51.6188 81.0000 81.0000 81.0000 81.0000 81 2664.5000 5000 +PVRC_END 265.0000 518.0000 391.5000 391.5000 178.8980 265.0000 265.0000 265.0000 265.0000 265 32004.5000 5000 +GET_VNI 54.0000 106.0000 65.7417 70.0000 9.0092 54.0000 54.0000 54.0000 54.0000 71 81.1657 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-5000p-03.log +Number of Ports : 5000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2454.0000 5167.0000 3810.5000 3810.5000 1918.3807 2454.0000 2454.0000 2454.0000 2454.0000 2454 3680184.5000 5000 +UGS_FIN_GRM 3.0000 10.0000 7.6667 10.0000 4.0415 3.0000 3.0000 3.0000 3.0000 10 16.3333 5000 +UGS_UPD_OLD 6.0000 62.0000 25.6667 9.0000 31.5013 6.0000 6.0000 6.0000 6.0000 6 992.3333 5000 +UGS_FIN_GS_PROC 1550.0000 3081.0000 2133.3333 1769.0000 827.9760 1550.0000 1550.0000 1550.0000 1550.0000 1550 685544.3333 5000 +UGS_FIN_VPC_POP 256.0000 464.0000 360.0000 360.0000 147.0782 256.0000 256.0000 256.0000 256.0000 256 21632.0000 5000 +UGS_TOT_ET 1559.0000 3356.0000 2406.6667 2305.0000 902.8036 1559.0000 1559.0000 1559.0000 1559.0000 1559 815054.3333 5000 +PVRC_LOOP_RS 78.0000 143.0000 110.5000 110.5000 45.9619 78.0000 78.0000 78.0000 78.0000 78 2112.5000 5000 +PVRC_END 256.0000 458.0000 357.0000 357.0000 142.8356 256.0000 256.0000 256.0000 256.0000 256 20402.0000 5000 +GET_VNI 51.0000 76.0000 53.0891 52.0000 3.1136 51.0000 51.0000 51.0000 51.0000 51 9.6945 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-5000p-04.log +Number of Ports : 5000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2420.0000 5232.0000 3826.0000 3826.0000 1988.3843 2420.0000 2420.0000 2420.0000 2420.0000 2420 3953672.0000 5000 +UGS_FIN_GRM 4.0000 9.0000 7.3333 9.0000 2.8868 4.0000 4.0000 4.0000 4.0000 9 8.3333 5000 +UGS_UPD_OLD 6.0000 19.0000 11.3333 9.0000 6.8069 6.0000 6.0000 6.0000 6.0000 6 46.3333 5000 +UGS_FIN_GS_PROC 1562.0000 3124.0000 2146.0000 1752.0000 852.2840 1562.0000 1562.0000 1562.0000 1562.0000 1562 726388.0000 5000 +UGS_FIN_VPC_POP 295.0000 489.0000 392.0000 392.0000 137.1787 295.0000 295.0000 295.0000 295.0000 295 18818.0000 5000 +UGS_TOT_ET 1572.0000 3437.0000 2426.0000 2269.0000 942.3603 1572.0000 1572.0000 1572.0000 1572.0000 1572 888043.0000 5000 +PVRC_LOOP_RS 94.0000 158.0000 126.0000 126.0000 45.2548 94.0000 94.0000 94.0000 94.0000 94 2048.0000 5000 +PVRC_END 294.0000 484.0000 389.0000 389.0000 134.3503 294.0000 294.0000 294.0000 294.0000 294 18050.0000 5000 +GET_VNI 51.0000 154.0000 61.6937 56.0000 18.8813 51.0000 52.0000 52.0000 52.0000 56 356.5033 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +Summary statistics of NCM times from ncm-2021-07-15-onheap-5000p-05.log +Number of Ports : 5000 +Optimizations : ONHEAP PVRCO + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +PGSS_FIN_PUT_GS 2456.0000 4764.0000 3610.0000 3610.0000 1632.0025 2456.0000 2456.0000 2456.0000 2456.0000 2456 2663432.0000 5000 +UGS_FIN_GRM 3.0000 10.0000 7.0000 8.0000 3.6056 3.0000 3.0000 3.0000 3.0000 3 13.0000 5000 +UGS_UPD_OLD 6.0000 25.0000 13.0000 8.0000 10.4403 6.0000 6.0000 6.0000 6.0000 6 109.0000 5000 +UGS_FIN_GS_PROC 1452.0000 2750.0000 1979.0000 1735.0000 682.5342 1452.0000 1452.0000 1452.0000 1452.0000 1452 465853.0000 5000 +UGS_FIN_VPC_POP 276.0000 525.0000 400.5000 400.5000 176.0696 276.0000 276.0000 276.0000 276.0000 276 31000.5000 5000 +UGS_TOT_ET 1461.0000 3042.0000 2266.0000 2295.0000 790.8989 1461.0000 1461.0000 1461.0000 1461.0000 1461 625521.0000 5000 +PVRC_LOOP_RS 89.0000 175.0000 132.0000 132.0000 60.8112 89.0000 89.0000 89.0000 89.0000 89 3698.0000 5000 +PVRC_END 275.0000 519.0000 397.0000 397.0000 172.5341 275.0000 275.0000 275.0000 275.0000 275 29768.0000 5000 +GET_VNI 54.0000 213.0000 93.9029 116.0000 28.6725 54.0000 54.0000 54.0000 54.0000 117 822.1138 5000 + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + diff --git a/docs/modules/ROOT/pages/performance/ncm-21-06-18-02.html b/docs/modules/ROOT/pages/performance/ncm-21-06-18-02.html new file mode 100644 index 000000000..31bb10b8e --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ncm-21-06-18-02.html @@ -0,0 +1,360 @@ +--- Execution profile --- +Total samples : 159136 + +Frame buffer usage : 0.023% + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] [Service Thread tid=2376] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __GI___pthread_timedjoin_ex + [ 1] /usr/lib/jvm/java-11-openjdk-amd64/lib/jli/libjli.so + [ 2] [java tid=2364] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [Signal Dispatcher tid=2375] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#4 tid=2390] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#12 tid=2398] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __pthread_cond_timedwait + [ 1] [Sweeper thread tid=2379] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#6 tid=2392] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#22 tid=2408] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#15 tid=2401] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#1 tid=2387] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#11 tid=2397] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#20 tid=2406] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#10 tid=2396] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] java.lang.Object.wait + [ 2] java.lang.ref.ReferenceQueue.remove + [ 3] java.lang.ref.ReferenceQueue.remove + [ 4] java.lang.ref.Finalizer$FinalizerThread.run + [ 5] [Finalizer tid=2374] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#7 tid=2393] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#16 tid=2402] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#18 tid=2404] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __pthread_cond_timedwait + [ 1] [VM Thread tid=2372] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] java.lang.ref.Reference.waitForReferencePendingList + [ 2] java.lang.ref.Reference.processPendingReferences + [ 3] java.lang.ref.Reference$ReferenceHandler.run + [ 4] [Reference Handler tid=2373] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#2 tid=2388] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#5 tid=2391] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#17 tid=2403] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#8 tid=2394] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __pthread_cond_timedwait + [ 1] [G1 Young RemSet tid=2371] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#19 tid=2405] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#3 tid=2389] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#0 tid=2367] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __pthread_cond_timedwait + [ 1] [VM Periodic Tas tid=2381] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __pthread_cond_timedwait + [ 1] java.lang.Object.wait + [ 2] java.lang.ref.ReferenceQueue.remove + [ 3] jdk.internal.ref.CleanerImpl.run + [ 4] java.lang.Thread.run + [ 5] jdk.internal.misc.InnocuousThread.run + [ 6] [Common-Cleaner tid=2382] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#14 tid=2400] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#23 tid=2409] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#9 tid=2395] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] java.lang.Object.wait + [ 2] java.lang.Object.wait + [ 3] io.grpc.internal.ServerImpl.awaitTermination + [ 4] com.futurewei.alcor.netwconfigmanager.server.grpc.GoalStateProvisionerServer.blockUntilShutdown + [ 5] com.futurewei.alcor.netwconfigmanager.NetworkConfigManagerApplication.instantiateGrpcServer + [ 6] jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 + [ 7] jdk.internal.reflect.NativeMethodAccessorImpl.invoke + [ 8] jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke + [ 9] java.lang.reflect.Method.invoke + [10] org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke + [11] org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods + [12] org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization + [13] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization + [14] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean + [15] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean + [16] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean + [17] org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0 + [18] org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$202.19986569.getObject + [19] org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton + [20] org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean + [21] org.springframework.beans.factory.support.AbstractBeanFactory.getBean + [22] org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons + [23] org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization + [24] org.springframework.context.support.AbstractApplicationContext.refresh + [25] org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh + [26] org.springframework.boot.SpringApplication.refresh + [27] org.springframework.boot.SpringApplication.refreshContext + [28] org.springframework.boot.SpringApplication.run + [29] org.springframework.boot.SpringApplication.run + [30] org.springframework.boot.SpringApplication.run + [31] com.futurewei.alcor.netwconfigmanager.NetworkConfigManagerApplication.main + [32] jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 + [33] jdk.internal.reflect.NativeMethodAccessorImpl.invoke + [34] jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke + [35] java.lang.reflect.Method.invoke + [36] org.springframework.boot.loader.MainMethodRunner.run + [37] org.springframework.boot.loader.Launcher.launch + [38] org.springframework.boot.loader.Launcher.launch + [39] org.springframework.boot.loader.JarLauncher.main + [40] [main tid=2366] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] [G1 Refine#0 tid=2370] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [G1 Conc#0 tid=2369] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] [G1 Main Marker tid=2368] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __pthread_cond_timedwait + [ 1] [C2 CompilerThre tid=2377] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#13 tid=2399] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] __pthread_cond_timedwait + [ 1] [C1 CompilerThre tid=2378] + +--- 142100000000 ns (1.79%), 2842 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#21 tid=2407] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#25 tid=2412] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [G1 Conc#4 tid=2432] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#24 tid=2410] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#27 tid=2414] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] __libc_recv + [ 1] java.net.SocketInputStream.socketRead0 + [ 2] java.net.SocketInputStream.socketRead + [ 3] java.net.SocketInputStream.read + [ 4] java.net.SocketInputStream.read + [ 5] org.apache.ignite.internal.client.thin.TcpClientChannel$ByteCountingDataInput.read + [ 6] org.apache.ignite.internal.client.thin.TcpClientChannel$ByteCountingDataInput.readInt + [ 7] org.apache.ignite.internal.client.thin.TcpClientChannel.processNextMessage + [ 8] org.apache.ignite.internal.client.thin.TcpClientChannel.lambda$initReceiverThread$0 + [ 9] org.apache.ignite.internal.client.thin.TcpClientChannel$$Lambda$598.1627883152.run + [10] java.lang.Thread.run + [11] [thin-client-channel#t2:10800 tid=2444] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] accept + [ 1] [unknown] + [ 2] [Attach Listener tid=7420] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [G1 Conc#3 tid=2431] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [G1 Conc#2 tid=2430] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [GC Thread#26 tid=2413] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [G1 Conc#6 tid=2434] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [G1 Conc#1 tid=2429] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] do_futex_wait.constprop.1 + [ 1] [G1 Conc#5 tid=2433] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] __pthread_cond_timedwait + [ 1] java.lang.Thread.sleep + [ 2] org.apache.catalina.core.StandardServer.await + [ 3] org.springframework.boot.web.embedded.tomcat.TomcatWebServer$1.run + [ 4] [container-0 tid=2443] + +--- 142050000000 ns (1.79%), 2841 samples + [ 0] epoll_wait + [ 1] io.grpc.netty.shaded.io.netty.channel.epoll.Native.epollWait0 + [ 2] io.grpc.netty.shaded.io.netty.channel.epoll.Native.epollWait + [ 3] io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoop.epollWait + [ 4] io.grpc.netty.shaded.io.netty.channel.epoll.EpollEventLoop.run + [ 5] io.grpc.netty.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$5.run + [ 6] io.grpc.netty.shaded.io.netty.util.internal.ThreadExecutorMap$2.run + [ 7] io.grpc.netty.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run + [ 8] java.lang.Thread.run + [ 9] [grpc-default-boss-ELG-1-1 tid=2446] + +--- 101350000000 ns (1.27%), 2027 samples + [ 0] __pthread_cond_timedwait + [ 1] jdk.internal.misc.Unsafe.park + [ 2] java.util.concurrent.locks.LockSupport.parkNanos + [ 3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos + [ 4] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 5] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 6] java.util.concurrent.ThreadPoolExecutor.getTask + [ 7] java.util.concurrent.ThreadPoolExecutor.runWorker + [ 8] java.util.concurrent.ThreadPoolExecutor$Worker.run + [ 9] org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run + [10] java.lang.Thread.run + [11] [Catalina-utility-1 tid=2441] + +--- 101350000000 ns (1.27%), 2027 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] jdk.internal.misc.Unsafe.park + [ 2] java.util.concurrent.locks.LockSupport.park + [ 3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await + [ 4] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 5] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 6] java.util.concurrent.ThreadPoolExecutor.getTask + [ 7] java.util.concurrent.ThreadPoolExecutor.runWorker + [ 8] java.util.concurrent.ThreadPoolExecutor$Worker.run + [ 9] org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run + [10] java.lang.Thread.run + [11] [Catalina-utility-2 tid=2442] + +--- 40700000000 ns (0.51%), 814 samples + [ 0] __pthread_cond_timedwait + [ 1] jdk.internal.misc.Unsafe.park + [ 2] java.util.concurrent.locks.LockSupport.parkNanos + [ 3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos + [ 4] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 5] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 6] java.util.concurrent.ThreadPoolExecutor.getTask + [ 7] java.util.concurrent.ThreadPoolExecutor.runWorker + [ 8] java.util.concurrent.ThreadPoolExecutor$Worker.run + [ 9] org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run + [10] java.lang.Thread.run + [11] [Catalina-utility-2 tid=2442] + +--- 40700000000 ns (0.51%), 814 samples + [ 0] pthread_cond_wait@@GLIBC_2.3.2 + [ 1] jdk.internal.misc.Unsafe.park + [ 2] java.util.concurrent.locks.LockSupport.park + [ 3] java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await + [ 4] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 5] java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take + [ 6] java.util.concurrent.ThreadPoolExecutor.getTask + [ 7] java.util.concurrent.ThreadPoolExecutor.runWorker + [ 8] java.util.concurrent.ThreadPoolExecutor$Worker.run + [ 9] org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run + [10] java.lang.Thread.run + [11] [Catalina-utility-1 tid=2441] + + ns percent samples top + ---------- ------- ------- --- +5115100000000 64.29% 102302 do_futex_wait.constprop.1 +1278800000000 16.07% 25576 __pthread_cond_timedwait +994650000000 12.50% 19893 pthread_cond_wait@@GLIBC_2.3.2 +142100000000 1.79% 2842 __GI___pthread_timedjoin_ex +142050000000 1.79% 2841 accept +142050000000 1.79% 2841 epoll_wait +142050000000 1.79% 2841 __libc_recv diff --git a/docs/modules/ROOT/pages/performance/ncm-21-06-21-03.html b/docs/modules/ROOT/pages/performance/ncm-21-06-21-03.html new file mode 100644 index 000000000..46bb7b4ec --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ncm-21-06-21-03.html @@ -0,0 +1,681 @@ + + + +Tree view + + + + + +
Call tree view, total samples: 146,304
+
+ +
+ + + diff --git a/docs/modules/ROOT/pages/performance/ncm-CPU-hot-spots-200p.html b/docs/modules/ROOT/pages/performance/ncm-CPU-hot-spots-200p.html new file mode 100644 index 000000000..8fdcf83e2 --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ncm-CPU-hot-spots-200p.html @@ -0,0 +1,339 @@ + + + + + CPU hot spots + + + + +

CPU hot spots

+ + + + + + + + + + + + + + + + + + + + + + + +
Method
Time (ms)
org.apache.ignite.internal.binary.
BinaryReaderExImpl.deserialize
()
BinaryReaderExImpl.java
22,73672 %
org.apache.ignite.internal.binary.
BinaryReaderExImpl.deserialize0
()
BinaryReaderExImpl.java
22,73672 %
org.apache.ignite.internal.binary.
BinaryClassDescriptor.read
(BinaryReaderExImpl)
BinaryClassDescriptor.java
22,48171 %
org.apache.ignite.internal.binary.
BinaryFieldAccessor.read
(Object, BinaryReaderExImpl)
BinaryFieldAccessor.java
22,48171 %
org.apache.ignite.internal.binary.
BinaryFieldAccessor$DefaultFinalClassAccessor.read0
(Object, BinaryReaderExImpl)
BinaryFieldAccessor.java
22,48171 %
org.apache.ignite.internal.binary.
BinaryReaderExImpl.readField
(int)
BinaryReaderExImpl.java
22,48171 %
org.apache.ignite.internal.binary.
BinaryUtils.doReadMap
(BinaryInputStream, BinaryContext, ClassLoader, BinaryReaderHandlesHolder, boolean, boolean, BinaryMapFactory)
BinaryUtils.java
22,27470 %
org.apache.ignite.internal.binary.
BinaryUtils.doReadObject
(BinaryInputStream, BinaryContext, ClassLoader, BinaryReaderHandlesHolder)
BinaryUtils.java
21,71769 %
org.apache.ignite.internal.binary.
BinaryUtils.doReadCollection
(BinaryInputStream, BinaryContext, ClassLoader, BinaryReaderHandlesHolder, boolean, boolean, BinaryCollectionFactory)
BinaryUtils.java
6,55521 %
org.apache.ignite.internal.binary.
BinaryReaderHandles.put
(int, Object)
BinaryReaderHandles.java
6,24620 %
java.net.
SocketInputStream.read
(byte[], int, int)
SocketInputStream.java
6,21520 %
org.apache.ignite.internal.binary.
BinaryReaderExImpl.<init>
(BinaryContext, BinaryInputStream, ClassLoader, BinaryReaderHandles, boolean)
BinaryReaderExImpl.java
3,29710 %
java.util.
HashMap.resize
()
HashMap.java
2,9099 %
org.apache.ignite.internal.binary.
BinaryContext.descriptorForTypeId
(boolean, int, ClassLoader, boolean)
BinaryContext.java
2,6458 %
org.apache.ignite.internal.binary.
BinaryReaderExImpl.<init>
(BinaryContext, BinaryInputStream, ClassLoader, BinaryReaderHandles, boolean, boolean)
BinaryReaderExImpl.java
2,4158 %
org.apache.ignite.internal.binary.
BinaryUtils.doReadString
(BinaryInputStream)
BinaryUtils.java
1,9126 %
java.lang.
String.<init>
(byte[], int, int, Charset)
String.java
1,8526 %
java.util.
HashSet.add
(Object)
HashSet.java
1,5155 %
java.lang.
String.hashCode
()
String.java
1,4104 %
java.lang.
Integer.valueOf
(int)
Integer.java
1,2854 %
java.lang.
ClassLoader.loadClass
(String)
ClassLoader.java
1,2604 %
+ + + + diff --git a/docs/modules/ROOT/pages/performance/ncm-inginte-gs-latency.svg b/docs/modules/ROOT/pages/performance/ncm-inginte-gs-latency.svg new file mode 100644 index 000000000..ba3008bb8 --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ncm-inginte-gs-latency.svg @@ -0,0 +1,718 @@ + + + +Gnuplot +Produced by GNUPLOT 5.2 patchlevel 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 100 + + + + + + + + + + + + + 200 + + + + + + + + + + + + + 300 + + + + + + + + + + + + + 400 + + + + + + + + + + + + + 500 + + + + + + + + + + + + + 600 + + + + + + + + + + + + + 700 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 500 + + + + + + + + + + + + + 1000 + + + + + + + + + + + + + 1500 + + + + + + + + + + + + + 2000 + + + + + + + + + + + + + 2500 + + + + + + + + + Time in Seconds + + + + + Number of ports in GS + + + + + Number of Ports in GS vs NCM to Ignite Latency + + + + Number of Ports in GS vs NCM to Ignite Latency + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/modules/ROOT/pages/performance/ncm_getresourcemeta_latency_investigation.adoc b/docs/modules/ROOT/pages/performance/ncm_getresourcemeta_latency_investigation.adoc new file mode 100644 index 000000000..b0406253c --- /dev/null +++ b/docs/modules/ROOT/pages/performance/ncm_getresourcemeta_latency_investigation.adoc @@ -0,0 +1,153 @@ += NCM Jitter investigation + +Prasad Kommoju , Zhaoxi Zhu +2021-05-21 + +== Machine Configuration +[source] +|=== +| Machine| Process| CPUs | Total Memory + +|10.213.43.161| NCM|40| 192GB + +|10.213.43.92| Test Controller| 24|31GB + +|10.213.43.92| ACA node 1| 24| 31GB + +|10.213.43.93| ACA node 2|24| 64GB + +|10.213.43.163| Ignite node 1| 40|192GB + +|10.213.43.164| Ignite node 2| 40| 192GB + +|=== + + +== NCM and Ignite JVM options +[source] + -Djava.net.preferIPv4Stack=true \ + -Xms40G \ + -XX:MaxMetaspaceSize=1G \ + -Xmx40G \ + -XX:NewSize=512m \ + -XX:SurvivorRatio=6 \ + -XX:+AlwaysPreTouch \ + -XX:+UseG1GC \ + -XX:MaxGCPauseMillis=2000 \ + -XX:GCTimeRatio=4 \ + -XX:InitiatingHeapOccupancyPercent=30 \ + -XX:G1HeapRegionSize=33554432 \ + -XX:ParallelGCThreads=8 \ + -XX:ConcGCThreads=8 \ + -XX:G1HeapWastePercent=10 \ + -XX:+UseTLAB \ + -XX:+ScavengeBeforeFullGC \ + -XX:+DisableExplicitGC \ + -XX:+PrintGCDetails + +== Ignite configuration +[source] + + + + + + + + + + + + +== Observations +1. The ping speed was still around a few hundreds of milliseconds. +2. As the number of ports increases, from 200, 250, all the way to 500, 1000, the time needed for NCM to finish sending the GoalStates to NCM increases. At one point, the GoalState for host_2, which includes port states and neighbor states, took more than 10 seconds to reach the ACA on host_2. More timers are needed in TC and NCM to see the exact time spent, and what is causing this latency. +3. We saw, when testing with 500 and 1000 ports, when the ping starts, ACA on host_1, who requests the neighbor states, dies suddenly with a core dump. The reason of this needs to be investigated. However, I remember that when core dump happened, ACA’s last output was trying to set up an OVS rule for a neighbor. +4. In today’s debug session, NCM and Ignite are running of different machine with sufficient RAM, we think that contributes to the much lower latency for NCM to access the cache (which was ~800ms before and ~50ms today, both refer to the max time needed). +5. TC dumps core, some times, on exit. This combined with (3) above indicate that there a possibility of buffer overrun in TC code, and a memory management issue in the TC code. This needs to be investigated and fixed to run load tests. +6. In NCM, it appears that there are more calls to getResourceMeta than expected. We have not looked into the reason. +7. These runs hint the upcoming need for tuning JVM for Ignite and all of the micro-services, and utilizing any and all performance settings of Ignite as we increase the load. + + +== NCM latency for 200 ports +* NCM latency to get the ResourceMeta ranged from 2 to 67 ms. +* NCM memory usage ranged from 27,964,312 to 481,301,352 bytes. + +=== Latency histogram (200 ports) +|=== +| time (ms) | Frequency +| 2 |60 +| 3 |185 +| 4 |163 +| 5 |72 +| 6 |33 +| 7 |12 +| 8 |10 +| 9 |5 +| 10 |5 +| 11 |2 +| 12 |5 +| 13 |3 +| 14 |3 +| 15 |2 +| 16 |4 +| 17 |1 +| 18 |3 +| 19 |1 +| 20 |1 +| 21 |3 +| 22 |2 +| 23 |6 +| 24 |2 +| 25 |2 +| 26 |1 +| 27 |1 +| 28 |1 +| 29 |3 +| 30 |2 +| 31 |1 +| 32 |1 +| 33 |1 +| 60 |1 +| 67 |1 +|=== + +== NCM latency for 250 ports +* NCM latency to get the ResourceMeta ranged from 2 to 52 ms. +* NCM memory usage ranged from 27,115,224 to 547,819,192 bytes. + +=== Latency histogram (250 ports) +|=== +| time (ms) | Frequency +| 2 |96 +| 3 |179 +| 4 |129 +| 5 |112 +| 6 |85 +| 7 |40 +| 8 |25 +| 9 |12 +| 10 |16 +| 11 |5 +| 12 |6 +| 13 |4 +| 14 |4 +| 15 |7 +| 16 |4 +| 17 |4 +| 18 |4 +| 20 |3 +| 23 |1 +| 24 |1 +| 25 |1 +| 26 |2 +| 27 |2 +| 28 |1 +| 31 |1 +| 32 |1 +| 34 |1 +| 39 |1 +| 52 |1 +|=== + + diff --git a/docs/modules/ROOT/pages/performance/networkconfigmanager-0.1.0-SNAPSHOT-2021-07-05.snapshot b/docs/modules/ROOT/pages/performance/networkconfigmanager-0.1.0-SNAPSHOT-2021-07-05.snapshot new file mode 100644 index 000000000..e38451ea7 Binary files /dev/null and b/docs/modules/ROOT/pages/performance/networkconfigmanager-0.1.0-SNAPSHOT-2021-07-05.snapshot differ diff --git a/docs/modules/ROOT/pages/performance/networkconfigmanager-0.1.0-SNAPSHOT-2021-07-05_01.snapshot b/docs/modules/ROOT/pages/performance/networkconfigmanager-0.1.0-SNAPSHOT-2021-07-05_01.snapshot new file mode 100644 index 000000000..0e880a4d5 Binary files /dev/null and b/docs/modules/ROOT/pages/performance/networkconfigmanager-0.1.0-SNAPSHOT-2021-07-05_01.snapshot differ diff --git a/docs/modules/ROOT/pages/performance/profiling-ignite-ncm.adoc b/docs/modules/ROOT/pages/performance/profiling-ignite-ncm.adoc new file mode 100644 index 000000000..02fffc860 --- /dev/null +++ b/docs/modules/ROOT/pages/performance/profiling-ignite-ncm.adoc @@ -0,0 +1,266 @@ += Profiling Ignite through AlcorController + +Prasad Kommoju , Zhaoxi Zhu +2021-06-15 + +:toc: right + +:imagesdir: ../../images + +== Introduction +The purpose of these experiments is to measure the latency of Ignite in combination with NCM, specifically the latency of put and get of Goal State. GS can become very large (MB to GB) and get/put latencies become crtitcal to the acceptable performance of Alcor project. + +== Methodology +The Test Controller (TC) has been modified to not use ACA, which means the latency of get/put from OnDemand path is not measured. +TC sends GS to NCM, NCM stores it into three Ignite Caches of NCM 1) ResourceMeta, 2) VpcResourceMeta, 3) hostResourceStates (in the benchmark it is created as ncm_hostResourceStates instead of java.lang.Object) + +Some of the measurements were taken by NCM itself calling vpcResourceCache.getResourceMeta 1000 times in a loop. This was to simulate the get() of GS from the OnDemand path. + +== Machine Configuration +[source] +|=== +| Machine| Process| CPUs | Total Memory +|10.213.43.161| NCM|40| 192GB +|10.213.43.161| TC|40| 192GB +|10.213.43.90| ACA node 1| 24| 128GB +|10.213.43.94| ACA node 2| 24| 128GB +|10.213.43.163| Ignite node 1| 40|192GB +|10.213.43.164| Ignite node 2| 40| 192GB +|=== + +All machines have only one disk on line and it appears to be a spinning disk. Having one disk to write both Ignite WAL, and DB puts + +== NCM and Ignite JVM options +[source] + -Djava.net.preferIPv4Stack=true \ + -Xms40G \ + -XX:MaxMetaspaceSize=1G \ + -Xmx40G \ + -XX:NewSize=512m \ + -XX:SurvivorRatio=6 \ + -XX:+AlwaysPreTouch \ + -XX:+UseG1GC \ + -XX:MaxGCPauseMillis=2000 \ + -XX:GCTimeRatio=4 \ + -XX:InitiatingHeapOccupancyPercent=30 \ + -XX:G1HeapRegionSize=33554432 \ + -XX:ParallelGCThreads=8 \ + -XX:ConcGCThreads=8 \ + -XX:G1HeapWastePercent=10 \ + -XX:+UseTLAB \ + -XX:+ScavengeBeforeFullGC \ + -XX:+DisableExplicitGC \ + -XX:+PrintGCDetails \ + -XX:+FlightRecorder \ + -XX:+UnlockDiagnosticVMOptions \ + -XX:+DebugNonSafepoints \ + -Xloggc:/tmp/-gc-log.txt + +== Ignite configuration + +The caches were tested in "OnHeap", "Near Cache", "OnHeap" and "Near Cache" combination and also without Ignite persistence. + +OnHeap means the cache is located inside JVM's own heap. The default is store them outside JVM's heap. Storing outside JVM's heap makes the cache performance less suseptible to the effects of GC but it may cost in serializing and deserializing in and out of JVM's heap. + +Near Cahce is a client side cache maintained by Ignite client library. This avoids network communiacion to the Ignite server if the values are frequently read. + +Ignite transactions are run in Pessimistic mode in combination with Transactional atomictiy mode. Pessimistic tranasaction acquire locks aggressively, reducing concurrency. Transactional atomicity mode means client will have to explicitley start a transaction, do all the work and at the end commit or rollback. Again, this could lead to reduced concurrency. This benchmark is largely signle threaded so Transactional modes have no observable effects on the timings. + +[source] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +== Observations + +=== Logs from the runs +* xref:ncm-2021-07-13-pvrco-near-times.txt[Near Cache with PVRCO change in NCM] +* +* xref:ncm-21-06-21-03.log[NCM log file] +* xref:ncm-21-06-21-03.html[NCM profile data (using async-profiler)] +* xref:run-200p-run-01.nps[Ignite VisualVM profile snapshot] +* xref:syslog-aca-1.log[ACA log from mode 1] +* xref:syslog-aca-2.log[ACA log from mode 2] +* xref:ignite-caches.txt[Ignite caches] +* xref:tc-21-06-21-01.log[Test Controller log] + + +=== Timing analysis. +The following times are from creating two goal states with 100 through 2200 ports each and two with 5000 ports each. TestController was modified to not send GS to ACA or trigger on demand request to excercise just NCM to Ignite latency. + + +|==== +| Log line | Method| Analysis + +|finished getting resource meta from cache| hostResourceMetadataCache.getResourceMeta| Direct call to Ignite. Time ranges from 1 to 29 ms. 29 x 1ms, 25 x 2ms, 14 x 3, 8 x 4ms, 1 x 6ms, 11ms, and 29ms. The time looks reasonably fast. + +|existing is null, finished adding resource meta from cache|hostResourceMetadataCache.addResourceMeta| Direct call to Ignite. Two GS were used and this component of the time is 10ms and 49ms. 49ms comes from 10.213.43.94, which seems to be slower for some reason. + +|existing is NOT null, finished adding resource meta from cache| Direct callto Ignite.| Updates exisitng resource. Times range from 0 to 7ms.With 78 times under 5ms and 5ms and 7ms for two requests, these times also appear to be reasonable. + +|finished processing goalState| processXYZstates| Indirect calls to Ignite. Eight different caches are written to, each through a loop. As number of ports increase, so does this time. It ranges fro 61ms to 5600ms. This time may be optimized by using batch insert (putAll) interface. + +| finished populating vpc resource cache| populateVpcResourceCache| Two calls to Ignite from a loop. Times range from 13,293ms through 468,639ms. This time includes all of the above. This is also very high and batch insert (putAll) could reduce it. + +|retrieved resource meta for vni| vpcResourceCache.getResourceMeta| Time ranges from 1ms to 56,805. 105 out of 175 calls take less than 100ms. This time may also be reduced by putAll. + +|added resource metadata for vpc with vni|vpcResourceCache.addResourceMeta| Time ranges from 1ms to 383ms. This time may also be reduced by putAll. +|==== + + +|==== +| Number of ports in the GoalState|Time to persist ( seconds) + +|100| 13 + +|200| 27 + +|300| 42 + +|400| 54 + +|500| 67 + +|600| 81 + +|700| 94 + +|800| 109 + +|900| 122 + +|1000| 137 + +|1100| 310 + +|1200| 341 + +|1300| 360 + +|1400| 390 + +|1500| 420 + +|1600| 441 + +|1700| 470 + +|1800| 491 + +|1900| 520 + +|2000| 540 + +|2100| 571 + +|2200| 611 +|==== + + + +== Latency Plot + + +image::ncm-inginte-gs-latency.png + +== Update on July 5, 2021 +This update contains all the experiments and observations collected over the last couple of weeks. +One optimization to NCM is to call getResorceMeta in populateVpcResourceCache outside the loops once. Another change was to collect per call timing of getResorceMeta by calling it in a loop. +The data collected include YourKit profiler snapshots of NCM and Ignite and relevant logfiles. + +* xref:Ignite-CPU-hot-spots-200p.html[hotspots in Ignite profile snapshot] +* xref:ncm-CPU-hot-spots-200p.html[hotspots in NCM profile snapshot] +* xref:networkconfigmanager-0.1.0-SNAPSHOT-2021-07-05_01.snapshot[NCM full CPU profiler snapshot, need YourKit to visualize it] +* xref:ignite-ALL-UNNAMED-2021-07-05_1.snapshot[Ignite full CPU profiler snapshot, need YourKit to visualize it] +* xref:getvni-2p.txt[Timings of calling vpcResourceCache.getResourceMeta 1000 times for a 2 port GS] +* xref:ncm-2021-07-02-pvrco-02-2p.log[NCM log of 2 port goal state put/get] +* xref:ncm-2021-07-02-pvrco-2p-prof.log[Same as above but NCM under profiler] +* xref:getvni-100p.txt[Timings of calling vpcResourceCache.getResourceMeta 1000 times for a 100 port GS] +* xref:ncm-2021-07-02-pvrco-02-100p.log[NCM log of 200 port goal state put/get] +* xref:ncm-2021-07-05-pvrco-100p-prof.log[Same as above but NCM under profiler] +* xref:getvni-freq.txt[Histogram of getResourceMeta latencies] + + +The profiler shows that NCM had 28 GC pauses with average pause lasting 12ms to maximum of 44ms. Ignite had 6 GC pauses averaging 46ms per pause and maximum of 70ms. + +Most of the latency is inside the Ignite client which is part of NCM and Ignite server itself. Some of the latency is the network, which will be compurted in next iteration. + +One task is to breakdown the total latency into three components: NCM proper, network, and Ignite proper. +Another experiment is to move VpcResourceCache into JVM heap to measure the effect of serialization and deserialization. + +== Update on July, 20 + +=== VpcResourceMeta.get() times (ms) (5000 ports) + +|=== +|Config/|PVRCO | PVRCO + OnHeap | PVRCO + Near | PVRCO + OnHeap + Near | PVRCO + NoDisk| +|Time | | | | | | + +|Min | 54 |31 |54 | 51 | 79 | + +|Max | 158 |49 |186 |133 |167 | + +|Mode |55 |32 |116 |56 |82 | + +|=== + +These times are not very consistant and vary from run to run. + + +== Conclusions +* Use PutAll interface whenever possible, especailly if cache get and put are from inside a lopp which iterates over a large collection. + +* Do as much work as possible outside Ignite transaction and loops. + +* Try to parallelize DB work. + +* Setup a performance test and run it periodically to monitor the DB performance changes as new code gets added. + +* Approach Gridgain when there is enough data to show the source of latency to be Ignite. + diff --git a/docs/modules/ROOT/pages/performance/run-200p-run-01.nps b/docs/modules/ROOT/pages/performance/run-200p-run-01.nps new file mode 100644 index 000000000..67ba65990 Binary files /dev/null and b/docs/modules/ROOT/pages/performance/run-200p-run-01.nps differ diff --git a/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteClientTransaction.java b/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteClientTransaction.java index d4d3740b1..9ba974d90 100644 --- a/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteClientTransaction.java +++ b/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteClientTransaction.java @@ -28,8 +28,10 @@ free of charge, to any person obtaining a copy of this software and associated d import java.util.logging.Level; +import static org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC; import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC; import static org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE; +import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ; public class IgniteClientTransaction implements Transaction { private static final Logger logger = LoggerFactory.getLogger(); @@ -44,9 +46,9 @@ public IgniteClientTransaction(IgniteClient igniteClient) { @Override public Transaction start() throws CacheException { try{ - clientTransaction = igniteClient.transactions().txStart(PESSIMISTIC, SERIALIZABLE); + clientTransaction = igniteClient.transactions().txStart(OPTIMISTIC, REPEATABLE_READ); } catch (ClientServerError | ClientException e) { - logger.log(Level.WARNING, "IgniteTransaction start error:" + e.getMessage()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "IgniteTransaction start error:" + e.getMessage()); throw new CacheException("IgniteTransaction start error:" + e.getMessage()); } @@ -58,7 +60,7 @@ public void commit() throws CacheException { try{ clientTransaction.commit(); } catch (ClientServerError | ClientException e) { - logger.log(Level.WARNING, "IgniteTransaction commit error:" + e.getMessage()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "IgniteTransaction commit error:" + e.getMessage()); throw new CacheException("IgniteTransaction commit error:" + e.getMessage()); } } @@ -68,7 +70,7 @@ public void rollback() throws CacheException { try{ clientTransaction.rollback(); } catch (ClientServerError | ClientException e) { - logger.log(Level.WARNING, "IgniteTransaction rollback error:" + e.getMessage()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "IgniteTransaction rollback error:" + e.getMessage()); throw new CacheException("IgniteTransaction rollback error:" + e.getMessage()); } } diff --git a/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteConfiguration.java b/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteConfiguration.java index 8d5dd3d0e..4af747762 100644 --- a/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteConfiguration.java +++ b/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteConfiguration.java @@ -94,7 +94,8 @@ public ICacheFactory igniteClientFactoryInstance(){ private IgniteClient getThinIgniteClient() { ClientConfiguration cfg = new ClientConfiguration(); - cfg.setAddresses(host + ":" + port); + cfg.setAddresses(host + ":" + port) + .setPartitionAwarenessEnabled(true); if (keyStorePath != null && keyStorePassword != null && trustStorePath != null && trustStorePassword != null) { diff --git a/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteTransaction.java b/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteTransaction.java index 0aa50bdd6..d28c3ded4 100644 --- a/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteTransaction.java +++ b/lib/src/main/java/com/futurewei/alcor/common/db/ignite/IgniteTransaction.java @@ -25,8 +25,10 @@ free of charge, to any person obtaining a copy of this software and associated d import java.util.logging.Level; +import static org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC; import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC; import static org.apache.ignite.transactions.TransactionIsolation.SERIALIZABLE; +import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ; public class IgniteTransaction implements Transaction { private static final Logger logger = LoggerFactory.getLogger(); @@ -40,7 +42,7 @@ public IgniteTransaction(Ignite client) { @Override public Transaction start() throws CacheException { - transaction = client.transactions().txStart(PESSIMISTIC, SERIALIZABLE); + transaction = client.transactions().txStart(OPTIMISTIC, REPEATABLE_READ); return this; } @@ -49,7 +51,7 @@ public void commit() throws CacheException { try { transaction.commit(); } catch (IgniteException e) { - logger.log(Level.WARNING, "IgniteTransaction commit error:" + e.getMessage()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "IgniteTransaction commit error:" + e.getMessage()); throw new CacheException("IgniteTransaction commit error:" + e.getMessage()); } } @@ -59,7 +61,7 @@ public void rollback() throws CacheException { try { transaction.rollback(); } catch (IgniteException e) { - logger.log(Level.WARNING, "IgniteTransaction rollback error:" + e.getMessage()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "IgniteTransaction rollback error:" + e.getMessage()); throw new CacheException("IgniteTransaction rollback error:" + e.getMessage()); } } @@ -70,7 +72,7 @@ public void close() throws CacheException { try { transaction.close(); } catch (IgniteException e) { - logger.log(Level.WARNING, "IgniteTransaction close error: " + e.getMessage()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "IgniteTransaction close error: " + e.getMessage()); throw new CacheException("IgniteTransaction close error: " + e.getMessage()); } } diff --git a/scripts/ign-ncm-perf/ncm-log-analyzer.sh b/scripts/ign-ncm-perf/ncm-log-analyzer.sh new file mode 100644 index 000000000..2462d5174 --- /dev/null +++ b/scripts/ign-ncm-perf/ncm-log-analyzer.sh @@ -0,0 +1,141 @@ +#! /bin/sh + +if [ -z "$1" ]; then + echo "Need NCM logfile with timings" + exit 1 +fi + +INF=$1 +gawk -F: ' +BEGIN { + i1=0 + i2=0 + i3=0 + i4=0 + i5=0 + i6=0 + i7=0 + i8=0 + i9=0 + i10=0 + i11=0 + i12=0 + i13=0 + i14=0 + i15=0 + + H["finished putting GS into cache, elapsed time in milliseconds"] = "PGSS_FIN_PUT_GS" + H["[getResourceMeta(privateIP)] GRM"]="GRM_PIP" + H["[getResourceMeta(vni)] elapsed time"]="GRM_VNI" + H["finished getting resource meta from cache"]="UGS_FIN_GRM" + H["existing is null, finished adding resource meta from cache"]="UGS_ADD_NEW" + H["existing is NOT null, finished adding resource meta from cache"]="UGS_UPD_OLD" + H["finished processing goalState, elapsed time"]="UGS_FIN_GS_PROC" + H["finished populating vpc resource cache"]="UGS_FIN_VPC_POP" + H["total time, elapsed time in milliseconds"]="UGS_TOT_ET" + H["looped throught the port states for vpc with vni"]="PVRCC_PORT_LOOP" + H["added resource metadata for vpc with vni"]="PVRCC_ARM" +} + +/pushGoalStatesStream : finished putting GS into cache, elapsed time in milliseconds/ { + if ($NF > 0) { + # printf("%s %d\n", "PGSSC", $NF) + T["PGSS_FIN_PUT_GS#", i1++]=$NF + } +} +/[getResourceMeta(privateIP)] GRM: elapsed time:/ { + if ($NF > 0) { + # printf("%s %d\n", "GRM_PIP", $NF) + T["GRM_PIP#", i2++]=$NF + } +} +/[getResourceMeta(vni)] elapsed time:/ { + if ($NF > 0) { + # printf("%s %d\n", "GRM_VNI", $NF) + T["GRM_VNI#", i3++]=$NF + } +} +/finished getting resource meta from cache/ { + if ($NF > 0) { + # printf("%s %d\n", "UGS_GRMC", $NF) + T["UGS_FIN_GRM#", i4++]=$NF + } +} +/existing is null, finished adding resource meta from cache/ { + if ($NNF > 0) { + # printf("%s %d\n", "UGS_ADD_NEW", $NF) + T["UGS_ADD_NEW#", i5++]=$NF + } +} +/existing is NOT null, finished adding resource meta from cache/ { + if ($NF > 0) { + # printf("%s %d\n", "UGS_UPD_OLD", $NF) + T["UGS_UPD_OLD#", i6++]=$NF + } +} +/finished processing goalState, elapsed time/ { + if ($NF > 0) { + # printf("%s %d\n", "UGS_FIN_GS_PROC", $NF) + T["UGS_FIN_GS_PROC#", i7++]=$NF + } +} +/finished populating vpc resource cache/ { + if ($NF > 0) { + # printf("%s %d\n", "UGS_FIN_VPC_POP", $NF) + T["UGS_FIN_VPC_POP#", i8++]=$NF + } +} +/total time, elapsed time in milliseconds/ { + if ($NF > 0) { + # printf("%s %d\n", "UGS_TOT_ET", $NF) + T["UGS_TOT_ET#", i9++]=$NF + } +} +/looped throught the port states for vpc with vni/ { + if ($NF > 0) { + # printf("%s %d\n", "PVRC_LOOP_PORTS", $NF) + T["PVRC_LOOP_PORTS#", i10++]=$NF + } +} +/added resource metadata for vpc with vni/ { + if ($NF > 0) { + # printf("%s %d\n", "PVRC_ARMC", $NF) + T["PVRC_ARMC#", i11++]=$NF + } +} +/after loop, rs_count/ { +# 2021-07-01 18:23:34.229 INFO 29847 --- [ault-executor-0] global : populateVpcResourceCache : after loop, rs_count = 0 elapsed time in milliseconds: 1625189014229 + if ($NF > 0 && $5 !~ /rs_count = 0/) { + # printf("%s %d\n", "PVRC_LOOP_RS", $NF) + T["PVRC_LOOP_RS#", i12++]=$NF + } +} +/populateVpcResourceCache : end,/ { + if ($NF > 0) { + # printf("%s %d\n", "PVRC_END", $NF) + T["PVRC_END#", i13++]=$NF + } +} + +/getVniInLoop/ { + if ($5 !~ /done/ && $NF > 0) { + T["GET_VNI#", i14++]=$NF + } +} + +END { + print "# NCM times from ", FILENAME + for (x in T) { + split(T[x], t, "\034") + di=index(x, "#") + hdr=substr(x, 1, di - 1) + sec=substr(x, di + 1) + si=index(hdr, "\034") + if (si != 0) { + hdr = substr(hdr, 1, si - 1) + sec = substr(sec, si + 1) + } + print hdr, sec, t[1] + + } +}' $INF | tr -d '\034' | sort -k1 diff --git a/scripts/ign-ncm-perf/ncmplot.sh b/scripts/ign-ncm-perf/ncmplot.sh new file mode 100644 index 000000000..2c8513cbf --- /dev/null +++ b/scripts/ign-ncm-perf/ncmplot.sh @@ -0,0 +1,75 @@ +#! /bin/sh + +if [ -z "$1" ]; then + echo "Need ncmstats.sh aggregate output file(s)" + exit 1 +fi + +i=1 +PLOT=plot +NFILES=$# +while [ -n "$1" ]; do + INF=$1 + shift + BASE="`echo $INF | sed 's/\.[a-zA-Z0-9][a-zA-Z0-9].*$//'`" + PORTS="`awk -F: '/^Number of Ports/ {print $2}' $INF`" + + for h in PGSS_FIN_PUT_GS GRM_PIP GRM_VNI UGS_FIN_GRM UGS_ADD_NEW UGS_UPD_OLD UGS_FIN_GS_PROC UGS_FIN_VPC_POP UGS_TOT_ET PVRC_ARMC PVRC_LOOP_RS PVRC_END GET_VNI; do + LC=`awk "/${h}/ {print NF}" $INF | head -1` + echo "BASE $BASE PORTS $PORTS LC $LC" + if [ -z "$LC" ]; then + echo "No times for ${h}..." + continue + elif [ $LC -eq 11 -o $LC -eq 13 ]; then + echo "Found TAG: $h" + true + fi + + echo "Creating plot script for ${H} in $INF" + GPS="gps-${BASE}-${h}.gps" + TITLE="`echo ${BASE}-${h} | sed 's/_/-/'g`" + + cat <<-EOF > $GPS +set terminal svg size 900,600 dynamic mouse standalone enhanced linewidth 1.2 +set title "${TITLE}" +set grid +show grid +set log y +set xlabel "Number of Ports in the Goal State" +set ylabel "Time in milliseconds" +EOF + +if [ $LC -eq 11 ]; then +cat <<-EOF >> %GPS +plot '< sed -n -e "3d" -e "s/^${h}[\t ][\t ]*//p" $INF' \ + using 13:2 with lp title "MIN", \ + '' using 13:3 with lp title "MAX", \ + '' using 13:4 with lp title "AVG", \ + '' using 13:5 with lp title "MED", \ + '' using 13:6 with lp title "STDDEV", \ + '' using 13:7 with lp title "P25", \ + '' using 13:8 with lp title "P75", \ + '' using 13:9 with lp title "P95", \ + '' using 13:10 with lp title "P99" +EOF +elif [ $LC -eq 13 ]; then +cat <<-EOF >> %GPS +plot '< sed -n -e "3d" -e "s/^${h}[\t ][\t ]*//p" $INF' \ + using 13:2 with lp title "MIN", \ + '' using 13:3 with lp title "MAX", \ + '' using 13:4 with lp title "AVG", \ + '' using 13:5 with lp title "MED", \ + '' using 13:6 with lp title "STDDEV", \ + '' using 13:7 with lp title "P25", \ + '' using 13:8 with lp title "P75", \ + '' using 13:9 with lp title "P95", \ + '' using 13:10 with lp title "P99", \ + '' using 13:11 with lp title "MOD", \ + '' using 13:12 with lp title "VAR" +EOF +fi + echo "Running plot for ${h} in $INF" + gnuplot $GPS > ${BASE}-${h}.svg + echo "Generated plot ${BASE}-${h}.svg for ${h} in $INF" + done +done diff --git a/scripts/ign-ncm-perf/ncmstats.sh b/scripts/ign-ncm-perf/ncmstats.sh new file mode 100644 index 000000000..67766ce40 --- /dev/null +++ b/scripts/ign-ncm-perf/ncmstats.sh @@ -0,0 +1,128 @@ +#! /bin/sh + +if [ -z "$1" ]; then + echo "Need NCM one or more logfiles with timings" + exit 1 +elif [ ! -r $1 -o ! -s $1 ]; then + echo "$1 is not readable or empty" + exit 1 +fi + +# trap "rm -f ncm-stats-temp-*.out ncm-stats.m > /dev/null 2>&1" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 + +H1="PGSS_FIN_PUT_GS" +H2="GRM_PIP" +H3="GRM_VNI" +H4="UGS_FIN_GRM" +H5="UGS_ADD_NEW" +H6="UGS_UPD_OLD" +H7="UGS_FIN_GS_PROC" +H8="UGS_FIN_VPC_POP" +H9="UGS_TOT_ET" +H10="PVRC_ARMC" +H11="PVRC_LOOP_RS" +H12="PVRC_END" +H13="GET_VNI" + + +call_octave() { + HDR=$1 + FILE=$2 + PORTS=$3 + OCTOUT=ncm-stats-temp-${HDR}.out + OCTSCRIPT=ncm-stats-temp-${HDR}.m + if [ "${HDR}" = "GET_VNI" ]; then + fgrep "$HDR" $FILE | awk '{if ($2 != 999) print}' | sort -k3 -n | awk '{print $NF}' > ${OCTOUT} 2> /dev/null + else + fgrep "$HDR" $FILE | sort -k3 -n | awk '{print $NF}' > ${OCTOUT} 2> /dev/null + fi + + cat < ${OCTSCRIPT} +v=importdata("${OCTOUT}") +avg=mean(v) +med=median(v) +dev=std(v) +low=min(v) +high=max(v) +p25=prctile(v, 0.25) +p75=prctile(v, 0.75) +p95=prctile(v, 0.95) +p99=prctile(v, .99) +omode=mode(v) +ovar=var(v) +printf("STATS %-20s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f % 12d %12.4f % 12d\n", "$HDR", low, high, avg, med, dev, p25, p75, p95, p99, omode, ovar, $PORTS) +END_TAG_01 + + octave -q ${OCTSCRIPT} 2> /dev/null | sed -n 's/^STATS //p' +} + + +while [ -n "$1" ]; do + INF=$1 + shift + OUT=ncm-stats-temp-summary-${INF}.out + ncm-log-analyzer.sh $INF > $OUT + + STATS="`basename $INF .log`".stats + # NPORTS="`echo $INF | sed 's/.*-\([0-9][0-9]*p\)-.*/\1/' | sed 's/p//'`" + NPORTS="`echo $INF | sed -e 's/^ncm-2021-[0-9][0-9]-[0-9][0-9]-//' -e 's/\([a-zA-Z-]*\)-*//' -e 's/\([0-9][0-9][0-9]*\).*/\1/'`" + IGNOPT="`echo $INF | sed -e 's/^ncm-2021-[0-9][0-9]-[0-9][0-9]-//' -e 's/-[0-9][0-9][0-9][0-9]*p.*//' -e 's/-/ /' | tr '[a-z]' '[A-Z]'`" + IGNOPT="$IGNOPT PVRCO" + cat < $STATS +Summary statistics of NCM times from $INF +Number of Ports : $NPORTS +Optimizations : $IGNOPT + +Time Tag MIN MAX AVG MED STDDEV P25 P75 P95 P99 MOD VAR + +END_TAG_02 + + for h in $H1 $H2 $H3 $H4 $H5 $H6 $H7 $H8 $H9 $H10 $H11 $H12 $H13 $H14; do + call_octave $h ${OUT} ${NPORTS} + done >> ${STATS} + cat <> $STATS + + +Tag description +PGSS_FIN_PUT_GS : Time to update GS by host in a loop (time spent in updateGoalstate method). + [logline] pushGoalStatesStream : finished putting GS into cache. + +GRM_VNI : Time to retrieve ResourceMeta from VpcResourceMeta cache for the VNI. + [logline] getResourceMeta(vni) elapsed time. + +UGS_FIN_GRM : Time to retrieve ResourceMeta from hostResourceMetadataCache for a given hostid (inside updateGoalState method). + [logline] finished getting resource meta from cache. + +UGS_ADD_NEW : Time to put a new ResourceMeta into hostResourceMetadataCache (inside updateGoalState method). + [logline] existing is null, finished adding resource meta from cache. + +UGS_UPD_OLD : Time to put an updated ResourceMeta into hostResourceMetadataCache. + [logilne] existing is NOT null, finished adding resource meta from cache. + +UGS_FIN_GS_PROC : Time to populate ResourceState cache for vpc, subnets, ports etc., (inside updateGoalState). + [logline] finished processing goalState. + +UGS_TOT_ET : Total time spent in UGS_FIN_GRM, UGS_ADD_NEW or UGS_UPD_OLD and UGS_FIN_GS_PROC. + [logline] total time. + +UGS_FIN_VPC_POP : finished populating vpc resource cache. + +PGSS_FIB_TO_DPM : Time to send GS to ACA and DPM (non ondemand) + [logline] pushGoalStatesStream : Replied to DPM, from received to replied + +REQUEST_GS : Time to to retrieve goalstate to sending GS to host. (on demand, includes time from onDemandService.retrieveGoalState) + [logline] From retrieving goalstate to sent goalstate + + +Description of Optimizations: +NEAR : Ignite Near cache maintained in the Microservice address space. +HEAP : On JVM heap, subject to GC but no serialization and deserialization. +PVRCO : NCM - Get the VNI only once. +========================================================================================================================================= + + + +END_TAG_03 + cat ${STATS} + # rm -f ${STATS} > /dev/null 2>&1 +done diff --git a/scripts/ign-ncm-perf/run_tc_ncm.sh b/scripts/ign-ncm-perf/run_tc_ncm.sh new file mode 100644 index 000000000..a8e5a4ec9 --- /dev/null +++ b/scripts/ign-ncm-perf/run_tc_ncm.sh @@ -0,0 +1,297 @@ +#! /bin/sh + +# script to run TC with fake ACA to send GS to NCM and collect +# NCM timings. + + + +IGN1_IP="10.213.43.163" +IGN2_IP="10.213.43.164" +NCM_IP="10.213.43.161" +TC_IP="10.213.43.90" + +NCM_PID=-1 +IGN1_PID=-1 +IGN2_PID=-1 +TC_PID=-1 +IGN_LOG="" +NCM_LOG="" +TC_LOG="" +NCM_SUM_LOG="" +ITER="" + +IGN1_PID=-1 +IGN2_PID=-1 + +SSH_ID="$HOME/.ssh/user90_id_rsa" + +IGNITE_HOME="/home/user/apache-ignite-2.9.1" +ALCOR_HOME="/home/user/alcor-rio" +NCM_CMD="/home/user/bin/runncm.sh" + +SYNTAX="[-h] [-i] [-a] -c igncfg -n niter [ports ...]" +OPTS="hiac:n:" + +Usage() { + echo "Usage: `basename $0` [-h] ignite_config_file num_iter [port sequence]" + echo "default port sequence is 100, 200, 1000, 2000, 3000, 4000, 5000" + echo "NEEDS TO BE RUN ON 10.213.43.90 (same as TC)" + echo "IF RUNNING FROM A DIFFERENT MACHINE, GENERATE RSA KEYS" + echo "AND COPY id_rsa.pub into ~/.ssh/authorized_keys ON" + echo "TO MACHINES RUNNING NCM AND IGNITE." + echo "Ignite should be in $IGNITE_HOME" + echo "Alcor should be in $ALCOR_HOME" + echo "Ignite and Alcor are in different place, adjust the values" + echo "above" + echo +} + +if [ $# -lt 2 -o "$1" = "-h" ]; then + Usage + exit 1 + + exit 1 +fi + +IGNCFG=${IGNITE_HOME}/config/$1 +NUM_ITER=$2 + +if [ $# -ge 3 ]; then + shift + shift + PORTS="$@" +else + PORTS="100 200 500 1000 2000 3000 4000 5000" +fi + +SEC="`date +%s`" +TODAY="`date +%Y-%m-%d`" +IGNOPT="`echo $IGNCFG | sed -e 's/^.*with-//' -e 's/\.xml//'`" +IGNOPT="`echo $IGNOPT | sed 's/[\t -]*txn-*//'`" + +echo "IGNOPT = $IGNOPT" + +start_ignite() { + # Node [id=e8a540de, uptime=00:01:00.007] + # Cluster is active + IP=$1 + if echo "$IP" | fgrep 163; then + NODE="01" + elif echo "$IP" | fgrep 164; then + NODE="02" + else + echo "Unknown Ignite machine, I only know about 10.213.43.{163|164}" + exit 1 + fi + + echo "Starting Ignite on $IP ..." + IGN_LOG="$IGNITE_HOME/ign-${NODE}-${TODAY}-${IGNOPT}-${SEC}.log" + IGN_LOG="`echo ${IGN_LOG} | sed 's/--//g'`" + ssh -i $SSH_ID ${IP} "cd $IGNITE_HOME && bin/ignite.sh -v $IGNCFG > ${IGN_LOG} 2>&1 &" > /dev/null 2>&1 & + + doagain=true + while $doagain ; do + echo "Sleeping for Ignite to start on $IP ..." + sleep 5 + ssh -i $SSH_ID ${IP} "fgrep 'uptime=' $IGN_LOG" > ign-state.tmp + if fgrep 'uptime=' ign-state.tmp > /dev/null 2>&1; then + ssh -i $SSH_ID ${IP} "echo y | $IGNITE_HOME/bin/control.sh --set-state ACTIVE" + ssh -i $SSH_ID $IP "$IGNITE_HOME/bin/control.sh --state" > ign-state.tmp + if fgrep "Cluster is active" ign-state.tmp; then + cat ign-state.tmp + doagain=false + fi + fi + done + + ssh -i $SSH_ID $IP "fgrep 'PID: ' $IGN_LOG | awk -F: '{print \$NF}'" > ign-pid.tmp + if [ ! -s ign-pid.tmp ]; then + echo "Failed to get Ignite PID" + exit 1 + fi + if [ "$NODE" = "01" ]; then + IGN1_PID=`cat ign-pid.tmp` + else + IGN2_PID=`cat ign-pid.tmp` + fi + + echo "*** Ignite on $IP Started" + + return 0 +} + +start_ncm() { + PORT="$1" + SEQ="$2" + NCM_LOG="$ALCOR_HOME/ncm-${TODAY}-${IGNOPT}-${PORT}p-${SEQ}.log" + NCM_SUM_LOG="$ALCOR_HOME/ncm-${TODAY}-${IGNOPT}-${PORT}p.log" + echo "Starting NCM: ports $PORT iteration $SEQ" + ssh -i $SSH_ID $NCM_IP "$NCM_CMD > $NCM_LOG 2>&1&" & + + doagain=true + while $doagain ; do + echo "Sleeping for NCM to start ..." + sleep 5 + ssh -i $SSH_ID $NCM_IP "fgrep 'Server blockUntilShutdown, list' $NCM_LOG" > ncm-state.tmp + if fgrep 'Server blockUntilShutdown, list' ncm-state.tmp; then + doagain=false + else + sleep 5 + fi + done + + ssh -i $SSH_ID $NCM_IP "fgrep 'with PID' $NCM_LOG | sed 's/.*PID \([0-9][0-9]*\) .*$/\1/' | tr -d '\n'" > ncm-state.tmp + if [ ! -s ncm-state.tmp ]; then + echo "Can't find NCM pid" + exit 1 + else + NCM_PID=`cat ncm-state.tmp` + fi + echo "*** NCM Started" + return 0 +} + +start_tc() { + PORT=$1 + SEQ="$2" + TC_LOG="tc-${TODAY}-${IGNOPT}-${PORT}p-${SEQ}.log" + cd /home/user/rpk/alcor/services/pseudo_controller + mvn exec:java -D exec.mainClass=com.futurewei.alcor.pseudo_controller.pseudo_controller -Dexec.args="$PORT 10.213.43.90 10.213.43.94 10.213.43.161 9016 root Huawei@2018" -e > $TC_LOG 2>&1 & + ps aux | grep 'com.futurewei.alcor.pseudo_controller.pseudo_controller' | grep -v grep | awk '{print $2}' > tc-state.tmp + if [ ! -s tc-state.tmp ]; then + echo "TC did not start" + exit 1 + else + TC_PID=`cat tc-state.tmp` + fi + echo "TC Started" +} + +kill_tc() { + kill $TC_PID + SIG="" + doagain=true + while $doagain ; do + sleep 5 + kill $SIG $TC_PID + if [ $? -ne 0 ]; then + doagain=false + else + ps -p $TC_PID > tc-state.tmp + if fgrep $TC_PID tc-state.tmp; then + sleep 5 + SIG="-9" + else + doagain=false + fi + fi + done +} + +kill_proc() { + IP=$1 + PID=$2 + SIG="" + ssh -i $SSH_ID $IP "kill $PID" + doagain=true + while $doagain ; do + sleep 5 + ssh -i $SSH_ID $IP "kill ${SIG} $PID" + ssh -i $SSH_ID $IP "ps -p $PID | grep $PID" > proc-state.tmp + sleep 5 + if fgrep 'No such process' proc-state.tmp; then + doagain=false + else + if fgrep $PID proc-state.tmp > /dev/null 2>&1; then + SIG="-9" + else + doagain=false + fi + fi + done +} + +kill_ignite() { + kill_proc $IGN1_IP $IGN1_PID + kill_proc $IGN2_IP $IGN2_PID +} + +check_ncm_done() { + doagain=true + while $doagain ; do + ssh -i $SSH_ID $NCM_IP "fgrep ' getVniInLoop : done' $NCM_LOG" > ncm-state.tmp + if fgrep ' getVniInLoop : done' ncm-state.tmp; then + sleep 20 + domore=true + while $domore ; do + ssh -i $SSH_ID $NCM_IP "fgrep ' Start expire sessions StandardManager' $NCM_LOG" > ncm-state.tmp + if fgrep ' Start expire sessions StandardManager' ncm-state.tmp; then + domore=false + return 0 + fi + done + fi + done +} + +clear_ncm_sum_log() { + NCM_SUM_LOG="$ALCOR_HOME/ncm-${TODAY}-${IGNOPT}-${p}p.log" + echo "Clearing consolidted log $ncm_sum_log" + echo "ssh -i $SSH_ID $NCM_IP cat /dev/null > $NCM_SUM_LOG" + ssh -i $SSH_ID $NCM_IP "cat /dev/null > $NCM_SUM_LOG" +} + +consolidate_ncm_sum_log() { + NCM_LOG="$ALCOR_HOME/ncm-${TODAY}-${IGNOPT}-${1}p-${2}.log" + NCM_SUM_LOG="$ALCOR_HOME/ncm-${TODAY}-${IGNOPT}-${1}p.log" + echo "Adding $NCM_LOG to consolidated log $NCM_SUM_LOG" + echo "ssh -i $SSH_ID $NCM_IP cat $NCM_LOG >> $NCM_SUM_LOG" + ssh -i $SSH_ID $NCM_IP "cat $NCM_LOG >> $NCM_SUM_LOG" +} + +# run NCM, TC in loop for all the ports +run_tests() { + for p in ${PORTS}; do + clear_ncm_sum_log $p + k=1 + while [ $k -le $NUM_ITER ]; do + iter="`printf "%02d" $k`" + start_ncm $p $iter + if [ $? -ne 0 ]; then + echo "NCM did not start" + exit 1 + fi + + start_tc $p $iter + check_ncm_done + kill_tc + kill_proc $NCM_IP $NCM_PID + k=`expr $k + 1` + JOBS="`jobs`" + echo "JOBS: $JOBS" + consolidate_ncm_sum_log $p $iter + done + done +} + +stop_ignite() { + echo "About to test kill_ignite ..." + sleep 5 + for ip in $IGN1_IP $IGN2_IP; do + kill_ignite $ip + done +} + + +# main +for ip in $IGN1_IP $IGN2_IP; do + start_ignite $ip + if [ $? -ne 0 ]; then + echo "Ignite on $ip did not start" + exit 1 + fi + echo "Ignite started on $ip" +done + +run_tests +stop_ignite diff --git a/scripts/ign-ncm-perf/runncm.sh b/scripts/ign-ncm-perf/runncm.sh new file mode 100644 index 000000000..1ad10651f --- /dev/null +++ b/scripts/ign-ncm-perf/runncm.sh @@ -0,0 +1,40 @@ +#! /bin/sh +OPTS="\ +-Djava.net.preferIPv4Stack=true \ +-Xms40G \ +-XX:MaxMetaspaceSize=1G +-Xmx40G \ +-XX:NewSize=512m \ +-XX:SurvivorRatio=6 \ +-XX:+AlwaysPreTouch \ +-XX:+UseG1GC \ +-XX:MaxGCPauseMillis=2000 \ +-XX:GCTimeRatio=4 \ +-XX:InitiatingHeapOccupancyPercent=30 \ +-XX:G1HeapRegionSize=33554432 \ +-XX:ParallelGCThreads=8 \ +-XX:ConcGCThreads=8 \ +-XX:G1HeapWastePercent=10 \ +-XX:+UseTLAB \ +-XX:+ScavengeBeforeFullGC \ +-XX:+DisableExplicitGC \ +-XX:+PrintGCDetails \ +-XX:+FlightRecorder \ +-XX:+UnlockDiagnosticVMOptions \ +-XX:+DebugNonSafepoints \ +-Xloggc:/tmp/alcor-gc-logs/ncm-11839-gc.log \ +--class-path=/home/user/apache-ignite-2.9.1/libs \ +--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \ +--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \ +--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \ +--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \ +--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \ +--illegal-access=permit \ +--add-opens jdk.management/com.sun.management.internal=ALL-UNNAMED +" + +MSDIR="/home/user/alcor-rio/services" +MSJAR="network_config_manager/target/networkconfigmanager-0.1.0-SNAPSHOT.jar" + + +java ${OPTS} -jar ${MSDIR}/${MSJAR} diff --git a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/cache/VpcResourceCache.java b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/cache/VpcResourceCache.java index 85a6ad968..001b543fe 100644 --- a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/cache/VpcResourceCache.java +++ b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/cache/VpcResourceCache.java @@ -44,13 +44,13 @@ public VpcResourceCache(CacheFactory cacheFactory) { public VpcResourceMeta getResourceMeta(String vni) throws Exception { long sTime = System.currentTimeMillis(); long uMem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); - LOG.log(Level.FINE, "[getResourceMeta(vni)]GRM: time " + sTime + " usedmem1 " + uMem + " vni: " + vni); + //*// PERF_NO_LOG LOG.log(Level.FINE, "[getResourceMeta(vni)]GRM: time " + sTime + " usedmem1 " + uMem + " vni: " + vni); VpcResourceMeta resourceMeta = this.vpcResourceMetas.get(vni); uMem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); long fTime = System.currentTimeMillis() - sTime; - LOG.log(Level.FINE, "[getResourceMeta(vni)]GRM: time " + fTime + " usedmem2 " + uMem); + //*// PERF_NO_LOG LOG.log(Level.FINE, "[getResourceMeta(vni)]GRM: time " + fTime + " usedmem2 " + uMem); return resourceMeta; } diff --git a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/client/gRPC/GoalStateClientImpl.java b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/client/gRPC/GoalStateClientImpl.java index 91bf835c9..a6c02fb32 100644 --- a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/client/gRPC/GoalStateClientImpl.java +++ b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/client/gRPC/GoalStateClientImpl.java @@ -79,11 +79,11 @@ public GoalStateClientImpl(int numberOfGrpcChannelPerHost, int numberOfWarmupsPe } this.monitorHosts = monitorHosts; - logger.log(Level.FINE, "Printing out all monitorHosts"); + //*// PERF_NO_LOG logger.log(Level.FINE, "Printing out all monitorHosts"); for(String host : this.monitorHosts){ - logger.log(Level.FINE, "Monitoring this host: "+ host); + //*// PERF_NO_LOG logger.log(Level.FINE, "Monitoring this host: "+ host); } - logger.log(Level.FINE, "Done printing out all monitorHosts"); + //*// PERF_NO_LOG logger.log(Level.FINE, "Done printing out all monitorHosts"); this.numberOfGrpcChannelPerHost = numberOfGrpcChannelPerHost; this.numberOfWarmupsPerChannel = numberOfWarmupsPerChannel; this.hostAgentPort = 50001; @@ -96,7 +96,7 @@ public GoalStateClientImpl(int numberOfGrpcChannelPerHost, int numberOfWarmupsPe new DefaultThreadFactory("grpc-thread-pool")); //TODO: Setup a connection pool. one ACA, one client. this.hostIpGrpcChannelStubMap = new ConcurrentHashMap(); - logger.log(Level.FINE, "This instance has "+ numberOfGrpcChannelPerHost+" channels, and "+ numberOfWarmupsPerChannel+" warmups"); + //*// PERF_NO_LOG logger.log(Level.FINE, "This instance has "+ numberOfGrpcChannelPerHost+" channels, and "+ numberOfWarmupsPerChannel+" warmups"); } @Override @@ -136,7 +136,7 @@ public List sendGoalStates(Map hostGoalStates) th private GrpcChannelStub getOrCreateGrpcChannel(String hostIp) { if (!this.hostIpGrpcChannelStubMap.containsKey(hostIp)) { this.hostIpGrpcChannelStubMap.put(hostIp, createGrpcChannelStubArrayList(hostIp)); - logger.log(Level.INFO, "[getOrCreateGrpcChannel] Created a channel and stub to host IP: " + hostIp); + //*// PERF_NO_LOG logger.log(Level.INFO, "[getOrCreateGrpcChannel] Created a channel and stub to host IP: " + hostIp); } int usingChannelWithThisIndex = ThreadLocalRandom.current().nextInt(0, numberOfGrpcChannelPerHost); ManagedChannel chan = this.hostIpGrpcChannelStubMap.get(hostIp).get(usingChannelWithThisIndex).channel; @@ -146,9 +146,9 @@ private GrpcChannelStub getOrCreateGrpcChannel(String hostIp) { if (channelState != ConnectivityState.READY && channelState != ConnectivityState.CONNECTING && channelState != ConnectivityState.IDLE) { GrpcChannelStub newChannelStub = createGrpcChannelStub(hostIp); this.hostIpGrpcChannelStubMap.get(hostIp).set(usingChannelWithThisIndex, newChannelStub); - logger.log(Level.INFO, "[getOrCreateGrpcChannel] Replaced a channel and stub to host IP: " + hostIp); + //*// PERF_NO_LOG logger.log(Level.INFO, "[getOrCreateGrpcChannel] Replaced a channel and stub to host IP: " + hostIp); } - logger.log(Level.FINE, "[getOrCreateGrpcChannel] Using channel and stub index " + usingChannelWithThisIndex + " to host IP: " + hostIp); + //*// PERF_NO_LOG logger.log(Level.FINE, "[getOrCreateGrpcChannel] Using channel and stub index " + usingChannelWithThisIndex + " to host IP: " + hostIp); return this.hostIpGrpcChannelStubMap.get(hostIp).get(usingChannelWithThisIndex); } @@ -161,7 +161,7 @@ private ArrayList createGrpcChannelStubArrayList(String hostIp) arr.add(channelStub); } long end = System.currentTimeMillis(); - logger.log(Level.FINE, "[createGrpcChannelStubArrayList] Created " + numberOfGrpcChannelPerHost + " gRPC channel stubs for host " + hostIp + ", elapsed Time in milli seconds: " + (end - start)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[createGrpcChannelStubArrayList] Created " + numberOfGrpcChannelPerHost + " gRPC channel stubs for host " + hostIp + ", elapsed Time in milli seconds: " + (end - start)); return arr; } @@ -172,35 +172,35 @@ void warmUpChannelStub(GrpcChannelStub channelStub, String hostIp) { StreamObserver responseObserver = new StreamObserver<>() { @Override public void onNext(Goalstateprovisioner.GoalStateOperationReply reply) { - logger.log(Level.INFO, "Receive warmup response from ACA@" + hostIp + " | " + reply.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "Receive warmup response from ACA@" + hostIp + " | " + reply.toString()); } @Override public void onError(Throwable t) { - logger.log(Level.WARNING, "Receive warmup error from ACA@" + hostIp + " | " + t.getMessage()); + //*// PERF_NO_LOG logger.log(Level.WARNING, "Receive warmup error from ACA@" + hostIp + " | " + t.getMessage()); } @Override public void onCompleted() { - logger.log(Level.INFO, "Complete receiving warmup message from ACA@" + hostIp); + //*// PERF_NO_LOG logger.log(Level.INFO, "Complete receiving warmup message from ACA@" + hostIp); } }; StreamObserver requestObserver = asyncStub.pushGoalStatesStream(responseObserver); try { Goalstate.GoalStateV2 goalState = Goalstate.GoalStateV2.getDefaultInstance(); - logger.log(Level.INFO, "Sending GS to Host " + hostIp + " as follows | " + goalState.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "Sending GS to Host " + hostIp + " as follows | " + goalState.toString()); for (int i = 0; i < numberOfWarmupsPerChannel; i++) { requestObserver.onNext(goalState); } } catch (RuntimeException e) { // Cancel RPC - logger.log(Level.WARNING, "[doSendGoalState] Sending GS, but error happened | " + e.getMessage()); + //*// PERF_NO_LOG logger.log(Level.WARNING, "[doSendGoalState] Sending GS, but error happened | " + e.getMessage()); requestObserver.onError(e); throw e; } // Mark the end of requests - logger.log(Level.INFO, "Sending warmup GS to Host " + hostIp + " is completed"); + //*// PERF_NO_LOG logger.log(Level.INFO, "Sending warmup GS to Host " + hostIp + " is completed"); return; } @@ -218,40 +218,40 @@ private GrpcChannelStub createGrpcChannelStub(String hostIp) { private void doSendGoalState(HostGoalState hostGoalState) throws InterruptedException { String hostIp = hostGoalState.getHostIp(); - logger.log(Level.FINE, "Setting up a channel to ACA on: " + hostIp); + //*// PERF_NO_LOG logger.log(Level.FINE, "Setting up a channel to ACA on: " + hostIp); long start = System.currentTimeMillis(); GrpcChannelStub channelStub = getOrCreateGrpcChannel(hostIp); long chan_established = System.currentTimeMillis(); - logger.log(Level.FINE, "[doSendGoalState] Established channel, elapsed Time in milli seconds: " + (chan_established - start)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[doSendGoalState] Established channel, elapsed Time in milli seconds: " + (chan_established - start)); GoalStateProvisionerGrpc.GoalStateProvisionerStub asyncStub = channelStub.stub; long stub_established = System.currentTimeMillis(); - logger.log(Level.FINE, "[doSendGoalState] Established stub, elapsed Time after channel established in milli seconds: " + (stub_established - chan_established)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[doSendGoalState] Established stub, elapsed Time after channel established in milli seconds: " + (stub_established - chan_established)); Map> result = new HashMap<>(); StreamObserver responseObserver = new StreamObserver<>() { @Override public void onNext(Goalstateprovisioner.GoalStateOperationReply reply) { - logger.log(Level.INFO, "Receive response from ACA@" + hostIp + " | " + reply.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "Receive response from ACA@" + hostIp + " | " + reply.toString()); result.put(hostIp, reply.getOperationStatusesList()); } @Override public void onError(Throwable t) { - logger.log(Level.WARNING, "Receive error from ACA@" + hostIp + " | " + t.getMessage()); + //*// PERF_NO_LOG logger.log(Level.WARNING, "Receive error from ACA@" + hostIp + " | " + t.getMessage()); } @Override public void onCompleted() { - logger.log(Level.INFO, "Complete receiving message from ACA@" + hostIp); + //*// PERF_NO_LOG logger.log(Level.INFO, "Complete receiving message from ACA@" + hostIp); } }; StreamObserver requestObserver = asyncStub.pushGoalStatesStream(responseObserver); try { Goalstate.GoalStateV2 goalState = hostGoalState.getGoalState(); - logger.log(Level.INFO, "Sending GS to Host " + hostIp + " as follows | " + goalState.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "Sending GS to Host " + hostIp + " as follows | " + goalState.toString()); requestObserver.onNext(goalState); if (hostGoalState.getGoalState().getNeighborStatesCount() == 1 && monitorHosts.contains(hostIp)) { long sent_gs_time = System.currentTimeMillis(); @@ -259,16 +259,16 @@ public void onCompleted() { // hardcoded) this send goalstate action is probably caused by on-demand workflow, need to record when it // sends this goalState so what we can look into this and the ACA log to see how much time was spent. String neighbor_id = hostGoalState.getGoalState().getNeighborStatesMap().keySet().iterator().next(); - logger.log(Level.INFO, "Sending neighbor ID: " + neighbor_id + " at: " + sent_gs_time); + //*// PERF_NO_LOG logger.log(Level.INFO, "Sending neighbor ID: " + neighbor_id + " at: " + sent_gs_time); } } catch (RuntimeException e) { // Cancel RPC - logger.log(Level.WARNING, "[doSendGoalState] Sending GS, but error happened | " + e.getMessage()); + //*// PERF_NO_LOG logger.log(Level.WARNING, "[doSendGoalState] Sending GS, but error happened | " + e.getMessage()); requestObserver.onError(e); throw e; } // Mark the end of requests - logger.log(Level.INFO, "Sending GS to Host " + hostIp + " is completed"); + //*// PERF_NO_LOG logger.log(Level.INFO, "Sending GS to Host " + hostIp + " is completed"); // comment out onCompleted so that the same channel/stub and keep sending next time. // requestObserver.onCompleted(); @@ -280,7 +280,7 @@ private void shutdown(ManagedChannel channel) { try { channel.shutdown().awaitTermination(Config.SHUTDOWN_TIMEOUT, TimeUnit.SECONDS); } catch (InterruptedException e) { - logger.log(Level.WARNING, "Timed out forcefully shutting down connection: {}", e.getMessage()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "Timed out forcefully shutting down connection: {}", e.getMessage()); } } diff --git a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/entity/VpcResourceMeta.java b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/entity/VpcResourceMeta.java index ad1ec7ee4..ca4996273 100644 --- a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/entity/VpcResourceMeta.java +++ b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/entity/VpcResourceMeta.java @@ -50,20 +50,16 @@ public HashMap getResourceMetaMap() { } public ResourceMeta getResourceMeta(String privateIp) { - long sTime = System.currentTimeMillis(); - long uMem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); - LOG.log(Level.FINE, "[getResourceMeta(privateIP)] GRM: time " + sTime + " usedmem1 " + uMem); + //*// PERF_NO_LOG long sTime = System.currentTimeMillis(); ResourceMeta ret = null; if (this.resourceMetaMap != null && this.resourceMetaMap.containsKey(privateIp)) { ret = this.resourceMetaMap.get(privateIp); } - uMem = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); + //*// PERF_NO_LOG long fTime = System.currentTimeMillis() - sTime; - long fTime = System.currentTimeMillis() - sTime; - - LOG.log(Level.FINE, "[getResourceMeta(privateIP)] GRM: time " + fTime + " usedmem2 " + uMem); + // PERF_NO_LOG LOG.log(Level.FINE, "[getResourceMeta(privateIP)] GRM: time " + fTime); return ret; } diff --git a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/server/grpc/GoalStateProvisionerServer.java b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/server/grpc/GoalStateProvisionerServer.java index 3123fa821..3a4b91ceb 100644 --- a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/server/grpc/GoalStateProvisionerServer.java +++ b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/server/grpc/GoalStateProvisionerServer.java @@ -144,7 +144,7 @@ public StreamObserver pushGoalStatesStream(final StreamOb @Override public void onNext(Goalstate.GoalStateV2 value) { - logger.log(Level.INFO, "pushGoalStatesStream : receiving GS V2 message " + value.toString()); + //*?// PERF_NO_LOG logger.log(Level.INFO, "pushGoalStatesStream : receiving GS V2 message " + value.toString()); long start = System.currentTimeMillis(); //prepare GS message based on host @@ -163,26 +163,27 @@ public void onNext(Goalstate.GoalStateV2 value) { } } long end = System.currentTimeMillis(); - logger.log(Level.FINE, "pushGoalStatesStream : finished putting GS into cache, elapsed time in milliseconds: " + + (end-start)); + // PERF:: logger.log(Level.FINE, "pushGoalStatesStream : finished putting GS into cache, elapsed time in milliseconds: " + + (end-start)); + System.out.println("pushGoalStatesStream : finished putting GS into cache, elapsed time in milliseconds: " + (end-start)); // filter neighbor/SG update, and send them down to target ACA - try { - Map filteredGoalStates = NetworkConfigManagerUtil.filterNeighbors(hostGoalStates); - - GoalStateClient grpcGoalStateClient = GoalStateClientImpl.getInstance(numberOfGrpcChannelPerHost, numberOfWarmupsPerChannel, monitorHosts); - - grpcGoalStateClient.sendGoalStates(filteredGoalStates); - } catch (Exception e) { - e.printStackTrace(); - } - - //consolidate response from ACA and send response to DPM - Goalstateprovisioner.GoalStateOperationReply reply = - Goalstateprovisioner.GoalStateOperationReply.newBuilder() - .setFormatVersion(100) - .build(); - responseObserver.onNext(reply); - long end1 = System.currentTimeMillis(); - logger.log(Level.FINE, "pushGoalStatesStream : Replied to DPM, from received to replied, elapsed time in milliseconds: " + + (end1-end)); +//*// PERF_NO_ACA try { +//*// PERF_NO_ACA Map filteredGoalStates = NetworkConfigManagerUtil.filterNeighbors(hostGoalStates); +//*// PERF_NO_ACA +//*// PERF_NO_ACA GoalStateClient grpcGoalStateClient = GoalStateClientImpl.getInstance(numberOfGrpcChannelPerHost, numberOfWarmupsPerChannel, monitorHosts); +//*// PERF_NO_ACA +//*// PERF_NO_ACA grpcGoalStateClient.sendGoalStates(filteredGoalStates); +//*// PERF_NO_ACA } catch (Exception e) { +//*// PERF_NO_ACA e.printStackTrace(); +//*// PERF_NO_ACA } +//*// PERF_NO_ACA +//*// PERF_NO_ACA //consolidate response from ACA and send response to DPM +//*// PERF_NO_ACA Goalstateprovisioner.GoalStateOperationReply reply = +//*// PERF_NO_ACA Goalstateprovisioner.GoalStateOperationReply.newBuilder() +//*// PERF_NO_ACA .setFormatVersion(100) +//*// PERF_NO_ACA .build(); +//*// PERF_NO_ACA responseObserver.onNext(reply); +//*// PERF_NO_ACA long end1 = System.currentTimeMillis(); +//*// PERF_NO_ACA logger.log(Level.FINE, "pushGoalStatesStream : Replied to DPM, from received to replied, elapsed time in milliseconds: " + + (end1-end)); } @Override @@ -208,11 +209,11 @@ public void requestGoalStates(Goalstateprovisioner.HostRequest request, String state_request_uuid = ""; if (request.getStateRequestsList().size() == 1){ state_request_uuid = request.getStateRequests(0).getRequestId(); - logger.log(Level.FINE, "requestGoalStates : received HostRequest with UUID: " + state_request_uuid + " at: " + start); + //*?// PERF_NO_LOG logger.log(Level.FINE, "requestGoalStates : received HostRequest with UUID: " + state_request_uuid + " at: " + start); } - logger.log(Level.INFO, "requestGoalStates : receiving request " + request.toString()); - logger.log(Level.INFO, "requestGoalStates : receiving request list " + request.getStateRequestsList()); - logger.log(Level.INFO, "requestGoalStates : receiving request count" + request.getStateRequestsCount()); + //*?// PERF_NO_LOG logger.log(Level.INFO, "requestGoalStates : receiving request " + request.toString()); + //*?// PERF_NO_LOG logger.log(Level.INFO, "requestGoalStates : receiving request list " + request.getStateRequestsList()); + //*?// PERF_NO_LOG logger.log(Level.INFO, "requestGoalStates : receiving request count" + request.getStateRequestsCount()); ///////////////////////////////////////////////////////////////////////////////////////// // On-Demand Algorithm @@ -236,7 +237,7 @@ public void requestGoalStates(Goalstateprovisioner.HostRequest request, // Step 0: Prepare to retrieve client IP address from gRPC transport String clientIpAddress = this.ipInterceptor.getClientIpAddress(); - logger.log(Level.INFO, "[requestGoalStates] Client IP address = " + clientIpAddress); + //*?// PERF_NO_LOG logger.log(Level.INFO, "[requestGoalStates] Client IP address = " + clientIpAddress); // Step 1: Retrieve GoalState from M2/M3 caches and send it down to target ACA HashSet failedRequestIds = new HashSet<>(); @@ -246,8 +247,7 @@ public void requestGoalStates(Goalstateprovisioner.HostRequest request, HostGoalState hostGoalState = onDemandService.retrieveGoalState(resourceStateRequest, clientIpAddress); if (hostGoalState == null) { - logger.log(Level.WARNING, "[requestGoalStates] No resource found for resource state request " + - resourceStateRequest.toString()); + //*?// PERF_NO_LOG logger.log(Level.WARNING, "[requestGoalStates] No resource found for resource state request " + resourceStateRequest.toString()); failedRequestIds.add(resourceStateRequest.getRequestId()); continue; } @@ -258,24 +258,21 @@ public void requestGoalStates(Goalstateprovisioner.HostRequest request, HostGoalState existingHostGoalState = hostGoalStates.get(hostIp); HostGoalState updatedHostGoalState = NetworkConfigManagerUtil.consolidateHostGoalState(existingHostGoalState, hostGoalState); hostGoalStates.put(hostIp, updatedHostGoalState); - logger.log(Level.INFO, "[requestGoalStates] Same Host IP detected: " + hostIp + - " | existing GS: " + existingHostGoalState.toString() + - " | updated GS: " + updatedHostGoalState.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "[requestGoalStates] Same Host IP detected: " + hostIp + " | existing GS: " + existingHostGoalState.toString() + " | updated GS: " + updatedHostGoalState.toString()); } else { //Case 2: new host hostGoalStates.put(hostIp, hostGoalState); - logger.log(Level.INFO, "[requestGoalStates] New Host IP: " + hostIp + " | GS: ", - hostGoalState.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "[requestGoalStates] New Host IP: " + hostIp + " | GS: ", hostGoalState.toString()); } } GoalStateClient grpcGoalStateClient = GoalStateClientImpl.getInstance(numberOfGrpcChannelPerHost, numberOfWarmupsPerChannel, monitorHosts); long end = System.currentTimeMillis(); - logger.log(Level.FINE, "requestGoalStates : Pushing GS with UUID: " + state_request_uuid + " at: " + end); + //*// PERF_NO_LOG logger.log(Level.FINE, "requestGoalStates : Pushing GS with UUID: " + state_request_uuid + " at: " + end); grpcGoalStateClient.sendGoalStates(hostGoalStates); - logger.log(Level.FINE, "[requestGoalStates] From retrieving goalstate to sent goalstate to host, elapsed Time in milli seconds: "+ (end-start)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[requestGoalStates] From retrieving goalstate to sent goalstate to host, elapsed Time in milli seconds: "+ (end-start)); } catch (Exception e) { - logger.log(Level.SEVERE, "[requestGoalStates] Retrieve from host fails. IP address = " + clientIpAddress); + //*// PERF_NO_LOG logger.log(Level.SEVERE, "[requestGoalStates] Retrieve from host fails. IP address = " + clientIpAddress); e.printStackTrace(); } @@ -306,17 +303,16 @@ public void requestGoalStates(Goalstateprovisioner.HostRequest request, .buildPartial(); } Goalstateprovisioner.HostRequestReply reply = replyBuilder.build(); - logger.log(Level.INFO, "requestGoalStates : generate reply " + reply.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "requestGoalStates : generate reply " + reply.toString()); // Step 3: Send response to target ACAs long end = System.currentTimeMillis(); - logger.log(Level.FINE, "[requestGoalStates] From received hostOperation to before response, elapsed Time in milli seconds: "+ (end-start)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[requestGoalStates] From received hostOperation to before response, elapsed Time in milli seconds: "+ (end-start)); responseObserver.onNext(reply); - logger.log(Level.FINE, "requestGoalStates : replying HostRequest with UUID: " + state_request_uuid + " at: " + end); + //*// PERF_NO_LOG logger.log(Level.FINE, "requestGoalStates : replying HostRequest with UUID: " + state_request_uuid + " at: " + end); responseObserver.onCompleted(); long end1 = System.currentTimeMillis(); - logger.log(Level.FINE, "requestGoalStates : sent on-demand response to ACA | ", - reply.toString() + " took " + (end1-end) + " milliseconds"); + //*// PERF_NO_LOG logger.log(Level.FINE, "requestGoalStates : sent on-demand response to ACA | ", reply.toString() + " took " + (end1-end) + " milliseconds"); } } } diff --git a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/service/impl/GoalStatePersistenceServiceImpl.java b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/service/impl/GoalStatePersistenceServiceImpl.java index 196a8b021..97d088ce8 100644 --- a/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/service/impl/GoalStatePersistenceServiceImpl.java +++ b/services/network_config_manager/src/main/java/com/futurewei/alcor/netwconfigmanager/service/impl/GoalStatePersistenceServiceImpl.java @@ -64,7 +64,8 @@ public boolean updateGoalState(String hostId, HostGoalState hostGoalState) throw long t2 = System.currentTimeMillis(); ResourceMeta latest = NetworkConfigManagerUtil.convertGoalStateToHostResourceMeta( hostId, hostGoalState.getGoalState().getHostResourcesMap().get(hostId)); - logger.log(Level.FINE, "updateGoalstate : hostId: "+hostId+", finished getting resource meta from cache, elapsed time in milliseconds: " + (t2-t1)); + //*// PERF_NO_LOG "updateGoalstate : hostId: "+hostId+", finished getting resource meta from cache, elapsed time in milliseconds: " + (t2-t1)); + System.out.println("updateGoalstate : hostId: "+hostId+", finished getting resource meta from cache, elapsed time in milliseconds: " + (t2-t1)); long t3 = 0l; long t4 = 0l; @@ -72,13 +73,14 @@ public boolean updateGoalState(String hostId, HostGoalState hostGoalState) throw t3 = System.currentTimeMillis(); hostResourceMetadataCache.addResourceMeta(latest); t4 = System.currentTimeMillis(); - logger.log(Level.FINE, "updateGoalstate : hostId: "+hostId+", existing is null, finished adding resource meta from cache, elapsed time in milliseconds: " + (t4-t3)); + //*// PERF_NO_LOG "updateGoalstate : hostId: "+hostId+", existing is null, finished adding resource meta from cache, elapsed time in milliseconds: " + (t4-t3)); + System.out.println("updateGoalstate : hostId: "+hostId+", existing is null, finished adding resource meta from cache, elapsed time in milliseconds: " + (t4-t3)); } else { ResourceMeta updated = NetworkConfigManagerUtil.consolidateResourceMeta(existing, latest); t3 = System.currentTimeMillis(); hostResourceMetadataCache.addResourceMeta(updated); t4 = System.currentTimeMillis(); - logger.log(Level.FINE, "updateGoalstate : hostId: "+hostId+", existing is NOT null, finished adding resource meta from cache, elapsed time in milliseconds: " + (t4-t3)); + System.out.println("updateGoalstate : hostId: "+hostId+", existing is NOT null, finished adding resource meta from cache, elapsed time in milliseconds: " + (t4-t3)); } long t5 = System.currentTimeMillis(); @@ -92,14 +94,17 @@ public boolean updateGoalState(String hostId, HostGoalState hostGoalState) throw processRouterStates(hostGoalState); processGatewayStates(hostGoalState); long t5_plus = System.currentTimeMillis(); - logger.log(Level.FINE, "updateGoalstate : hostId: "+hostId+", finished processing goalState, elapsed time in milliseconds: " + (t5_plus-t5)); + //*// PERF_NO_LOG "updateGoalstate : hostId: "+hostId+", finished processing goalState, elapsed time in milliseconds: " + (t5_plus-t5)); + System.out.println("updateGoalstate : hostId: "+hostId+", finished processing goalState, elapsed time in milliseconds: " + (t5_plus-t5)); // Step 3 populateVpcResourceCache(hostGoalState, vpcIdToVniMap); long t6 = System.currentTimeMillis(); long t_total = (t6 - t5) + (t4 - t3) + (t2 - t1); - logger.log(Level.FINE, "updateGoalstate : hostId: "+hostId+", finished populating vpc resource cache, elapsed time in milliseconds: " + (t6-t5_plus)); - logger.log(Level.FINE, "updateGoalstate : hostId: "+hostId+", total time, elapsed time in milliseconds: " + t_total); + //*// PERF_NO_LOG "updateGoalstate : hostId: "+hostId+", finished populating vpc resource cache, elapsed time in milliseconds: " + (t6-t5_plus)); + System.out.println("updateGoalstate : hostId: "+hostId+", finished populating vpc resource cache, elapsed time in milliseconds: " + (t6-t5_plus)); + //*// PERF_NO_LOG "updateGoalstate : hostId: "+hostId+", total time, elapsed time in milliseconds: " + t_total); + System.out.println("updateGoalstate : hostId: "+hostId+", total time, elapsed time in milliseconds: " + t_total); hostResourceMetadataCache.commit(); return false; @@ -176,7 +181,7 @@ private void processGatewayStates(HostGoalState hostGoalState) throws Exception private void populateVpcResourceCache(HostGoalState hostGoalState, Map vpcIdToVniMap) throws Exception { long start = System.currentTimeMillis(); - logger.log(Level.FINE, "populateVpcResourceCache : beginning"); + //*// PERF_NO_LOG "populateVpcResourceCache : beginning"); Map portStatesMap = hostGoalState.getGoalState().getPortStatesMap(); HashMap vniToVpcReourceMetaDataMap = new HashMap<>(); @@ -233,11 +238,13 @@ private void populateVpcResourceCache(HostGoalState hostGoalState, Map neighborIdSet = vpcResourceMetadata.getNeighborIds(sourceIp, destinationIp, defaultStateProvisionAlgorithm); for (String neighborId : neighborIdSet) { @@ -109,7 +109,8 @@ public HostGoalState retrieveGoalState(Goalstateprovisioner.HostRequest.Resource } long end2 = System.currentTimeMillis(); - logger.log(Level.FINE, "[retrieveGoalState] populated portResourceMetadata with existing neighbors in the same VPC, elapsed Time in milli seconds: "+ (end2-end1)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[retrieveGoalState] populated portResourceMetadata with existing neighbors in the same VPC, elapsed Time in milli seconds: "+ (end2-end1)); + System.out.println("[retrieveGoalState] populated portResourceMetadata with existing neighbors in the same VPC, elapsed Time in milli seconds: "+ (end2-end1)); List resourceMetas = new ArrayList<>() { { @@ -117,16 +118,18 @@ public HostGoalState retrieveGoalState(Goalstateprovisioner.HostRequest.Resource } }; long end3 = System.currentTimeMillis(); - logger.log(Level.FINE, "[retrieveGoalState] added portResourceMetadata in the arrayList, elapsed Time in milli seconds: "+ (end3-end2)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[retrieveGoalState] added portResourceMetadata in the arrayList, elapsed Time in milli seconds: "+ (end3-end2)); + System.out.println("[retrieveGoalState] added portResourceMetadata in the arrayList, elapsed Time in milli seconds: "+ (end3-end2)); Goalstate.GoalStateV2 goalState = retrieveResourceState(resourceMetas); if (goalState == null) { - logger.log(Level.INFO, "[retrieveGoalState] retrieved goal state is null"); + //*// PERF_NO_LOG logger.log(Level.INFO, "[retrieveGoalState] retrieved goal state is null"); + //*// PERF_NO_LOG logger.log(Level.INFO, "[retrieveGoalState] retrieved goal state is null"); return null; } HostGoalState hostGoalState = new HostGoalState(hostIpAddress, goalState); - logger.log(Level.INFO, "[retrieveGoalState] retrieved goal state = " + hostGoalState.toString()); + //*// PERF_NO_LOG logger.log(Level.INFO, "[retrieveGoalState] retrieved goal state = " + hostGoalState.toString()); return hostGoalState; } @@ -172,7 +175,8 @@ public Goalstate.GoalStateV2 retrieveResourceState(List resourceMe } long end = System.currentTimeMillis(); - logger.log(Level.FINE, "[retrieveGoalState] Got GS from Ignite, elapsed Time in milli seconds: "+ (end-start)); + //*// PERF_NO_LOG logger.log(Level.FINE, "[retrieveGoalState] Got GS from Ignite, elapsed Time in milli seconds: "+ (end-start)); + System.out.println("[retrieveGoalState] Got GS from Ignite, elapsed Time in milli seconds: "+ (end-start)); return builder.build(); } } diff --git a/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/processor/FixedIpsProcessor.java b/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/processor/FixedIpsProcessor.java index f22eb58cb..f25a5d97d 100644 --- a/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/processor/FixedIpsProcessor.java +++ b/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/processor/FixedIpsProcessor.java @@ -15,6 +15,7 @@ free of charge, to any person obtaining a copy of this software and associated d */ package com.futurewei.alcor.portmanager.processor; +import com.futurewei.alcor.common.db.CacheException; import com.futurewei.alcor.portmanager.entity.SubnetRoute; import com.futurewei.alcor.portmanager.exception.AllocateIpAddrException; import com.futurewei.alcor.portmanager.exception.UpdatePortIpException; @@ -263,6 +264,7 @@ private void fetchSubnetForAddCallBack(IRestRequest request) throws Exception { for (PortEntity portEntity : context.getPortEntities()) { for (PortEntity.FixedIp fixedIp : portEntity.getFixedIps()) { for (SubnetEntity subnetEntity : subnetEntities) { + context.getPortRepository().createSubnetCache(fixedIp.getSubnetId()); if(fixedIp.getSubnetId().equals(subnetEntity.getId())){ fixedIp.setIpV4RangeId(subnetEntity.getIpV4RangeId()); } diff --git a/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/PortRepository.java b/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/PortRepository.java index dea0c4e82..0a975ecb8 100644 --- a/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/PortRepository.java +++ b/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/PortRepository.java @@ -60,7 +60,8 @@ public PortRepository(ICache portCache, ICache findAllPortEntities(Map queryPa @DurationStatistics public synchronized void createPortAndNeighbor(PortEntity portEntity, NeighborInfo neighborInfo) throws Exception { try (Transaction tx = portCache.getTransaction().start()) { - //Add portEntity to portCache - portCache.put(portEntity.getId(), portEntity); - //Add neighborInfo to neighborCache if (neighborInfo != null) { PortNeighbors portNeighbors = neighborCache.get(portEntity.getVpcId()); @@ -105,6 +103,9 @@ public synchronized void createPortAndNeighbor(PortEntity portEntity, NeighborIn neighborCache.put(portEntity.getVpcId(), portNeighbors); } + //Add portEntity to portCache + portCache.put(portEntity.getId(), portEntity); + tx.commit(); } } @@ -113,9 +114,6 @@ public synchronized void createPortAndNeighbor(PortEntity portEntity, NeighborIn @Deprecated public synchronized void updatePortAndNeighbor(PortEntity portEntity, NeighborInfo neighborInfo) throws Exception { try (Transaction tx = portCache.getTransaction().start()) { - //Update portEntity to portCache - portCache.put(portEntity.getId(), portEntity); - //Update neighborInfo to neighborCache PortNeighbors portNeighbors = neighborCache.get(portEntity.getVpcId()); if (portNeighbors == null) { @@ -137,6 +135,9 @@ public synchronized void updatePortAndNeighbor(PortEntity portEntity, NeighborIn neighborCache.put(portEntity.getVpcId(), portNeighbors); } + //Update portEntity to portCache + portCache.put(portEntity.getId(), portEntity); + tx.commit(); } } @@ -144,13 +145,10 @@ public synchronized void updatePortAndNeighbor(PortEntity portEntity, NeighborIn @DurationStatistics @Deprecated public synchronized void createPortAndNeighborBulk(List portEntities, Map> neighbors) throws Exception { + Map portEntityMap = portEntities + .stream() + .collect(Collectors.toMap(PortEntity::getId, Function.identity())); try (Transaction tx = portCache.getTransaction().start()) { - //Add portEntities to portCache - Map portEntityMap = portEntities - .stream() - .collect(Collectors.toMap(PortEntity::getId, Function.identity())); - portCache.putAll(portEntityMap); - //Add neighborInfos to neighborCache if (neighbors != null) { for (Map.Entry> entry : neighbors.entrySet()) { @@ -170,6 +168,9 @@ public synchronized void createPortAndNeighborBulk(List portEntities } } + //Add portEntities to portCache + portCache.putAll(portEntityMap); + tx.commit(); } } @@ -177,13 +178,10 @@ public synchronized void createPortAndNeighborBulk(List portEntities @DurationStatistics @Deprecated public synchronized void updatePortAndNeighborBulk(List portEntities, Map> neighbors) throws Exception { + Map portEntityMap = portEntities + .stream() + .collect(Collectors.toMap(PortEntity::getId, Function.identity())); try (Transaction tx = portCache.getTransaction().start()) { - //Update portEntities to portCache - Map portEntityMap = portEntities - .stream() - .collect(Collectors.toMap(PortEntity::getId, Function.identity())); - portCache.putAll(portEntityMap); - Map> vpcPorts = new HashMap<>(); for (PortEntity portEntity : portEntities) { if (!vpcPorts.containsKey(portEntity.getVpcId())) { @@ -224,6 +222,9 @@ public synchronized void updatePortAndNeighborBulk(List portEntities } } + //Update portEntities to portCache + portCache.putAll(portEntityMap); + tx.commit(); } @@ -233,9 +234,8 @@ public synchronized void updatePortAndNeighborBulk(List portEntities @Deprecated public synchronized void deletePortAndNeighbor(PortEntity portEntity) throws Exception { try (Transaction tx = portCache.getTransaction().start()) { - //Delete portEntity from portCache + String portId = portEntity.getId(); - portCache.remove(portId); //Delete neighborInfo from neighborCache PortNeighbors portNeighbors = neighborCache.get(portEntity.getVpcId()); @@ -244,6 +244,9 @@ public synchronized void deletePortAndNeighbor(PortEntity portEntity) throws Exc neighborCache.put(portNeighbors.getVpcId(), portNeighbors); } + //Delete portEntity from portCache + portCache.remove(portId); + tx.commit(); } } @@ -262,23 +265,32 @@ public PortNeighbors getPortNeighbors(Object arg) throws CacheException { @DurationStatistics public synchronized void createPortBulk(List portEntities, Map> neighbors) throws Exception { - try (Transaction tx = portCache.getTransaction().start()) { - Map portEntityMap = portEntities - .stream() - .collect(Collectors.toMap(PortEntity::getId, Function.identity())); - portCache.putAll(portEntityMap); + Map portEntityMap = portEntities + .stream() + .collect(Collectors.toMap(PortEntity::getId, Function.identity())); + Transaction tx = null; + try { + long txTime1 = System.currentTimeMillis(); + tx = portCache.getTransaction().start(); + long txTime2 = System.currentTimeMillis(); + System.out.println("createPortBulk TXWAIT " + Thread.currentThread().getId() + " " + (txTime2 - txTime1)); neighborRepository.createNeighbors(neighbors); subnetPortsRepository.addSubnetPortIds(portEntities); + portCache.putAll(portEntityMap); tx.commit(); } + catch (Exception e) { + System.out.println("createPortBulk TXFAIL " + Thread.currentThread().getId() + " : " + e.getMessage()); + tx.rollback(); + } } @DurationStatistics public synchronized void updatePort(PortEntity oldPortEntity, PortEntity newPortEntity, List neighborInfos) throws Exception { try (Transaction tx = portCache.getTransaction().start()) { - portCache.put(newPortEntity.getId(), newPortEntity); neighborRepository.updateNeighbors(oldPortEntity, neighborInfos); subnetPortsRepository.updateSubnetPortIds(oldPortEntity, newPortEntity); + portCache.put(newPortEntity.getId(), newPortEntity); tx.commit(); } } @@ -286,9 +298,9 @@ public synchronized void updatePort(PortEntity oldPortEntity, PortEntity newPort @DurationStatistics public synchronized void deletePort(PortEntity portEntity) throws Exception { try (Transaction tx = portCache.getTransaction().start()) { - portCache.remove(portEntity.getId()); neighborRepository.deleteNeighbors(portEntity); subnetPortsRepository.deleteSubnetPortIds(portEntity); + portCache.remove(portEntity.getId()); tx.commit(); } } @@ -302,4 +314,9 @@ public Map getNeighbors(String vpcId) throws CacheExceptio public int getSubnetPortCount(String subnetId) throws CacheException { return subnetPortsRepository.getSubnetPortNumber(subnetId); } + + @DurationStatistics + public void createSubnetCache(String subnetId) throws CacheException { + subnetPortsRepository.createSubnetCache(subnetId); + } } diff --git a/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/SubnetPortsRepository.java b/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/SubnetPortsRepository.java index dc7aee7e4..9bac443fb 100644 --- a/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/SubnetPortsRepository.java +++ b/services/port_manager/src/main/java/com/futurewei/alcor/portmanager/repo/SubnetPortsRepository.java @@ -19,9 +19,11 @@ free of charge, to any person obtaining a copy of this software and associated d import com.futurewei.alcor.common.db.CacheFactory; import com.futurewei.alcor.common.db.ICache; import com.futurewei.alcor.common.stats.DurationStatistics; +import com.futurewei.alcor.common.utils.CommonUtil; import com.futurewei.alcor.portmanager.entity.SubnetPortIds; import com.futurewei.alcor.portmanager.exception.FixedIpsInvalid; import com.futurewei.alcor.web.entity.port.PortEntity; +import org.apache.ignite.configuration.CacheConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,8 +42,9 @@ public SubnetPortsRepository(CacheFactory cacheFactory) { this.subnetPortIdsCache= cacheFactory.getCache(SubnetPortIds.class); } - private List getSubnetPortIds(List portEntities) { - Map subnetPortIdsMap = new HashMap<>(); + + public void addSubnetPortIds(List portEntities) throws Exception { + //Store the mapping between subnet id and port id for (PortEntity portEntity: portEntities) { if (GATEWAY_PORT_DEVICE_OWNER.equals(portEntity.getDeviceOwner())) { continue; @@ -55,35 +58,10 @@ private List getSubnetPortIds(List portEntities) { for (PortEntity.FixedIp fixedIp: fixedIps) { String subnetId = fixedIp.getSubnetId(); - if (!subnetPortIdsMap.containsKey(subnetId)) { - SubnetPortIds subnetPortIds = new SubnetPortIds(subnetId, new HashSet<>()); - subnetPortIdsMap.put(subnetId, subnetPortIds); - } - - subnetPortIdsMap.get(subnetId).getPortIds().add(portEntity.getId()); - } - } - - return new ArrayList<>(subnetPortIdsMap.values()); - } - - - public void addSubnetPortIds(List portEntities) throws Exception { - //Store the mapping between subnet id and port id - List subnetPortIdsList = getSubnetPortIds(portEntities); - - for (SubnetPortIds item: subnetPortIdsList) { - String subnetId = item.getSubnetId(); - Set portIds = item.getPortIds(); - - SubnetPortIds subnetPortIds = subnetPortIdsCache.get(subnetId); - if (subnetPortIds == null) { - subnetPortIds = new SubnetPortIds(subnetId, new HashSet<>(portIds)); - } else { - subnetPortIds.getPortIds().addAll(portIds); + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(subnetId); + ICache cache = cacheFactory.getCache(String.class, cfg); + cache.put(portEntity.getId(), "1"); } - - subnetPortIdsCache.put(subnetId, subnetPortIds); } } @@ -94,37 +72,28 @@ public void updateSubnetPortIds(PortEntity oldPortEntity, PortEntity newPortEnti throw new FixedIpsInvalid(); } - List oldSubnetIds = oldPortEntity.getFixedIps().stream() - .map(PortEntity.FixedIp::getSubnetId) - .collect(Collectors.toList()); - - List newSubnetIds = oldPortEntity.getFixedIps().stream() - .map(PortEntity.FixedIp::getSubnetId) - .collect(Collectors.toList()); - - if (!oldSubnetIds.equals(newSubnetIds)) { - //Delete port ids from subnetPortIdsCache - for (String subnetId: oldSubnetIds) { - SubnetPortIds subnetPortIds = subnetPortIdsCache.get(subnetId); - if (subnetPortIds != null) { - subnetPortIds.getPortIds().remove(oldPortEntity.getId()); - subnetPortIdsCache.put(subnetId, subnetPortIds); - } - } + if (GATEWAY_PORT_DEVICE_OWNER.equals(oldPortEntity.getDeviceOwner()) || GATEWAY_PORT_DEVICE_OWNER.equals(newPortEntity.getDeviceOwner())) { + return; + } - //Add new port ids to subnetPortIdsCache - for (String subnetId: newSubnetIds) { - SubnetPortIds subnetPortIds = subnetPortIdsCache.get(subnetId); - if (subnetPortIds != null) { - subnetPortIds.getPortIds().add(newPortEntity.getId()); - } else { - Set portIds = new HashSet<>(); - portIds.add(newPortEntity.getId()); - subnetPortIds = new SubnetPortIds(subnetId, portIds); - } - subnetPortIdsCache.put(subnetId, subnetPortIds); + oldPortEntity.getFixedIps().forEach(item -> { + try { + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(item.getSubnetId()); + ICache cache = cacheFactory.getCache(String.class, cfg); + cache.remove(oldPortEntity.getId()); + } catch (CacheException e) { + e.printStackTrace(); + } + }); + newPortEntity.getFixedIps().forEach(item -> { + try { + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(item.getSubnetId()); + ICache cache = cacheFactory.getCache(String.class, cfg); + cache.put(newPortEntity.getId(), "1"); + } catch (CacheException e) { + e.printStackTrace(); } - } + }); } public void deleteSubnetPortIds(PortEntity portEntity) throws Exception { @@ -138,22 +107,26 @@ public void deleteSubnetPortIds(PortEntity portEntity) throws Exception { .collect(Collectors.toList()); //Delete port ids from subnetPortIdsCache - for (String subnetId: subnetIds) { - SubnetPortIds subnetPortIds = subnetPortIdsCache.get(subnetId); - if (subnetPortIds != null) { - subnetPortIds.getPortIds().remove(portEntity.getId()); - subnetPortIdsCache.put(subnetId, subnetPortIds); + portEntity.getFixedIps().forEach(item -> { + try { + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(item.getSubnetId()); + ICache cache = cacheFactory.getCache(String.class, cfg); + cache.remove(portEntity.getId()); + } catch (Exception e) { + e.printStackTrace(); } - } + }); } @DurationStatistics public int getSubnetPortNumber(String subnetId) throws CacheException { - SubnetPortIds subnetPortIds = subnetPortIdsCache.get(subnetId); - if (subnetPortIds == null) { - return 0; - } + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(subnetId); + return (int)cacheFactory.getCache(String.class, cfg).size(); + } - return subnetPortIds.getPortIds().size(); + @DurationStatistics + public void createSubnetCache(String subnetId) throws CacheException { + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(subnetId); + cacheFactory.getCache(String.class, cfg); } } diff --git a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/controller/IpAddrController.java b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/controller/IpAddrController.java index 3a1dca24f..510416205 100644 --- a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/controller/IpAddrController.java +++ b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/controller/IpAddrController.java @@ -28,6 +28,7 @@ free of charge, to any person obtaining a copy of this software and associated d import java.math.BigInteger; import java.util.List; +import java.util.Map; @RestController @@ -218,8 +219,8 @@ public IpAddrRangeRequest createIpAddrRange(@RequestBody IpAddrRangeRequest requ @DeleteMapping("/ips/range/{range_id}") @ResponseBody @DurationStatistics - public void deleteIpAddrRange(@PathVariable("range_id") String rangeId) throws Exception { - ipAddrService.deleteIpAddrRange(rangeId); + public void deleteIpAddrRange(@PathVariable("range_id") String rangeId, @RequestParam String vpcId) throws Exception { + ipAddrService.deleteIpAddrRange(rangeId, vpcId); } @GetMapping("/ips/range/{range_id}") diff --git a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/entity/IpAddrRange.java b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/entity/IpAddrRange.java index c0122e703..d7ae91fed 100644 --- a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/entity/IpAddrRange.java +++ b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/entity/IpAddrRange.java @@ -41,7 +41,6 @@ public class IpAddrRange { private long usedIps; private long totalIps; private IpAddrAllocator allocator; - private Map ips; public IpAddrRange(String id, String vpcId, String subnetId, int ipVersion, String firstIp, String lastIp) { this.id = id; @@ -50,7 +49,6 @@ public IpAddrRange(String id, String vpcId, String subnetId, int ipVersion, Stri this.ipVersion = ipVersion; this.firstIp = firstIp; this.lastIp = lastIp; - this.ips = new HashMap<>(); if (ipVersion == IpVersion.IPV4.getVersion()) { long firstIpLong = Ipv4AddrUtil.ipv4ToLong(firstIp); @@ -69,26 +67,26 @@ public IpAddrRange(String id, String vpcId, String subnetId, int ipVersion, Stri //allocatedIps = new HashMap<>(); } - private void updateUsedIps() { - usedIps = ips.size(); + private void updateUsedIps(ICache ipAddrCache) { + usedIps = ipAddrCache.size(); } - public IpAddrAlloc allocate(String ip) throws Exception { - if (ip != null && ips.get(ip) != null) { + public IpAddrAlloc allocate(ICache ipAddrCache, String ip) throws Exception { + if (ip != null && ipAddrCache.get(ip) != null) { throw new IpAddrConflictException(); } String ipAddr = allocator.allocate(ip); IpAddrAlloc ipAddrAlloc = new IpAddrAlloc(ipVersion, subnetId, id, ipAddr, IpAddrState.ACTIVATED.getState()); - ips.put(ipAddr, ipAddrAlloc); - updateUsedIps(); + ipAddrCache.put(ipAddr, ipAddrAlloc); + updateUsedIps(ipAddrCache); return ipAddrAlloc; } @Deprecated - public List allocateBulk(int num) throws Exception { + public List allocateBulk(ICache ipAddrCache, int num) throws Exception { List ipAddrList = allocator.allocateBulk(num); List ipAddrAllocs = new ArrayList<>(); Map ipAddrAllocMap = new HashMap<>(); @@ -100,17 +98,17 @@ public List allocateBulk(int num) throws Exception { ipAddrAllocMap.put(ipAddr, ipAddrAlloc); } - ips.putAll(ipAddrAllocMap); - updateUsedIps(); + ipAddrCache.putAll(ipAddrAllocMap); + updateUsedIps(ipAddrCache); return ipAddrAllocs; } - public List allocateBulk(List ipAddrList) throws Exception { + public List allocateBulk(ICache ipAddrCache, List ips) throws Exception { List ipAddrAllocList = new ArrayList<>(); Map ipAddrAllocMap = new HashMap<>(); - for (String ip: ipAddrList) { + for (String ip: ips) { String ipAddr; try { ipAddr = allocator.allocate(ip); @@ -126,15 +124,15 @@ public List allocateBulk(List ipAddrList) throws Exception } if (ipAddrAllocMap.size() > 0) { - ips.putAll(ipAddrAllocMap); - updateUsedIps(); + ipAddrCache.putAll(ipAddrAllocMap); + updateUsedIps(ipAddrCache); } return ipAddrAllocList; } - public void modifyIpAddrState(String ipAddr, String state) throws Exception { - IpAddrAlloc ipAddrAlloc = ips.get(ipAddr); + public void modifyIpAddrState(ICache ipAddrCache, String ipAddr, String state) throws Exception { + IpAddrAlloc ipAddrAlloc = ipAddrCache.get(ipAddr); if (ipAddrAlloc == null) { throw new IpAddrAllocNotFoundException(); } @@ -144,33 +142,33 @@ public void modifyIpAddrState(String ipAddr, String state) throws Exception { } } - public void release(String ipAddr) throws Exception { - if (ips.get(ipAddr) == null) { + public void release(ICache ipAddrCache, String ipAddr) throws Exception { + if (ipAddrCache.get(ipAddr) == null) { throw new IpAddrAllocNotFoundException(); } allocator.release(ipAddr); - ips.remove(ipAddr); + ipAddrCache.remove(ipAddr); - updateUsedIps(); + updateUsedIps(ipAddrCache); } - public void releaseBulk(List ipAddrList) throws Exception { + public void releaseBulk(ICache ipAddrCache, List ipAddrList) throws Exception { allocator.releaseBulk(ipAddrList); for (String ipAddr: ipAddrList) { - if (ips.get(ipAddr) == null) { + if (ipAddrCache.get(ipAddr) == null) { throw new IpAddrAllocNotFoundException(); } //TODO:support remove all - ips.remove(ipAddr); + ipAddrCache.remove(ipAddr); } - updateUsedIps(); + updateUsedIps(ipAddrCache); } - public IpAddrAlloc getIpAddr(String ipAddr) throws Exception { - IpAddrAlloc ipAddrAlloc = ips.get(ipAddr); + public IpAddrAlloc getIpAddr(ICache ipAddrCache, String ipAddr) throws Exception { + IpAddrAlloc ipAddrAlloc = ipAddrCache.get(ipAddr); if (ipAddrAlloc != null) { return ipAddrAlloc; } @@ -182,8 +180,8 @@ public IpAddrAlloc getIpAddr(String ipAddr) throws Exception { throw new IpAddrInvalidException(); } - public Collection getIpAddrBulk() throws CacheException { - return ips.values(); + public Collection getIpAddrBulk(ICache ipAddrCache) throws CacheException { + return ipAddrCache.getAll().values(); } public int getIpVersion() { diff --git a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/repo/IpAddrRangeRepo.java b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/repo/IpAddrRangeRepo.java index 3f0c8ecb9..96e2417bb 100644 --- a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/repo/IpAddrRangeRepo.java +++ b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/repo/IpAddrRangeRepo.java @@ -21,15 +21,16 @@ free of charge, to any person obtaining a copy of this software and associated d import com.futurewei.alcor.common.db.Transaction; import com.futurewei.alcor.common.db.repo.ICacheRepository; import com.futurewei.alcor.common.stats.DurationStatistics; +import com.futurewei.alcor.common.utils.CommonUtil; import com.futurewei.alcor.privateipmanager.entity.IpAddrAlloc; import com.futurewei.alcor.privateipmanager.entity.IpAddrRange; import com.futurewei.alcor.privateipmanager.entity.VpcIpRange; import com.futurewei.alcor.privateipmanager.exception.*; +import com.futurewei.alcor.web.entity.dataplane.NeighborInfo; import com.futurewei.alcor.web.entity.ip.IpAddrRangeRequest; import com.futurewei.alcor.web.entity.ip.IpAddrRequest; import com.futurewei.alcor.web.entity.ip.IpAddrUpdateRequest; import com.futurewei.alcor.web.entity.ip.IpVersion; -import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.configuration.CacheConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,9 +49,11 @@ public class IpAddrRangeRepo implements ICacheRepository { private ICache ipAddrRangeCache; private ICache vpcIpRangeCache; + private CacheFactory cacheFactory; @Autowired public IpAddrRangeRepo(CacheFactory cacheFactory) { + this.cacheFactory = cacheFactory; ipAddrRangeCache = cacheFactory.getCache(IpAddrRange.class); vpcIpRangeCache = cacheFactory.getCache(VpcIpRange.class); } @@ -142,8 +145,6 @@ public synchronized void deleteItem(String rangeId) { } } - - private IpAddrAlloc doAllocateIpAddr(String vpcId, int ipVersion, String ipAddr) throws Exception { VpcIpRange vpcIpRange = vpcIpRangeCache.get(vpcId); if (vpcIpRange == null) { @@ -151,31 +152,37 @@ private IpAddrAlloc doAllocateIpAddr(String vpcId, int ipVersion, String ipAddr) } IpAddrAlloc ipAddrAlloc = null; + IpAddrRange ipAddrRange = null; for (String rangeId: vpcIpRange.getRanges()) { if (ipAddrAlloc != null) { break; } - IpAddrRange ipAddrRange = ipAddrRangeCache.get(rangeId); + ipAddrRange = ipAddrRangeCache.get(rangeId); if (ipAddrRange == null) { throw new IpRangeNotFoundException(); } - if (ipAddrRange.getIpVersion() != ipVersion) { + if (ipAddrRange.getIpVersion() != ipVersion || ipAddrRange.getUsedIps() == ipAddrRange.getTotalIps()) { continue; } - try { - ipAddrAlloc = ipAddrRange.allocate(ipAddr); - } catch (Exception e) { - LOG.warn("Allocate ip address from {} failed", ipAddrRange.getId()); - continue; - } + } - ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); - break; + if (ipAddrRange == null) { + throw new IpRangeNotFoundException(); } + try { + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(ipAddrRange.getId())); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + ipAddrAlloc = ipAddrRange.allocate(ipAddrCache, ipAddr); + } catch (Exception e) { + throw e; + } + + ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); + if (ipAddrAlloc == null) { throw new IpAddrNotEnoughException(); } @@ -191,16 +198,15 @@ private IpAddrAlloc doAllocateIpAddr(String vpcId, int ipVersion, String ipAddr) */ @DurationStatistics public synchronized IpAddrAlloc allocateIpAddr(IpAddrRequest request) throws Exception { - IpAddrAlloc ipAddrAlloc = null; try (Transaction tx = ipAddrRangeCache.getTransaction().start()) { - ipAddrAlloc = allocateIpAddrMethod(request); + IpAddrAlloc ipAddrAlloc = allocateIpAddrMethod(request); tx.commit(); return ipAddrAlloc; } catch (Exception e) { LOG.warn("Transaction exception: "); LOG.warn(e.getMessage()); + throw e; } - return ipAddrAlloc; } /** @@ -221,7 +227,10 @@ public synchronized Map> allocateIpAddrBulk(Map ipAddrAllocs = ipAddrRange.allocateBulk(entry.getValue()); + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(ipAddrRange.getId())); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + + List ipAddrAllocs = ipAddrRange.allocateBulk(ipAddrCache, entry.getValue()); ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); result.put(entry.getKey(), ipAddrAllocs); @@ -231,6 +240,7 @@ public synchronized Map> allocateIpAddrBulk(Map doAllocateIpAddr(String rangeId, List i throw new IpRangeNotFoundException(); } + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(rangeId)); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + List ips = ipRequests.stream() .map(IpAddrRequest::getIp) .collect(Collectors.toList()); - List result = ipAddrRange.allocateBulk(ips); + List result = ipAddrRange.allocateBulk(ipAddrCache, ips); ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); return result; @@ -275,7 +288,10 @@ private List doAllocateIpAddr(String vpcId, int ipVersion, List ipAddrAllocs = ipAddrRange.allocateBulk(requestIps); + + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(rangeId)); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + List ipAddrAllocs = ipAddrRange.allocateBulk(ipAddrCache, requestIps); if (ipAddrAllocs.size() > 0) { @@ -303,6 +319,7 @@ public synchronized List allocateIpAddrBulk(Map ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + + ipAddrRange.modifyIpAddrState(ipAddrCache, ipAddr, state); ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); tx.commit(); } catch (Exception e) { LOG.warn("Transaction exception: "); LOG.warn(e.getMessage()); + throw e; } } @@ -334,6 +355,7 @@ public synchronized void releaseIpAddr(String rangeId, String ipAddr) throws Exc } catch (Exception e) { LOG.warn("Transaction exception: "); LOG.warn(e.getMessage()); + throw e; } } @@ -345,6 +367,7 @@ public synchronized void releaseIpAddrBulk(Map> requests) t } catch (Exception e) { LOG.warn("Transaction exception: "); LOG.warn(e.getMessage()); + throw e; } } @@ -355,7 +378,10 @@ public synchronized IpAddrAlloc getIpAddr(String rangeId, String ipAddr) throws throw new IpRangeNotFoundException(); } - return ipAddrRange.getIpAddr(ipAddr); + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(ipAddrRange.getId())); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + + return ipAddrRange.getIpAddr(ipAddrCache, ipAddr); } @DurationStatistics @@ -365,11 +391,16 @@ public synchronized Collection getIpAddrBulk(String rangeId) throws throw new IpRangeNotFoundException(); } - return ipAddrRange.getIpAddrBulk(); + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(ipAddrRange.getId())); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + + return ipAddrRange.getIpAddrBulk(ipAddrCache); } @DurationStatistics public synchronized void createIpAddrRange(IpAddrRangeRequest request) throws Exception { + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(request.getId())); + cacheFactory.getCache(IpAddrAlloc.class, cfg); try (Transaction tx = ipAddrRangeCache.getTransaction().start()) { IpAddrRange ipAddrRange = new IpAddrRange(request.getId(), request.getVpcId(), request.getSubnetId(), request.getIpVersion(), request.getFirstIp(), request.getLastIp()); @@ -392,8 +423,11 @@ public synchronized void createIpAddrRange(IpAddrRangeRequest request) throws Ex LOG.warn("Create ip address range failed: IpAddressRange already exists"); throw new IpAddrRangeExistException(); } + ipAddrRangeCache.put(request.getId(), ipAddrRange); + //cacheFactory.getCache(IpAddrAlloc.class, getIpAddrCacheName(request.getId())); + request.setUsedIps(ipAddrRange.getUsedIps()); request.setTotalIps(ipAddrRange.getTotalIps()); @@ -401,17 +435,16 @@ public synchronized void createIpAddrRange(IpAddrRangeRequest request) throws Ex } catch (Exception e) { LOG.warn("Transaction exception: "); LOG.warn(e.getMessage()); + throw e; } - } @DurationStatistics - public synchronized IpAddrRange deleteIpAddrRange(String rangeId) throws Exception { - IpAddrRange ipAddrRange = null; + public synchronized IpAddrRange deleteIpAddrRange(String rangeId, String vpcId) throws Exception { try (Transaction tx = ipAddrRangeCache.getTransaction().start()) { - VpcIpRange vpcIpRange = vpcIpRangeCache.get(ipAddrRange.getVpcId()); + VpcIpRange vpcIpRange = vpcIpRangeCache.get(vpcId); if (vpcIpRange != null) { - vpcIpRange.getRanges().remove(ipAddrRange.getId()); + vpcIpRange.getRanges().remove(rangeId); if (vpcIpRange.getRanges().size() == 0) { vpcIpRangeCache.remove(vpcIpRange.getVpcId()); @@ -419,10 +452,10 @@ public synchronized IpAddrRange deleteIpAddrRange(String rangeId) throws Excepti vpcIpRangeCache.put(vpcIpRange.getVpcId(), vpcIpRange); } } else { - LOG.warn("Can not find VpcIpRange by vpcId: {}", ipAddrRange.getVpcId()); + LOG.warn("Can not find VpcIpRange by vpcId: {}", vpcId); } - ipAddrRange = ipAddrRangeCache.get(rangeId); + IpAddrRange ipAddrRange = ipAddrRangeCache.get(rangeId); if (ipAddrRange == null) { LOG.warn("Delete ip address range failed: Ip address range not found"); throw new IpAddrRangeNotFoundException(); @@ -431,11 +464,13 @@ public synchronized IpAddrRange deleteIpAddrRange(String rangeId) throws Excepti ipAddrRangeCache.remove(rangeId); tx.commit(); + + return ipAddrRange; } catch (Exception e) { LOG.warn("Transaction exception: "); LOG.warn(e.getMessage()); + throw e; } - return ipAddrRange; } @DurationStatistics @@ -469,6 +504,7 @@ public synchronized List updateIpAddr(IpAddrUpdateRequest request,M } catch (Exception e) { LOG.warn("Transaction exception: "); LOG.warn(e.getMessage()); + throw e; } return result; } @@ -480,7 +516,10 @@ private void releaseIpAddrBulkMethod(Map> requests) throws throw new IpRangeNotFoundException(); } - ipAddrRange.releaseBulk(entry.getValue()); + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(ipAddrRange.getId())); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + + ipAddrRange.releaseBulk(ipAddrCache, entry.getValue()); ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); } } @@ -491,7 +530,10 @@ private void releaseIpAddrMethod(String rangeId, String ipAddr) throws Exception throw new IpRangeNotFoundException(); } - ipAddrRange.release(ipAddr); + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(rangeId)); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); + + ipAddrRange.release(ipAddrCache, ipAddr); ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); } @@ -529,8 +571,10 @@ private IpAddrAlloc allocateIpAddrMethod(IpAddrRequest request) throws Exception if (ipAddrRange == null) { throw new IpRangeNotFoundException(); } + CacheConfiguration cfg = CommonUtil.getCacheConfiguration(getIpAddrCacheName(ipAddrRange.getId())); + ICache ipAddrCache = cacheFactory.getCache(IpAddrAlloc.class, cfg); - ipAddrAlloc = ipAddrRange.allocate(request.getIp()); + ipAddrAlloc = ipAddrRange.allocate(ipAddrCache, request.getIp()); ipAddrRangeCache.put(ipAddrRange.getId(), ipAddrRange); } return ipAddrAlloc; diff --git a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/IpAddrService.java b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/IpAddrService.java index 740bab14c..49c270db2 100644 --- a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/IpAddrService.java +++ b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/IpAddrService.java @@ -39,7 +39,7 @@ public interface IpAddrService { IpAddrRangeRequest createIpAddrRange(IpAddrRangeRequest request) throws Exception; - void deleteIpAddrRange(String rangeId) throws Exception; + void deleteIpAddrRange(String rangeId, String vpcId) throws Exception; IpAddrRangeRequest getIpAddrRange(String rangeId) throws Exception; diff --git a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/implement/IpAddrServiceImpl.java b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/implement/IpAddrServiceImpl.java index 02b9ee7fb..30c81d1d1 100644 --- a/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/implement/IpAddrServiceImpl.java +++ b/services/private_ip_manager/src/main/java/com/futurewei/alcor/privateipmanager/service/implement/IpAddrServiceImpl.java @@ -230,10 +230,10 @@ public IpAddrRangeRequest createIpAddrRange(IpAddrRangeRequest request) throws E @Override @DurationStatistics - public void deleteIpAddrRange(String rangeId) throws Exception { + public void deleteIpAddrRange(String rangeId, String vpcId) throws Exception { LOG.debug("Delete ip address range, rangeId: {}", rangeId); - ipAddrRangeRepo.deleteIpAddrRange(rangeId); + ipAddrRangeRepo.deleteIpAddrRange(rangeId, vpcId); LOG.info("Delete ip address range success, rangeId: {}", rangeId); } diff --git a/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/controller/SubnetController.java b/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/controller/SubnetController.java index 72aec69a2..434f5962d 100644 --- a/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/controller/SubnetController.java +++ b/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/controller/SubnetController.java @@ -508,7 +508,7 @@ public ResponseId deleteSubnetState(@PathVariable String projectId, @PathVariabl this.subnetService.deleteSubnetIdInVpc(subnetId, projectId, subnetEntity.getVpcId()); // delete ip range in Private IP Manager - this.subnetService.deleteIPRangeInPIM(rangeId); + this.subnetService.deleteIPRangeInPIM(rangeId, subnetEntity.getVpcId()); this.subnetDatabaseService.deleteSubnet(subnetId); diff --git a/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/SubnetService.java b/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/SubnetService.java index d133bf55b..1532cd433 100644 --- a/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/SubnetService.java +++ b/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/SubnetService.java @@ -93,5 +93,5 @@ public void fallbackOperation (AtomicReference routeResponseAtomic public PortEntity constructPortEntity (String portId, String vpcId, String subnetId, String gatewayIP, String deviceOwner); // delete ip range in Private IP Manager - public void deleteIPRangeInPIM (String rangeId); + public void deleteIPRangeInPIM (String rangeId, String vpcId); } diff --git a/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/implement/SubnetServiceImp.java b/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/implement/SubnetServiceImp.java index dda211b0f..ce328944a 100644 --- a/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/implement/SubnetServiceImp.java +++ b/services/subnet_manager/src/main/java/com/futurewei/alcor/subnet/service/implement/SubnetServiceImp.java @@ -33,7 +33,6 @@ free of charge, to any person obtaining a copy of this software and associated d import com.futurewei.alcor.subnet.service.SubnetService; import com.futurewei.alcor.subnet.utils.SubnetManagementUtil; import com.futurewei.alcor.web.entity.ip.IpAddrRangeRequest; -import com.futurewei.alcor.web.entity.ip.IpAddrRequest; import com.futurewei.alcor.web.entity.mac.MacStateJson; import com.futurewei.alcor.web.entity.port.PortEntity; import com.futurewei.alcor.web.entity.route.*; @@ -45,15 +44,13 @@ free of charge, to any person obtaining a copy of this software and associated d import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.data.util.Pair; import org.springframework.http.HttpEntity; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.UUID; +import java.util.*; import java.util.concurrent.atomic.AtomicReference; @Service @@ -548,12 +545,12 @@ public PortEntity constructPortEntity(String portId, String vpcId, String subnet } @Override - public void deleteIPRangeInPIM(String rangeId) { + public void deleteIPRangeInPIM(String rangeId, String vpcId) { if (rangeId == null) { return; } - String ipManagerCreateRangeUrl = ipUrl + "range/"+ rangeId; + String ipManagerCreateRangeUrl = ipUrl + "range/"+ rangeId + "?vpcId=" + vpcId; restTemplate.delete(ipManagerCreateRangeUrl); }