public static ObjectName getObjectName(String group, String name, String t) throws MalformedObjectNameException { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(makeNameJmxSafe(group)); nameBuilder.append(":type="); nameBuilder.append(makeNameJmxSafe(t)); nameBuilder.append(",name="); nameBuilder.append(makeNameJmxSafe(name)); ObjectName objName = new ObjectName(nameBuilder.toString()); log.debug("Resolved name for " + group + ", " + name + ", " + t + " to: " + objName); return objName; }
@Test public void testGetCounterValues() throws Exception { ObjectName counterObject = JmxUtil.getObjectName(SamzaContainerMetrics.class.getName(), "commit-calls", "samza-container-0"); objectNames.add(counterObject); Long commitCalls = 100L; when(conn.getAttribute(counterObject, "Count")).thenReturn(commitCalls); Map<String, Long> result = jmxMetricsAccessor.getCounterValues(SamzaContainerMetrics.class.getName(), "commit-calls"); assertTrue(result.size() == 1); assertTrue(result.get("samza-container-0").equals(commitCalls)); }
@Test public void testGetTimerValues() throws Exception { ObjectName timerObject = JmxUtil.getObjectName(SamzaContainerMetrics.class.getName(), "choose-ns", "samza-container-2"); objectNames.add(timerObject); Double time = 42.42; when(conn.getAttribute(timerObject, "AverageTime")).thenReturn(time); Map<String, Double> result = jmxMetricsAccessor.getTimerValues(SamzaContainerMetrics.class.getName(), "choose-ns"); assertTrue(result.size() == 1); assertTrue(result.get("samza-container-2").equals(time)); } }
public static ObjectName getObjectName(String group, String name, String t) throws MalformedObjectNameException { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(makeNameJmxSafe(group)); nameBuilder.append(":type="); nameBuilder.append(makeNameJmxSafe(t)); nameBuilder.append(",name="); nameBuilder.append(makeNameJmxSafe(name)); ObjectName objName = new ObjectName(nameBuilder.toString()); log.debug("Resolved name for " + group + ", " + name + ", " + t + " to: " + objName); return objName; }
@Test public void testGetGaugeValues() throws Exception { ObjectName gaugeObject = JmxUtil.getObjectName(SamzaContainerMetrics.class.getName(), "event-loop-utilization", "samza-container-1"); objectNames.add(gaugeObject); Double loopUtil = 0.8; when(conn.getAttribute(gaugeObject, "Value")).thenReturn(loopUtil); Map<String, Double> result = jmxMetricsAccessor.getGaugeValues(SamzaContainerMetrics.class.getName(), "event-loop-utilization"); assertTrue(result.size() == 1); assertTrue(result.get("samza-container-1").equals(loopUtil)); }
public static ObjectName getObjectName(String group, String name, String t) throws MalformedObjectNameException { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(makeNameJmxSafe(group)); nameBuilder.append(":type="); nameBuilder.append(makeNameJmxSafe(t)); nameBuilder.append(",name="); nameBuilder.append(makeNameJmxSafe(name)); ObjectName objName = new ObjectName(nameBuilder.toString()); log.debug("Resolved name for " + group + ", " + name + ", " + t + " to: " + objName); return objName; }
public static ObjectName getObjectName(String group, String name, String t) throws MalformedObjectNameException { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(makeNameJmxSafe(group)); nameBuilder.append(":type="); nameBuilder.append(makeNameJmxSafe(t)); nameBuilder.append(",name="); nameBuilder.append(makeNameJmxSafe(name)); ObjectName objName = new ObjectName(nameBuilder.toString()); log.debug("Resolved name for " + group + ", " + name + ", " + t + " to: " + objName); return objName; }
public static ObjectName getObjectName(String group, String name, String t) throws MalformedObjectNameException { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(makeNameJmxSafe(group)); nameBuilder.append(":type="); nameBuilder.append(makeNameJmxSafe(t)); nameBuilder.append(",name="); nameBuilder.append(makeNameJmxSafe(name)); ObjectName objName = new ObjectName(nameBuilder.toString()); log.debug("Resolved name for " + group + ", " + name + ", " + t + " to: " + objName); return objName; }
private <T> Map<String, T> getMetricValues(String group, String metric, String attribute) { try { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(JmxUtil.makeNameJmxSafe(group)); nameBuilder.append(":type=*,name="); nameBuilder.append(JmxUtil.makeNameJmxSafe(metric)); ObjectName query = new ObjectName(nameBuilder.toString()); Map<String, T> values = new HashMap<>(); MBeanServerConnection conn = jmxc.getMBeanServerConnection(); for (ObjectName objName : conn.queryNames(query, null)) { String type = objName.getKeyProperty("type"); T val = (T) conn.getAttribute(objName, attribute); values.put(type, val); } return values; } catch (Exception e) { log.error(e.getMessage(), e); return Collections.EMPTY_MAP; } }
private <T> Map<String, T> getMetricValues(String group, String metric, String attribute) { try { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(JmxUtil.makeNameJmxSafe(group)); nameBuilder.append(":type=*,name="); nameBuilder.append(JmxUtil.makeNameJmxSafe(metric)); ObjectName query = new ObjectName(nameBuilder.toString()); Map<String, T> values = new HashMap<>(); MBeanServerConnection conn = jmxc.getMBeanServerConnection(); for (ObjectName objName : conn.queryNames(query, null)) { String type = objName.getKeyProperty("type"); T val = (T) conn.getAttribute(objName, attribute); values.put(type, val); } return values; } catch (Exception e) { log.error(e.getMessage(), e); return Collections.EMPTY_MAP; } }
private <T> Map<String, T> getMetricValues(String group, String metric, String attribute) { try { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(JmxUtil.makeNameJmxSafe(group)); nameBuilder.append(":type=*,name="); nameBuilder.append(JmxUtil.makeNameJmxSafe(metric)); ObjectName query = new ObjectName(nameBuilder.toString()); Map<String, T> values = new HashMap<>(); MBeanServerConnection conn = jmxc.getMBeanServerConnection(); for (ObjectName objName : conn.queryNames(query, null)) { String type = objName.getKeyProperty("type"); T val = (T) conn.getAttribute(objName, attribute); values.put(type, val); } return values; } catch (Exception e) { log.error(e.getMessage(), e); return Collections.EMPTY_MAP; } }
private <T> Map<String, T> getMetricValues(String group, String metric, String attribute) { try { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(JmxUtil.makeNameJmxSafe(group)); nameBuilder.append(":type=*,name="); nameBuilder.append(JmxUtil.makeNameJmxSafe(metric)); ObjectName query = new ObjectName(nameBuilder.toString()); Map<String, T> values = new HashMap<>(); MBeanServerConnection conn = jmxc.getMBeanServerConnection(); for (ObjectName objName : conn.queryNames(query, null)) { String type = objName.getKeyProperty("type"); T val = (T) conn.getAttribute(objName, attribute); values.put(type, val); } return values; } catch (Exception e) { log.error(e.getMessage(), e); return Collections.EMPTY_MAP; } }
private <T> Map<String, T> getMetricValues(String group, String metric, String attribute) { try { StringBuilder nameBuilder = new StringBuilder(); nameBuilder.append(JmxUtil.makeNameJmxSafe(group)); nameBuilder.append(":type=*,name="); nameBuilder.append(JmxUtil.makeNameJmxSafe(metric)); ObjectName query = new ObjectName(nameBuilder.toString()); Map<String, T> values = new HashMap<>(); MBeanServerConnection conn = jmxc.getMBeanServerConnection(); for (ObjectName objName : conn.queryNames(query, null)) { String type = objName.getKeyProperty("type"); T val = (T) conn.getAttribute(objName, attribute); values.put(type, val); } return values; } catch (Exception e) { log.error(e.getMessage(), e); return Collections.EMPTY_MAP; } }