com.sun.sgs.impl.profile.listener
Class SnapshotProfileListener

java.lang.Object
  extended by com.sun.sgs.impl.profile.listener.SnapshotProfileListener
All Implemented Interfaces:
ProfileListener

public class SnapshotProfileListener
extends Object
implements ProfileListener

This implementation of ProfileListener takes snapshots at fixed intervals. It provides a very simple view of what the system has done over the last interval. By default the time interval is 10 seconds.

Note that this is still a work in progress. It doesn't report anything except the number of threads and the succeeded/total number of tasks. To get a better view of the system, we probably need things like the time threads are waiting for tasks, the size of the queues, etc., but those haven't been added to the interfaces yet.

This listener reports its findings on a server socket. Any number of users may connect to that socket to watch the reports. The default port used is 43007.

The com.sun.sgs.impl.profile.listener.SnapshotProfileListener. root is used for all properties in this class. The report.port key is used to specify an alternate port on which to report profiling data. The report.period key is used to specify the length of time, in milliseconds, between reports.

See Also:
AggregateTaskListener

Field Summary
 
Fields inherited from interface com.sun.sgs.profile.ProfileListener
WINDOW_SIZE_PROPERTY
 
Constructor Summary
SnapshotProfileListener(Properties properties, Identity owner, ComponentRegistry registry)
          Creates an instance of SnapshotProfileListener.
 
Method Summary
 void propertyChange(PropertyChangeEvent event)
          Notifies this listener of a new change in the system properties.
 void report(ProfileReport profileReport)
          Reports a completed task that has been run through the scheduler.
 void shutdown()
          Tells this listener that the system is shutting down.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SnapshotProfileListener

public SnapshotProfileListener(Properties properties,
                               Identity owner,
                               ComponentRegistry registry)
                        throws IOException
Creates an instance of SnapshotProfileListener.

Parameters:
properties - the Properties for this listener
owner - the Identity to use for all tasks run by this listener
registry - the ComponentRegistry containing the available system components
Throws:
IOException - if the server socket cannot be created
Method Detail

propertyChange

public void propertyChange(PropertyChangeEvent event)
Notifies this listener of a new change in the system properties. This method is called for any property that changes.

The current list of supported property names is as follows:

name description new value old value
com.sun.sgs.profile.newop a new operation is registered with the system. the new operation : ProfileOperation null
com.sun.sgs.profile.threadcount the number of threads in the system has changed. the current number of threads : Integer the previous number of threads : Integer
com.sun.sgs.profile.nodeid the local node has been assigned a unique identifier the identifier for the local node: Long null

Specified by:
propertyChange in interface ProfileListener
Parameters:
event - A PropertyChangeEvent object describing the name of the property, its old and new values and the source of the change.

report

public void report(ProfileReport profileReport)
Reports a completed task that has been run through the scheduler. The task may have completed successfully or may have failed. If a task is re-tried, then this method will be called multiple times for each re-try of the same task. Note that in this case the scheduledStartTime will remain constant but the actualStartTime will change for each re-try of the same task.

Specified by:
report in interface ProfileListener
Parameters:
profileReport - the ProfileReport for the task

shutdown

public void shutdown()
Tells this listener that the system is shutting down.

Specified by:
shutdown in interface ProfileListener

RedDwarf, Version 0.10.1
2010-03-14 10:56:12

Copyright © 2010 The RedDwarf Authors. All rights reserved
Copyright © 2007-2010 Sun Microsystems, Inc. All rights reserved