001// Autogenerated Jamon implementation 002// /Users/petersomogyi/projects/hbase-upstream/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/ReplicationStatusTmpl.jamon 003 004package org.apache.hadoop.hbase.tmpl.regionserver; 005 006// 23, 9 007import java.util.*; 008// 24, 9 009import java.util.Map.Entry; 010// 25, 9 011import org.apache.hadoop.hbase.procedure2.util.StringUtils; 012// 26, 9 013import org.apache.hadoop.hbase.regionserver.HRegionServer; 014// 27, 9 015import org.apache.hadoop.hbase.replication.regionserver.ReplicationStatus; 016 017public class ReplicationStatusTmplImpl 018 extends org.jamon.AbstractTemplateImpl 019 implements org.apache.hadoop.hbase.tmpl.regionserver.ReplicationStatusTmpl.Intf 020 021{ 022 private final HRegionServer regionServer; 023 protected static org.apache.hadoop.hbase.tmpl.regionserver.ReplicationStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.ReplicationStatusTmpl.ImplData p_implData) 024 { 025 return p_implData; 026 } 027 public ReplicationStatusTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.regionserver.ReplicationStatusTmpl.ImplData p_implData) 028 { 029 super(p_templateManager, __jamon_setOptionalArguments(p_implData)); 030 regionServer = p_implData.getRegionServer(); 031 } 032 033 @Override public void renderNoFlush(final java.io.Writer jamonWriter) 034 throws java.io.IOException 035 { 036 // 30, 1 037 038 Map<String, ReplicationStatus> walGroupsReplicationStatus = regionServer.getWalGroupsReplicationStatus(); 039 040 // 34, 1 041 if ((walGroupsReplicationStatus != null && walGroupsReplicationStatus.size() > 0) ) 042 { 043 // 34, 86 044 jamonWriter.write("\n\n <div class=\"tabbable\">\n <ul class=\"nav nav-pills\">\n <li class=\"active\"><a href=\"#tab_currentLog\" data-toggle=\"tab\">Current Log</a> </li>\n <li class=\"\"><a href=\"#tab_replicationDelay\" data-toggle=\"tab\">Replication Delay</a></li>\n </ul>\n <div class=\"tab-content\" style=\"padding-bottom: 9px; border-bottom: 1px solid #ddd;\">\n <div class=\"tab-pane active\" id=\"tab_currentLog\">\n "); 045 // 43, 17 046 { 047 // 43, 17 048 __jamon_innerUnit__currentLog(jamonWriter, walGroupsReplicationStatus); 049 } 050 // 43, 72 051 jamonWriter.write("\n </div>\n <div class=\"tab-pane\" id=\"tab_replicationDelay\">\n "); 052 // 46, 17 053 { 054 // 46, 17 055 __jamon_innerUnit__replicationDelay(jamonWriter, walGroupsReplicationStatus); 056 } 057 // 46, 78 058 jamonWriter.write("\n </div>\n </div>\n </div>\n <p> If the replication delay is UNKNOWN, that means this walGroup doesn't start replicate yet and it may get disabled.\n If the size of log is 0, it means we are replicating current HLog, thus we can't get accurate size since it's not closed yet.</p>\n\n"); 059 } 060 // 53, 1 061 else 062 { 063 // 53, 8 064 jamonWriter.write("\n <p>No Replication Metrics for Peers</p>\n"); 065 } 066 // 55, 7 067 jamonWriter.write("\n\n"); 068 } 069 070 071 // 57, 1 072 private void __jamon_innerUnit__currentLog(final java.io.Writer jamonWriter, final Map<String,ReplicationStatus> metrics) 073 throws java.io.IOException 074 { 075 // 61, 5 076 jamonWriter.write("<table class=\"table table-striped\">\n <tr>\n <th>PeerId</th>\n <th>WalGroup</th>\n <th>Current Log</th>\n <th>Size</th>\n <th>Queue Size</th>\n <th>Offset</th>\n </tr>\n "); 077 // 70, 13 078 for (Map.Entry<String, ReplicationStatus> entry: metrics.entrySet() ) 079 { 080 // 70, 84 081 jamonWriter.write("\n <tr>\n <td>"); 082 // 72, 26 083 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getPeerId()), jamonWriter); 084 // 72, 60 085 jamonWriter.write("</td>\n <td>"); 086 // 73, 26 087 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getWalGroup()), jamonWriter); 088 // 73, 62 089 jamonWriter.write("</td>\n <td>"); 090 // 74, 26 091 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getCurrentPath()), jamonWriter); 092 // 74, 65 093 jamonWriter.write(" </td>\n <td>"); 094 // 75, 26 095 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanSize(entry.getValue().getFileSize())), jamonWriter); 096 // 75, 85 097 jamonWriter.write("</td>\n <td>"); 098 // 76, 26 099 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getQueueSize()), jamonWriter); 100 // 76, 63 101 jamonWriter.write("</td>\n <td>"); 102 // 77, 26 103 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanSize(entry.getValue().getCurrentPosition())), jamonWriter); 104 // 77, 92 105 jamonWriter.write("</td>\n </tr>\n "); 106 } 107 // 79, 20 108 jamonWriter.write("\n </table>\n"); 109 } 110 111 112 // 83, 1 113 private void __jamon_innerUnit__replicationDelay(final java.io.Writer jamonWriter, final Map<String,ReplicationStatus> metrics) 114 throws java.io.IOException 115 { 116 // 87, 5 117 jamonWriter.write("<table class=\"table table-striped\">\n <tr>\n <th>PeerId</th>\n <th>WalGroup</th>\n <th>Current Log</th>\n <th>Last Shipped Age</th>\n <th>Replication Delay</th>\n </tr>\n "); 118 // 95, 13 119 for (Map.Entry<String, ReplicationStatus> entry: metrics.entrySet() ) 120 { 121 // 95, 84 122 jamonWriter.write("\n <tr>\n <td>"); 123 // 97, 26 124 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getPeerId()), jamonWriter); 125 // 97, 60 126 jamonWriter.write("</td>\n <td>"); 127 // 98, 26 128 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getWalGroup()), jamonWriter); 129 // 98, 62 130 jamonWriter.write("</td>\n <td>"); 131 // 99, 26 132 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getCurrentPath()), jamonWriter); 133 // 99, 65 134 jamonWriter.write(" </td>\n <td>"); 135 // 100, 26 136 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanTimeDiff(entry.getValue().getAgeOfLastShippedOp())), jamonWriter); 137 // 100, 99 138 jamonWriter.write("</td>\n <td>"); 139 // 101, 26 140 org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(entry.getValue().getReplicationDelay() == Long.MAX_VALUE ? "UNKNOWN" : StringUtils.humanTimeDiff(entry.getValue().getReplicationDelay())), jamonWriter); 141 // 101, 168 142 jamonWriter.write("</td>\n </tr>\n "); 143 } 144 // 103, 20 145 jamonWriter.write("\n </table>\n"); 146 } 147 148 149}