/** * Dump out all registered mbeans as json on System.out. * @throws IOException * @throws MalformedObjectNameException */ public static void dumpAllBeans() throws IOException, MalformedObjectNameException { try (PrintWriter writer = new PrintWriter( new OutputStreamWriter(System.out, StandardCharsets.UTF_8))) { JSONBean dumper = new JSONBean(); try (JSONBean.Writer jsonBeanWriter = dumper.open(writer)) { MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); jsonBeanWriter.write(mbeanServer, new ObjectName("*:*"), null, false); } } } }
for (int j = 0; j < len; j++) { Object item = Array.get(value, j); writeObject(jg, description, item); jg.writeStartObject(); for (String key: keys) { writeAttribute(jg, key, null, cds.get(key)); jg.writeStartArray(); for(Object entry : tds.values()) { writeObject(jg, description, entry);
/** * Initialize this servlet. */ @Override public void init() throws ServletException { // Retrieve the MBean server mBeanServer = ManagementFactory.getPlatformMBeanServer(); this.jsonBeanWriter = new JSONBean(); }
jsonpcb = checkCallbackName(request.getParameter(CALLBACK_PARAM)); writer = response.getWriter(); beanWriter = this.jsonBeanWriter.open(writer);
writeAttribute(jg, attName, descriptionStr, value);
private static void writeAttribute(JsonGenerator jg, String attName, final String descriptionStr, Object value) throws IOException { boolean description = false; if (descriptionStr != null && descriptionStr.length() > 0 && !attName.equals(descriptionStr)) { description = true; jg.writeFieldName(attName); jg.writeStartObject(); jg.writeFieldName("description"); jg.writeString(descriptionStr); jg.writeFieldName("value"); writeObject(jg, description, value); jg.writeEndObject(); } else { jg.writeFieldName(attName); writeObject(jg, description, value); } }
public static void main(String[] args) throws IOException, MalformedObjectNameException { String str = dumpRegionServerMetrics(); System.out.println(str); } }
/** * Initialize this servlet. */ @Override public void init() throws ServletException { // Retrieve the MBean server mBeanServer = ManagementFactory.getPlatformMBeanServer(); this.jsonBeanWriter = new JSONBean(); }
jsonpcb = checkCallbackName(request.getParameter(CALLBACK_PARAM)); writer = response.getWriter(); beanWriter = this.jsonBeanWriter.open(writer);
writeAttribute(jg, attribute, descriptionStr, attributeinfo); } else { MBeanAttributeInfo[] attrs = minfo.getAttributes(); for (int i = 0; i < attrs.length; i++) { writeAttribute(jg, mBeanServer, oname, description, attrs[i]);
private static void writeAttribute(JsonGenerator jg, String attName, final String descriptionStr, Object value) throws IOException { boolean description = false; if (descriptionStr != null && descriptionStr.length() > 0 && !attName.equals(descriptionStr)) { description = true; jg.writeFieldName(attName); jg.writeStartObject(); jg.writeFieldName("description"); jg.writeString(descriptionStr); jg.writeFieldName("value"); writeObject(jg, description, value); jg.writeEndObject(); } else { jg.writeFieldName(attName); writeObject(jg, description, value); } }
LOG.info("Dump of metrics as JSON on abort: " + JSONBean.dumpRegionServerMetrics()); } catch (MalformedObjectNameException | IOException e) { LOG.warn("Failed dumping metrics", e);
/** * Returns a subset of mbeans defined by qry. * Modeled after DumpRegionServerMetrics#dumpMetrics. * Example: String qry= "java.lang:type=Memory" * @throws MalformedObjectNameException if json have bad format * @throws IOException / * @return String representation of json array. */ public static String dumpBeanToString(String qry) throws MalformedObjectNameException, IOException { StringWriter sw = new StringWriter(1024 * 100); // Guess this size try (PrintWriter writer = new PrintWriter(sw)) { JSONBean dumper = new JSONBean(); try (JSONBean.Writer jsonBeanWriter = dumper.open(writer)) { MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); jsonBeanWriter.write(mbeanServer, new ObjectName(qry), null, false); } } sw.close(); return sw.toString(); }
/** * Initialize this servlet. */ @Override public void init() throws ServletException { // Retrieve the MBean server mBeanServer = ManagementFactory.getPlatformMBeanServer(); this.jsonBeanWriter = new JSONBean(); }
for (int j = 0; j < len; j++) { Object item = Array.get(value, j); writeObject(jg, description, item); jg.writeStartObject(); for (String key: keys) { writeAttribute(jg, key, null, cds.get(key)); jg.writeStartArray(); for(Object entry : tds.values()) { writeObject(jg, description, entry);
jsonpcb = checkCallbackName(request.getParameter(CALLBACK_PARAM)); writer = response.getWriter(); beanWriter = this.jsonBeanWriter.open(writer);
writeAttribute(jg, attName, descriptionStr, value);
private static void writeAttribute(JsonGenerator jg, String attName, final String descriptionStr, Object value) throws IOException { boolean description = false; if (descriptionStr != null && descriptionStr.length() > 0 && !attName.equals(descriptionStr)) { description = true; jg.writeFieldName(attName); jg.writeStartObject(); jg.writeFieldName("description"); jg.writeString(descriptionStr); jg.writeFieldName("value"); writeObject(jg, description, value); jg.writeEndObject(); } else { jg.writeFieldName(attName); writeObject(jg, description, value); } }
/** * Dump out a subset of regionserver mbeans only, not all of them, as json on System.out. */ public static String dumpMetrics() throws MalformedObjectNameException, IOException { StringWriter sw = new StringWriter(1024 * 100); // Guess this size try (PrintWriter writer = new PrintWriter(sw)) { JSONBean dumper = new JSONBean(); try (JSONBean.Writer jsonBeanWriter = dumper.open(writer)) { MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer(); jsonBeanWriter.write(mbeanServer, new ObjectName("java.lang:type=Memory"), null, false); jsonBeanWriter.write(mbeanServer, new ObjectName("Hadoop:service=HBase,name=RegionServer,sub=IPC"), null, false); jsonBeanWriter.write(mbeanServer, new ObjectName("Hadoop:service=HBase,name=RegionServer,sub=Replication"), null, false); jsonBeanWriter.write(mbeanServer, new ObjectName("Hadoop:service=HBase,name=RegionServer,sub=Server"), null, false); } } sw.close(); return sw.toString(); }
/** * Initialize this servlet. */ @Override public void init() throws ServletException { // Retrieve the MBean server mBeanServer = ManagementFactory.getPlatformMBeanServer(); this.jsonBeanWriter = new JSONBean(); }