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;
}
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));
}
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();
}
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);
}
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();
}
Aggregations