Search in sources :

Example 36 with OperatingSystemMXBean

use of java.lang.management.OperatingSystemMXBean in project searchcode-server by boyter.

the class StatsService method getLoadAverage.

public String getLoadAverage() {
    OperatingSystemMXBean osBean = ManagementFactory.getOperatingSystemMXBean();
    String loadAverage = Values.DECIMAL_FORMAT.format(osBean.getSystemLoadAverage());
    if (loadAverage.equals("-1")) {
        loadAverage = "Unknown";
    }
    return loadAverage;
}
Also used : OperatingSystemMXBean(java.lang.management.OperatingSystemMXBean)

Example 37 with OperatingSystemMXBean

use of java.lang.management.OperatingSystemMXBean in project opentsdb by OpenTSDB.

the class StatsRpc method printJVMStats.

/**
 * Yield (chiefly memory-related) stats about this OpenTSDB instance's JVM.
 * @param tsdb The TSDB from which to fetch stats.
 * @param query The query to which to respond.
 */
private void printJVMStats(final TSDB tsdb, final HttpQuery query) {
    final Map<String, Map<String, Object>> map = new HashMap<String, Map<String, Object>>();
    final RuntimeMXBean runtime_bean = ManagementFactory.getRuntimeMXBean();
    final Map<String, Object> runtime = new HashMap<String, Object>();
    map.put("runtime", runtime);
    runtime.put("startTime", runtime_bean.getStartTime());
    runtime.put("uptime", runtime_bean.getUptime());
    runtime.put("vmName", runtime_bean.getVmName());
    runtime.put("vmVendor", runtime_bean.getVmVendor());
    runtime.put("vmVersion", runtime_bean.getVmVersion());
    final MemoryMXBean mem_bean = ManagementFactory.getMemoryMXBean();
    final Map<String, Object> memory = new HashMap<String, Object>();
    map.put("memory", memory);
    memory.put("heapMemoryUsage", mem_bean.getHeapMemoryUsage());
    memory.put("nonHeapMemoryUsage", mem_bean.getNonHeapMemoryUsage());
    memory.put("objectsPendingFinalization", mem_bean.getObjectPendingFinalizationCount());
    final List<GarbageCollectorMXBean> gc_beans = ManagementFactory.getGarbageCollectorMXBeans();
    final Map<String, Object> gc = new HashMap<String, Object>();
    map.put("gc", gc);
    for (final GarbageCollectorMXBean gc_bean : gc_beans) {
        final Map<String, Object> stats = new HashMap<String, Object>();
        final String name = formatStatName(gc_bean.getName());
        if (name == null) {
            LOG.warn("Null name for bean: " + gc_bean);
            continue;
        }
        gc.put(name, stats);
        stats.put("collectionCount", gc_bean.getCollectionCount());
        stats.put("collectionTime", gc_bean.getCollectionTime());
    }
    final List<MemoryPoolMXBean> pool_beans = ManagementFactory.getMemoryPoolMXBeans();
    final Map<String, Object> pools = new HashMap<String, Object>();
    map.put("pools", pools);
    for (final MemoryPoolMXBean pool_bean : pool_beans) {
        final Map<String, Object> stats = new HashMap<String, Object>();
        final String name = formatStatName(pool_bean.getName());
        if (name == null) {
            LOG.warn("Null name for bean: " + pool_bean);
            continue;
        }
        pools.put(name, stats);
        stats.put("collectionUsage", pool_bean.getCollectionUsage());
        stats.put("usage", pool_bean.getUsage());
        stats.put("peakUsage", pool_bean.getPeakUsage());
        stats.put("type", pool_bean.getType());
    }
    final OperatingSystemMXBean os_bean = ManagementFactory.getOperatingSystemMXBean();
    final Map<String, Object> os = new HashMap<String, Object>();
    map.put("os", os);
    os.put("systemLoadAverage", os_bean.getSystemLoadAverage());
    query.sendReply(query.serializer().formatJVMStatsV1(map));
}
Also used : HashMap(java.util.HashMap) GarbageCollectorMXBean(java.lang.management.GarbageCollectorMXBean) RuntimeMXBean(java.lang.management.RuntimeMXBean) MemoryMXBean(java.lang.management.MemoryMXBean) MemoryPoolMXBean(java.lang.management.MemoryPoolMXBean) HashMap(java.util.HashMap) Map(java.util.Map) OperatingSystemMXBean(java.lang.management.OperatingSystemMXBean)

Example 38 with OperatingSystemMXBean

use of java.lang.management.OperatingSystemMXBean in project otter by alibaba.

the class OtterController method getNodeSystemInfo.

