Refine search
/** * Unregisters object_name and everything under it * @param object_name */ public static void unregister(MBeanServer server, String object_name) throws Exception { Set<ObjectName> mbeans = server.queryNames(new ObjectName(object_name), null); if(mbeans != null) for (ObjectName name: mbeans) server.unregisterMBean(name); }
public HotSpotDiagnosticMXBean run() throws Exception { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> s = server.queryNames(new ObjectName(HOT_SPOT_BEAN_NAME), null); Iterator<ObjectName> itr = s.iterator(); if (itr.hasNext()) { ObjectName name = itr.next(); HotSpotDiagnosticMXBean bean = ManagementFactory.newPlatformMXBeanProxy(server, name.toString(), HotSpotDiagnosticMXBean.class); return bean; } else { return null; } } });
@Override public HotSpotDiagnosticMXBean run() throws Exception { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> s = server.queryNames(new ObjectName(HOTSPOT_BEAN_NAME), null); Iterator<ObjectName> itr = s.iterator(); if (itr.hasNext()) { ObjectName name = itr.next(); HotSpotDiagnosticMXBean bean = ManagementFactory.newPlatformMXBeanProxy(server, name.toString(), HotSpotDiagnosticMXBean.class); return bean; } else { return null; } } });
private Set<ObjectName> searchLiveBeansViewMeans() throws MalformedObjectNameException { String objectName = String.format("%s:*,%s=*", this.name.getMethodName(), LiveBeansView.MBEAN_APPLICATION_KEY); return ManagementFactory.getPlatformMBeanServer().queryNames(new ObjectName(objectName), null); }
List<String> getEndPoints() throws MalformedObjectNameException, NullPointerException, UnknownHostException, AttributeNotFoundException, InstanceNotFoundException, MBeanException, ReflectionException { MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> objs = mbs.queryNames(new ObjectName("*:type=Connector,*"), Query.match(Query.attr("protocol"), Query.value("HTTP/1.1"))); String hostname = InetAddress.getLocalHost().getHostName(); InetAddress[] addresses = InetAddress.getAllByName(hostname); ArrayList<String> endPoints = new ArrayList<String>(); for (Iterator<ObjectName> i = objs.iterator(); i.hasNext();) { ObjectName obj = i.next(); String scheme = mbs.getAttribute(obj, "scheme").toString(); String port = obj.getKeyProperty("port"); for (InetAddress addr : addresses) { String host = addr.getHostAddress(); String ep = scheme + "://" + host + ":" + port; endPoints.add(ep); } } return endPoints; }
public static List<MbeanAttributeValue> getMBeanAttributeValues(String mbeanExpr, String attributeExpr) { List<MbeanAttributeValue> values = new ArrayList<>(); MBeanServer server = ManagementFactory.getPlatformMBeanServer(); try { Set<ObjectName> mbeanNames = server.queryNames(new ObjectName(mbeanExpr), null); for (ObjectName mbeanName: mbeanNames) { MBeanInfo mBeanInfo = server.getMBeanInfo(mbeanName); MBeanAttributeInfo[] attributeInfos = mBeanInfo.getAttributes(); for (MBeanAttributeInfo attributeInfo: attributeInfos) { if (attributeInfo.getName().equals(attributeExpr) || attributeExpr.length() == 0 || attributeExpr.equals("*")) { double value = (Double) server.getAttribute(mbeanName, attributeInfo.getName()); values.add(new MbeanAttributeValue(mbeanName.getCanonicalName(), attributeInfo.getName(), value)); } } } } catch (Exception e) { LOG.error("fail to retrieve value for " + mbeanExpr + ":" + attributeExpr, e); } return values; }
private void unregisterJerseyMBeans(boolean destroy) { final MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); try { synchronized (LOCK) { if (destroy) { destroyed.set(true); // do not register new beans since now } if (domain == null) { // No bean has been registered yet. return; } final Set<ObjectName> names = mBeanServer.queryNames(new ObjectName(domain + ",*"), null); for (ObjectName name : names) { mBeanServer.unregisterMBean(name); } } } catch (Exception e) { throw new ProcessingException(LocalizationMessages.ERROR_MONITORING_MBEANS_UNREGISTRATION_DESTROY(), e); } }
private void unregisterJerseyMBeans(boolean destroy) { final MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); try { synchronized (LOCK) { if (destroy) { destroyed.set(true); // do not register new beans since now } if (domain == null) { // No bean has been registered yet. return; } final Set<ObjectName> names = mBeanServer.queryNames(new ObjectName(domain + ",*"), null); for (ObjectName name : names) { mBeanServer.unregisterMBean(name); } } } catch (Exception e) { throw new ProcessingException(LocalizationMessages.ERROR_MONITORING_MBEANS_UNREGISTRATION_DESTROY(), e); } }
@Override public void execute() throws Exception { if(!this.env.isServerRunning()) return; StringBuilder buffer = new StringBuilder(); MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer(); // see if we can get rid of the -* number // jboss.modules:type=ModuleLoader,name=LocalModuleLoader-2 - String dumpAllModuleInformation // jboss.modules:type=ModuleLoader,name=ServiceModuleLoader-3 - String dumpAllModuleInformation ObjectName base = new ObjectName("jboss.modules:type=ModuleLoader,name=ServiceModuleLoader-*"); for(ObjectName serviceModuleLoader : platformMBeanServer.queryNames(base, null)) { buffer.append( (String) platformMBeanServer.invoke(serviceModuleLoader, "dumpAllModuleInformation", null, null) ); } this.env.getZip().add(buffer.toString(), OUTPUT_FILE); } }
@Override public void execute() throws Exception { if(!this.env.isServerRunning()) return; StringBuilder buffer = new StringBuilder(); MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer(); // see if we can get rid of the -* number // jboss.modules:type=ModuleLoader,name=LocalModuleLoader-2 - String dumpAllModuleInformation // jboss.modules:type=ModuleLoader,name=ServiceModuleLoader-3 - String dumpAllModuleInformation ObjectName base = new ObjectName("jboss.modules:type=ModuleLoader,name=LocalModuleLoader-*"); for(ObjectName localModuleLoader : platformMBeanServer.queryNames(base, null)) { buffer.append( (String) platformMBeanServer.invoke(localModuleLoader, "dumpAllModuleInformation", null, null) ); } this.env.getZip().add(buffer.toString(), OUTPUT_FILE); } }
private void registerFileUploaderMBean() { try { ObjectName mbeanON = new ObjectName(ManagementConstants.OBJECTNAME__FILEUPLOADER_MBEAN); MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> names = platformMBeanServer.queryNames(mbeanON, null); if (names.isEmpty()) { platformMBeanServer.registerMBean(new FileUploader(getRemoteStreamExporter()), mbeanON); logger.info("Registered FileUploaderMBean on " + mbeanON); } } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException | MalformedObjectNameException e) { throw new GemFireConfigException("Error while configuring FileUploader MBean", e); } }
/** * Method to unregister all the local GemFire MBeans * */ public void unregisterAll() { try { ObjectName name = new ObjectName(OBJECTNAME__PREFIX + "*"); Set<ObjectName> gemFireObjects = mbeanServer.queryNames(name, null); for (ObjectName objectName : gemFireObjects) { unregisterMBean(objectName); } } catch (MalformedObjectNameException | NullPointerException e) { throw new ManagementException(e); } }
private void registerAccessControlMBean() { try { AccessControlMBean acc = new AccessControlMBean(this.securityService); ObjectName accessControlMBeanON = new ObjectName(ResourceConstants.OBJECT_NAME_ACCESSCONTROL); MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer(); Set<ObjectName> names = platformMBeanServer.queryNames(accessControlMBeanON, null); if (names.isEmpty()) { try { platformMBeanServer.registerMBean(acc, accessControlMBeanON); logger.info("Registered AccessControlMBean on " + accessControlMBeanON); } catch (InstanceAlreadyExistsException | MBeanRegistrationException | NotCompliantMBeanException e) { throw new GemFireConfigException( "Error while configuring access control for jmx resource", e); } } } catch (MalformedObjectNameException e) { throw new GemFireConfigException("Error while configuring access control for jmx resource", e); } }
@POST @Consumes( MediaType.APPLICATION_JSON ) @Path( QUERY_PATH ) @SuppressWarnings( "unchecked" ) public Response queryBeans( String query ) { try { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); String json = dodgeStartingUnicodeMarker( query ); Collection<Object> queries = (Collection<Object>) JsonHelper.readJson( json ); ArrayList<JmxMBeanRepresentation> beans = new ArrayList<>(); for ( Object queryObj : queries ) { assert queryObj instanceof String; for ( Object objName : server.queryNames( new ObjectName( (String) queryObj ), null ) ) { beans.add( new JmxMBeanRepresentation( (ObjectName) objName ) ); } } return output.ok( new ListRepresentation( "jmxBean", beans ) ); } catch ( JsonParseException | MalformedObjectNameException e ) { return output.badRequest( e ); } }
Iterator<ObjectName> names = jmxServer.queryNames( new ObjectName( query ), null ).iterator();
private static void fetchExecutorMetrics(long now, MBeanServer mbs, List<Metric> metrics) throws JMException { final ObjectName executorName = new ObjectName("Catalina:type=Executor,*"); final Set<ObjectName> names = mbs.queryNames(executorName, null); if (names == null) { return; } for (ObjectName name : names) { AttributeList list = mbs.getAttributes(name, EXECUTOR_ATTRS); for (Attribute a : list.asList()) { addMetric(metrics, a.getName().equals("completedTaskCount") ? toCounter(now, name, a) : toGauge(now, name, a)); } } }
@Before public void setup() throws Throwable { jmxServer = mock( MBeanServer.class ); beanName = new ObjectName( "org.neo4j:chevyMakesTheTruck=bobMcCoshMakesTheDifference" ); attributeName = "name"; when( jmxServer.queryNames( new ObjectName( "*:*" ), null ) ) .thenReturn( asSet( beanName ) ); when( jmxServer.getMBeanInfo( beanName ) ) .thenReturn( new MBeanInfo( "org.neo4j.SomeMBean", "This is a description", new MBeanAttributeInfo[]{ new MBeanAttributeInfo( attributeName, "someType", "This is the attribute desc.", true, false, false ) }, null, null, null ) ); } }
private static void fetchRequestProcessorMetrics(long now, MBeanServer mbs, List<Metric> metrics) throws JMException { final ObjectName globalName = new ObjectName("Catalina:type=GlobalRequestProcessor,*"); final Set<ObjectName> names = mbs.queryNames(globalName, null); if (names == null) { return; } for (ObjectName name : names) { AttributeList list = mbs.getAttributes(name, GLOBAL_REQ_ATTRS); for (Attribute a : list.asList()) { // the only gauge here is maxTime addMetric(metrics, a.getName().equals("maxTime") ? toGauge(now, name, a) : toCounter(now, name, a)); } } }
private static void fetchThreadPoolMetrics(long now, MBeanServer mbs, List<Metric> metrics) throws JMException { final ObjectName threadPoolName = new ObjectName("Catalina:type=ThreadPool,*"); final Set<ObjectName> names = mbs.queryNames(threadPoolName, null); if (names == null) { return; } for (ObjectName name : names) { AttributeList list = mbs.getAttributes(name, THREAD_POOL_ATTRS); // determine whether the shared threadPool is used boolean isUsed = true; for (Attribute a : list.asList()) { if (a.getName().equals("maxThreads")) { Number v = (Number) a.getValue(); isUsed = v.doubleValue() >= 0.0; break; } } if (isUsed) { // only add the attributes if the metric is used. for (Attribute a : list.asList()) { addMetric(metrics, toGauge(now, name, a)); } } } }
ObjectName beanName = new ObjectName( "org.neo4j:chevyMakesTheTruck=bobMcCoshMakesTheDifference" ); when( jmxServer.queryNames( new ObjectName( "*:*" ), null ) ) .thenReturn( asSet( beanName ) ); when( jmxServer.getMBeanInfo( beanName ) )