Thermostat

From IcedTea

Jump to: navigation, search

For other project resources (mailing list, version control, bug reporting) please go to: landing page.

Contents

What is Thermostat?

Thermostat is an instrumentation tool for the Hotspot JVM, with support for monitoring multiple JVM instances on multiple hosts, optionally in a cloud environment.

  • We want a tool that allows users of IcedTea/OpenJDK to monitor running JVMs, especially remote JVMs.
  • Both high level (uptime, cpu and memory usage) and low level (including hotspot's perf data) information should be available through the tool.
  • The tool should be usable in a production environment, with minimal overhead.

The name Thermostat is intended as a play on words - Thermostat is to Hotspot much as IcedTea is to Java. There are a number of ways of accessing information about the running Hotspot JVM. These include jstatd, JMX, JVMTI, and Systemtap. There is also information available from the host system that would be relevant to developers and administrators. Thermostat should provide a pluggable framework for using one or more of these information sources to monitor local or remote JVMs, in order to best allow us as well as other members of the Open Source Java community to extend the collection capability of the system.

It is worth noting that there is some overlap in terms of the information that several of these monitoring tools/APIs can provide.

Why Thermostat?

Here is some discussion about what makes Thermostat stand out.

Screenshots

Thermostat Swing GUI

Thermostat Shell (CLI)

Using Thermostat

Thermostat users are encouraged to read our Thermostat User Guide.

See also: Thermostat Security Considerations

Thermostat Development

Do you want to contribute to Thermostat? Here are a few pages you might find useful.

Development Environment Setup

Please select a link below for instructions as to how to set up a development environment on the given operating system:

Design And Architecture

Miscellaneous Development Related Pages

Thermostat Features

Thermostat is currently shortly past our first 1.0 release. Please see our features page for a general overview of what's been implemented so far.

Thermostat Talks and Presentations

Some talks and presentations about thermostat are available too.

OSGi Services

Thermostat exports a number of services:

Client

  • com.redhat.thermostat.client.osgi.service.VMContextAction
  • com.redhat.thermostat.client.osgi.service.ApplicationService
  • com.redhat.thermostat.client.osgi.service.ContextAction
  • com.redhat.thermostat.client.osgi.service.VmInformationService
  • com.redhat.thermostat.service.process.UNIXProcessHandler


NUMA

It would be nice to be able to get some NUMA related information out of Thermostat. The linux kernel provides a variety of tools:

  • numactl
  • numastat
  • getcpu system call
  • get_mempolicy sytem call
  • man numa_maps

Together with Hotspot NUMA support we should be able to get some information out of the system. Related docs: JEP 157; http://osdir.com/ml/java.openjdk.hotspot.devel/2008-03/msg00009.html

Personal tools