public String getNodeSystemInfo() {
    OperatingSystemMXBean mbean = ManagementFactory.getOperatingSystemMXBean();
    StringBuilder buf = new StringBuilder();
    buf.append("").append(mbean.getName()).append(' ').append(mbean.getVersion()).append(' ').append(mbean.getArch());
    buf.append(" @ ").append(mbean.getAvailableProcessors()).append(" cores");
    buf.append(" , 【 load average:").append(mbean.getSystemLoadAverage()).append(" 】");
    return buf.toString();
}
Also used : OperatingSystemMXBean(java.lang.management.OperatingSystemMXBean)

Example 39 with OperatingSystemMXBean

use of java.lang.management.OperatingSystemMXBean in project graphdb by neo4j-attic.

the class GraphDbInstance method start.

/**
 * Starts Neo4j with default configuration
 * @param graphDb The graph database service.
 *
 * @param storeDir path to directory where Neo4j store is located
 * @param create if true a new Neo4j store will be created if no store exist
 *            at <CODE>storeDir</CODE>
 * @param configuration parameters
 * @throws StartupFailedException if unable to start
 */
public synchronized Map<Object, Object> start(GraphDatabaseService graphDb, KernelExtensionLoader kernelExtensionLoader) {
    if (started) {
        throw new IllegalStateException("Neo4j instance already started");
    }
    Map<Object, Object> params = config.getParams();
    boolean useMemoryMapped = Boolean.parseBoolean((String) config.getInputParams().get(Config.USE_MEMORY_MAPPED_BUFFERS));
    boolean dumpToConsole = Boolean.parseBoolean((String) config.getInputParams().get(Config.DUMP_CONFIGURATION));
    storeDir = FileUtils.fixSeparatorsInPath(storeDir);
    StringLogger logger = StringLogger.getLogger(storeDir);
    AutoConfigurator autoConfigurator = new AutoConfigurator(storeDir, useMemoryMapped, dumpToConsole);
    autoConfigurator.configure(subset(config.getInputParams(), Config.USE_MEMORY_MAPPED_BUFFERS));
    // params.putAll( config.getInputParams() );
    String separator = System.getProperty("file.separator");
    String store = storeDir + separator + "neostore";
    params.put("store_dir", storeDir);
    params.put("neo_store", store);
    params.put("create", String.valueOf(create));
    String logicalLog = storeDir + separator + "nioneo_logical.log";
    params.put("logical_log", logicalLog);
    byte[] resourceId = UTF8.encode("414141");
    params.put(LockManager.class, config.getLockManager());
    params.put(LockReleaser.class, config.getLockReleaser());
    kernelExtensionLoader.configureKernelExtensions();
    config.getTxModule().registerDataSource(Config.DEFAULT_DATA_SOURCE_NAME, Config.NIO_NEO_DB_CLASS, resourceId, params);
    // hack for lucene index recovery if in path
    if (!config.isReadOnly() || config.isBackupSlave()) {
        try {
            Class clazz = Class.forName(Config.LUCENE_DS_CLASS);
            cleanWriteLocksInLuceneDirectory(storeDir + File.separator + "lucene");
            byte[] luceneId = UTF8.encode("162373");
            registerLuceneDataSource("lucene", clazz.getName(), config.getTxModule(), storeDir + File.separator + "lucene", config.getLockManager(), luceneId, params);
        } catch (ClassNotFoundException e) {
        // ok index util not on class path
        } catch (NoClassDefFoundError err) {
        // ok index util not on class path
        }
        try {
            Class clazz = Class.forName(Config.LUCENE_FULLTEXT_DS_CLASS);
            cleanWriteLocksInLuceneDirectory(storeDir + File.separator + "lucene-fulltext");
            byte[] luceneId = UTF8.encode("262374");
            registerLuceneDataSource("lucene-fulltext", clazz.getName(), config.getTxModule(), storeDir + File.separator + "lucene-fulltext", config.getLockManager(), luceneId, params);
        } catch (ClassNotFoundException e) {
        // ok index util not on class path
        } catch (NoClassDefFoundError err) {
        // ok index util not on class path
        }
    }
    persistenceSource = new NioNeoDbPersistenceSource();
    config.setPersistenceSource(Config.DEFAULT_DATA_SOURCE_NAME, create);
    config.getIdGeneratorModule().setPersistenceSourceInstance(persistenceSource);
    config.getTxModule().init();
    config.getPersistenceModule().init();
    persistenceSource.init();
    config.getIdGeneratorModule().init();
    config.getGraphDbModule().init();
    kernelExtensionLoader.initializeIndexProviders();
    config.getTxModule().start();
    config.getPersistenceModule().start(config.getTxModule().getTxManager(), persistenceSource, config.getSyncHookFactory());
    persistenceSource.start(config.getTxModule().getXaDataSourceManager());
    config.getIdGeneratorModule().start();
    config.getGraphDbModule().start(config.getLockReleaser(), config.getPersistenceModule().getPersistenceManager(), config.getRelationshipTypeCreator(), params);
    logger.logMessage("--- CONFIGURATION START ---");
    logger.logMessage(autoConfigurator.getNiceMemoryInformation());
    logger.logMessage("Kernel version: " + Version.getKernel());
    for (Version componentVersion : Service.load(Version.class)) {
        logger.logMessage(componentVersion.toString());
    }
    RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
    OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
    logger.logMessage(String.format("Operating System: %s; version: %s; arch: %s; cpus: %s", os.getName(), os.getVersion(), os.getArch(), os.getAvailableProcessors()));
    logger.logMessage("VM Name: " + runtime.getVmName());
    logger.logMessage("VM Vendor: " + runtime.getVmVendor());
    logger.logMessage("VM Version: " + runtime.getVmVersion());
    if (runtime.isBootClassPathSupported()) {
        logger.logMessage("Boot Class Path: " + runtime.getBootClassPath());
    }
    logger.logMessage("Class Path: " + runtime.getClassPath());
    logger.logMessage("Library Path: " + runtime.getLibraryPath());
    for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) {
        logger.logMessage("Garbage Collector: " + gcBean.getName() + ": " + Arrays.toString(gcBean.getMemoryPoolNames()));
    }
    logger.logMessage("VM Arguments: " + runtime.getInputArguments());
    logger.logMessage("");
    logConfiguration(params, logger, dumpToConsole);
    logger.logMessage("--- CONFIGURATION END ---");
    logger.flush();
    started = true;
    return Collections.unmodifiableMap(params);
}
Also used : NioNeoDbPersistenceSource(org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource) GarbageCollectorMXBean(java.lang.management.GarbageCollectorMXBean) RuntimeMXBean(java.lang.management.RuntimeMXBean) StringLogger(org.neo4j.kernel.impl.util.StringLogger) OperatingSystemMXBean(java.lang.management.OperatingSystemMXBean)

