|
1 | 1 | /* |
2 | | - * Copyright (c) 2020, 2021 Oracle and/or its affiliates. All rights reserved. |
| 2 | + * Copyright (c) 2020, 2022 Oracle and/or its affiliates. All rights reserved. |
3 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 | 4 | * |
5 | 5 | * This code is free software; you can redistribute it and/or modify it |
|
34 | 34 | import com.oracle.coherence.plugin.visualvm.tablemodel.model.Data; |
35 | 35 | import com.oracle.coherence.plugin.visualvm.tablemodel.model.ExecutorData; |
36 | 36 | import com.oracle.coherence.plugin.visualvm.tablemodel.model.FederationData; |
| 37 | +import com.oracle.coherence.plugin.visualvm.tablemodel.model.GrpcProxyData; |
37 | 38 | import com.oracle.coherence.plugin.visualvm.tablemodel.model.HttpProxyData; |
38 | 39 | import com.oracle.coherence.plugin.visualvm.tablemodel.model.MachineData; |
39 | 40 | import com.oracle.coherence.plugin.visualvm.tablemodel.model.MemberData; |
@@ -139,8 +140,11 @@ public void updateGUI() |
139 | 140 | } |
140 | 141 | if (f_model.isExecutorConfigured()) |
141 | 142 | { |
142 | | - sb.append(executorOverview()) |
143 | | - .append("<hr>"); |
| 143 | + sb.append(executorOverview()).append("<hr>"); |
| 144 | + } |
| 145 | + if (f_model.isGrpcProxyConfigured()) |
| 146 | + { |
| 147 | + sb.append(grpcOverview()).append("<hr>"); |
144 | 148 | } |
145 | 149 |
|
146 | 150 | String sCurrent = sb.append("</body></html>").toString(); |
@@ -352,7 +356,7 @@ private String cachesOverview() |
352 | 356 | .append(td(getMemoryFormat(entry.getValue().getColumn(CacheData.MEMORY_USAGE_BYTES)))) |
353 | 357 | .append(td(getMemoryFormat(entry.getValue().getColumn(CacheData.MEMORY_USAGE_MB)))) |
354 | 358 | .append(td(getMemoryFormat(entry.getValue().getColumn(CacheData.AVG_OBJECT_SIZE)))) |
355 | | - .append(td(entry.getValue().getColumn(CacheData.UNIT_CALCULATOR).toString())) |
| 359 | + .append(td((String) entry.getValue().getColumn(CacheData.UNIT_CALCULATOR))) |
356 | 360 | .append("</tr>"); |
357 | 361 | } |
358 | 362 |
|
@@ -501,6 +505,50 @@ private String executorOverview() |
501 | 505 | return sb.append(tableEnd()).toString(); |
502 | 506 | } |
503 | 507 |
|
| 508 | + /** |
| 509 | + * Returns a gRPC overview. |
| 510 | + * |
| 511 | + * @return a gRPC overview |
| 512 | + */ |
| 513 | + private String grpcOverview() |
| 514 | + { |
| 515 | + StringBuilder sb = new StringBuilder(title(getLabel("LBL_grpc"))); |
| 516 | + |
| 517 | + long nSentCount = 0L; |
| 518 | + long nRecCount = 0L; |
| 519 | + |
| 520 | + for (Map.Entry<Object, Data> entry : m_grpcData) |
| 521 | + { |
| 522 | + nSentCount += (Long) entry.getValue().getColumn(GrpcProxyData.RESPONSES_SENT_COUNT); |
| 523 | + nRecCount += (Long) entry.getValue().getColumn(GrpcProxyData.MESSAGES_RECEIVED_COUNT); |
| 524 | + } |
| 525 | + |
| 526 | + sb.append(tableStart()) |
| 527 | + .append(tableRow(getLabel("LBL_total_grpc_servers"), Integer.toString(m_grpcData.size()))) |
| 528 | + .append(tableRow(getLabel("LBL_total_grpc_msg_rec"), getMemoryFormat(Long.toString(nRecCount)))) |
| 529 | + .append(tableRow(getLabel("LBL_total_grpc_resp_sent"), getMemoryFormat(Long.toString(nSentCount)))) |
| 530 | + .append(tableEnd()); |
| 531 | + |
| 532 | + sb.append(tableStart()); |
| 533 | + |
| 534 | + sb.append(columnHeaders(VisualVMModel.DataType.GRPC_PROXY)); |
| 535 | + |
| 536 | + for (Map.Entry<Object, Data> entry : m_grpcData) |
| 537 | + { |
| 538 | + sb.append("<tr>") |
| 539 | + .append(td(getMemoryFormat(entry.getValue().getColumn(GrpcProxyData.NODE_ID).toString()))) |
| 540 | + .append(td(getMemoryFormat(entry.getValue().getColumn(GrpcProxyData.SUCCESSFUL_REQUEST_COUNT).toString()))) |
| 541 | + .append(td(getMemoryFormat(entry.getValue().getColumn(GrpcProxyData.ERROR_REQUEST_COUNT).toString()))) |
| 542 | + .append(td(getMemoryFormat(entry.getValue().getColumn(GrpcProxyData.RESPONSES_SENT_COUNT).toString()))) |
| 543 | + .append(td(getMemoryFormat(entry.getValue().getColumn(GrpcProxyData.MESSAGES_RECEIVED_COUNT).toString()))) |
| 544 | + .append(td(getLatencyValue(entry.getValue().getColumn(GrpcProxyData.REQUEST_DURATION_MEAN).toString()))) |
| 545 | + .append(td(getLatencyValue(entry.getValue().getColumn(GrpcProxyData.MESSAGE_DURATION_MEAN).toString()))) |
| 546 | + .append("</tr>"); |
| 547 | + } |
| 548 | + |
| 549 | + return sb.append(tableEnd()).toString(); |
| 550 | + } |
| 551 | + |
504 | 552 | /** |
505 | 553 | * Returns a federation overview. |
506 | 554 | * |
@@ -729,16 +777,17 @@ public void updateData() |
729 | 777 | m_fedOriginDetailData = f_model.getData(VisualVMModel.DataType.FEDERATION_ORIGIN_DETAILS); |
730 | 778 | } |
731 | 779 |
|
732 | | - m_hotcacheData = f_model.getData(VisualVMModel.DataType.HOTCACHE); |
| 780 | + m_hotcacheData = f_model.getData(VisualVMModel.DataType.HOTCACHE); |
733 | 781 | m_hotcachepercacheData = f_model.getData(VisualVMModel.DataType.HOTCACHE_PERCACHE); |
734 | | - m_httpProxyData = f_model.getData(VisualVMModel.DataType.HTTP_PROXY); |
735 | | - m_httpProxyMemberData = f_model.getData(VisualVMModel.DataType.HTTP_PROXY_DETAIL); |
736 | | - m_httpSessionData = f_model.getData(VisualVMModel.DataType.HTTP_SESSION); |
737 | | - m_configData = f_model.getData(VisualVMModel.DataType.JCACHE_CONFIG); |
738 | | - m_statsData = f_model.getData(VisualVMModel.DataType.JCACHE_STATS); |
739 | | - m_persistenceData = f_model.getData(VisualVMModel.DataType.PERSISTENCE); |
740 | | - m_topicData = f_model.getData(VisualVMModel.DataType.TOPICS_DETAIL); |
741 | | - m_executorData = f_model.getData(VisualVMModel.DataType.EXECUTOR); |
| 782 | + m_httpProxyData = f_model.getData(VisualVMModel.DataType.HTTP_PROXY); |
| 783 | + m_httpProxyMemberData = f_model.getData(VisualVMModel.DataType.HTTP_PROXY_DETAIL); |
| 784 | + m_httpSessionData = f_model.getData(VisualVMModel.DataType.HTTP_SESSION); |
| 785 | + m_configData = f_model.getData(VisualVMModel.DataType.JCACHE_CONFIG); |
| 786 | + m_statsData = f_model.getData(VisualVMModel.DataType.JCACHE_STATS); |
| 787 | + m_persistenceData = f_model.getData(VisualVMModel.DataType.PERSISTENCE); |
| 788 | + m_topicData = f_model.getData(VisualVMModel.DataType.TOPICS_DETAIL); |
| 789 | + m_executorData = f_model.getData(VisualVMModel.DataType.EXECUTOR); |
| 790 | + m_grpcData = f_model.getData(VisualVMModel.DataType.GRPC_PROXY); |
742 | 791 | } |
743 | 792 |
|
744 | 793 | // ----- constants ------------------------------------------------------ |
@@ -854,6 +903,11 @@ public void updateData() |
854 | 903 | */ |
855 | 904 | private List<Map.Entry<Object, Data>> m_executorData; |
856 | 905 |
|
| 906 | + /** |
| 907 | + * The gRPC statistics data retrieved from the {@link VisualVMModel}. |
| 908 | + */ |
| 909 | + private List<Map.Entry<Object, Data>> m_grpcData; |
| 910 | + |
857 | 911 | /** |
858 | 912 | * The machine statistics data retrieved from the {@link VisualVMModel}. |
859 | 913 | */ |
|
0 commit comments