Example 40 with OperatingSystemMXBean

use of java.lang.management.OperatingSystemMXBean in project openolat by klemens.

the class RuntimeWebService method getSystemSummaryVO.

/**
 * Return the statistics about runtime: uptime, classes loaded, memory
 * summary, threads count...
 *
 * @response.representation.200.qname {http://www.example.com}runtimeVO
 * @response.representation.200.mediaType application/xml, application/json
 * @response.representation.200.doc The version of the instance
 * @response.representation.200.example {@link org.olat.restapi.system.vo.Examples#SAMPLE_RUNTIMEVO}
 * @response.representation.401.doc The roles of the authenticated user are not sufficient
 * @param request The HTTP request
 * @return The informations about runtime, uptime, classes loaded, memory summary...
 */
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response getSystemSummaryVO() {
    RuntimeStatisticsVO stats = new RuntimeStatisticsVO();
    stats.setMemory(getMemoryStatisticsVO());
    stats.setThreads(getThreadStatisticsVO());
    stats.setClasses(getClasseStatisticsVO());
    OperatingSystemMXBean os = ManagementFactory.getOperatingSystemMXBean();
    RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
    stats.setSystemLoadAverage(os.getSystemLoadAverage());
    stats.setStartTime(new Date(runtime.getStartTime()));
    stats.setUpTime(runtime.getUptime());
    return Response.ok(stats).build();
}
Also used : RuntimeStatisticsVO(org.olat.restapi.system.vo.RuntimeStatisticsVO) RuntimeMXBean(java.lang.management.RuntimeMXBean) OperatingSystemMXBean(java.lang.management.OperatingSystemMXBean) Date(java.util.Date) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Aggregations

OperatingSystemMXBean (java.lang.management.OperatingSystemMXBean)88 RuntimeMXBean (java.lang.management.RuntimeMXBean)26 Method (java.lang.reflect.Method)20 IOException (java.io.IOException)15 MemoryMXBean (java.lang.management.MemoryMXBean)11 MemoryUsage (java.lang.management.MemoryUsage)8 ThreadMXBean (java.lang.management.ThreadMXBean)8 HashMap (java.util.HashMap)8 UnixOperatingSystemMXBean (com.sun.management.UnixOperatingSystemMXBean)7 GarbageCollectorMXBean (java.lang.management.GarbageCollectorMXBean)6 Status (com.alibaba.dubbo.common.status.Status)5 File (java.io.File)5 LinkedHashMap (java.util.LinkedHashMap)5 Map (java.util.Map)5 Test (org.junit.Test)5 Test (org.testng.annotations.Test)5 InvocationTargetException (java.lang.reflect.InvocationTargetException)4 UnknownHostException (java.net.UnknownHostException)4 Date (java.util.Date)4 ExtendedOperatingSystemMXBeanImpl (com.ibm.lang.management.internal.ExtendedOperatingSystemMXBeanImpl)3