|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.lang.Thread
com.sun.slamd.job.JobClass
com.sun.slamd.dslogplay.LogPlaybackJobClass
public class LogPlaybackJobClass
This class defines a SLAMD job that can be used to replay requests parsed from one or more Netscape / iPlanet / Sun ONE Directory Server access log files. It can be used to replay various kinds of operations either in their original order or at random.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class java.lang.Thread |
|---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
| Field Summary | |
|---|---|
static char[] |
ALPHABET
The set of characters to include in randomly-generated values. |
static java.lang.String |
REPLAY_TYPE_RANDOM
The replay operation type that indicates that the operations should be replayed in random order. |
static java.lang.String |
REPLAY_TYPE_SEQUENTIAL_ONCE
The replay operation type that indicates that the operations should be replayed once in the order they appear in the log file. |
static java.lang.String |
REPLAY_TYPE_SEQUENTIAL_REPEATED
The replay operation type that indicates that the operations should be replayed in the order they appear in the log file and that the sequence should repeat when the end is reached. |
static java.lang.String[] |
REPLAY_TYPES
The set of options that may be used to control how the operations are replayed. |
static java.lang.String |
STAT_TRACKER_ADD_DURATION
The display name for the stat tracker used to track the average duration for add operations. |
static java.lang.String |
STAT_TRACKER_ADDS_REPLAYED
The display name for the stat tracker used to count the total number of add operations replayed. |
static java.lang.String |
STAT_TRACKER_BIND_DURATION
The display name for the stat tracker used to track the average duration for bind operations. |
static java.lang.String |
STAT_TRACKER_BINDS_REPLAYED
The display name for the stat tracker used to count the total number of bind operations replayed. |
static java.lang.String |
STAT_TRACKER_COMPARE_DURATION
The display name for the stat tracker used to track the average duration for compare operations. |
static java.lang.String |
STAT_TRACKER_COMPARES_REPLAYED
The display name for the stat tracker used to count the total number of compare operations replayed. |
static java.lang.String |
STAT_TRACKER_DELETE_DURATION
The display name for the stat tracker used to track the average duration for delete operations. |
static java.lang.String |
STAT_TRACKER_DELETES_REPLAYED
The display name for the stat tracker used to count the total number of delete operations replayed. |
static java.lang.String |
STAT_TRACKER_MODIFY_DURATION
The display name for the stat tracker used to track the average duration for modify operations. |
static java.lang.String |
STAT_TRACKER_MODS_REPLAYED
The display name for the stat tracker used to count the total number of modify operations replayed. |
static java.lang.String |
STAT_TRACKER_OPERATION_RATIOS
The display name for the stat tracker used to track the ratio of operations replayed from the log file. |
static java.lang.String |
STAT_TRACKER_RESULT_CODES
The display name for the stat tracker used to track the result codes for the operations replayed. |
static java.lang.String |
STAT_TRACKER_SEARCH_DURATION
The display name for the stat tracker used to track the average duration for search operations. |
static java.lang.String |
STAT_TRACKER_SEARCHES_REPLAYED
The display name for the stat tracker used to count the total number of search operations replayed. |
static java.lang.String |
STAT_TRACKER_TOTAL_DURATION
The display name for the stat tracker used to track the average duration for all operations replayed. |
static java.lang.String |
STAT_TRACKER_TOTAL_REPLAYED
The display name for the stat tracker used to count the total number of operations of all types replayed. |
| Fields inherited from class java.lang.Thread |
|---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
|---|---|
LogPlaybackJobClass()
The default constructor used to create a new instance of the job class. |
|
| Method Summary | |
|---|---|
void |
destroy()
Provides a means for destroying this job thread if it does not respond to a graceful shutdown request. |
java.lang.String |
getJobCategoryName()
Retrieves the name of the category in which this job class exists. |
java.lang.String |
getJobDescription()
Retrieves a description of the job performed by this job thread. |
java.lang.String |
getJobName()
Retrieves the name of the job performed by this job thread. |
LogOperation |
getNextOperation()
Retrieves the next log operation that should be replayed against the directory server. |
ParameterList |
getParameterStubs()
Retrieve a parameter list that can be used to determine all of the customizable options that are available for this job. |
java.lang.String |
getRandomString(int length)
Retrieves a string containing the specified number of randomly-chosen characters. |
StatTracker[] |
getStatTrackers()
Retrieves the stat trackers that are maintained for this job thread. |
StatTracker[] |
getStatTrackerStubs(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval)
Retrieves the set of stat trackers that will be maintained by this job class. |
void |
initializeClient(java.lang.String clientID,
ParameterList parameters)
Performs initialization for this job on each client immediately before each thread is created to actually run the job. |
void |
initializeThread(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval,
ParameterList parameters)
Initializes this job thread to be used to actually run the job on the client. |
boolean |
providesParameterTest()
Indicates whether this job class implements logic that makes it possible to test the validity of job parameters before scheduling the job for execution (e.g., to see if the server is reachable using the information provided). |
void |
runJob()
Perform the work of this job thread by executing the specified command. |
boolean |
testJobParameters(ParameterList parameters,
java.util.ArrayList outputMessages)
Provides a means of testing the provided job parameters to determine whether they are valid (e.g., to see if the server is reachable) before scheduling the job for execution. |
void |
validateJobInfo(int numClients,
int threadsPerClient,
int threadStartupDelay,
java.util.Date startTime,
java.util.Date stopTime,
int duration,
int collectionInterval,
ParameterList parameters)
Provides a means of validating the information used to schedule the job, including the scheduling information and list of parameters. |
| Methods inherited from class java.lang.Thread |
|---|
activeCount, checkAccess, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String STAT_TRACKER_TOTAL_REPLAYED
public static final java.lang.String STAT_TRACKER_ADDS_REPLAYED
public static final java.lang.String STAT_TRACKER_BINDS_REPLAYED
public static final java.lang.String STAT_TRACKER_COMPARES_REPLAYED
public static final java.lang.String STAT_TRACKER_DELETES_REPLAYED
public static final java.lang.String STAT_TRACKER_MODS_REPLAYED
public static final java.lang.String STAT_TRACKER_SEARCHES_REPLAYED
public static final java.lang.String STAT_TRACKER_TOTAL_DURATION
public static final java.lang.String STAT_TRACKER_ADD_DURATION
public static final java.lang.String STAT_TRACKER_BIND_DURATION
public static final java.lang.String STAT_TRACKER_COMPARE_DURATION
public static final java.lang.String STAT_TRACKER_DELETE_DURATION
public static final java.lang.String STAT_TRACKER_MODIFY_DURATION
public static final java.lang.String STAT_TRACKER_SEARCH_DURATION
public static final java.lang.String STAT_TRACKER_OPERATION_RATIOS
public static final java.lang.String STAT_TRACKER_RESULT_CODES
public static final java.lang.String REPLAY_TYPE_RANDOM
public static final java.lang.String REPLAY_TYPE_SEQUENTIAL_ONCE
public static final java.lang.String REPLAY_TYPE_SEQUENTIAL_REPEATED
public static final java.lang.String[] REPLAY_TYPES
public static final char[] ALPHABET
| Constructor Detail |
|---|
public LogPlaybackJobClass()
initialize
method.
| Method Detail |
|---|
public java.lang.String getJobName()
getJobName in class JobClasspublic java.lang.String getJobDescription()
getJobDescription in class JobClasspublic java.lang.String getJobCategoryName()
getJobCategoryName in class JobClasspublic ParameterList getParameterStubs()
getParameterStubs in class JobClass
public StatTracker[] getStatTrackerStubs(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval)
getStatTrackerStubs in class JobClassclientID - The client ID that should be used for the
returned stat trackers.threadID - The thread ID that should be used for the
returned stat trackers.collectionInterval - The collection interval that should be used for
the returned stat trackers.
public StatTracker[] getStatTrackers()
getStatTrackers in class JobClass
public void validateJobInfo(int numClients,
int threadsPerClient,
int threadStartupDelay,
java.util.Date startTime,
java.util.Date stopTime,
int duration,
int collectionInterval,
ParameterList parameters)
throws InvalidValueException
validateJobInfo in class JobClassnumClients - The number of clients that should be used to
run the job.threadsPerClient - The number of threads that should be created on
each client to run the job.threadStartupDelay - The delay in milliseconds that should be used
when starting the client threads.startTime - The time that the job should start running.stopTime - The time that the job should stop running.duration - The maximum length of time in seconds that the
job should be allowed to run.collectionInterval - The collection interval that should be used
when gathering statistics for the job.parameters - The set of parameters provided to this job that
can be used to customize its behavior.
InvalidValueException - If the provided information is not
appropriate for running this job.public boolean providesParameterTest()
false to indicate that this is
not provided, but actual implementations may override this method to
return true and should also override the
testJobParameters method to implement the actual test.
providesParameterTest in class JobClasstrue if this job provides a means of testing the job
parameters, or false if not.
public boolean testJobParameters(ParameterList parameters,
java.util.ArrayList outputMessages)
testJobParameters in class JobClassparameters - The job parameters to be tested.outputMessages - The lines of output that were generated as part of
the testing process. Each line of output should
be added to this list as a separate string, and
empty strings (but not null values)
are allowed to provide separation between
different messages. No formatting should be
provided for these messages, however, since they
may be displayed in either an HTML or plain text
interface.
true if the test completed successfully, or
false if not. Note that even if the test did not
complete successfully, the user will be presented with a warning
but will still be allowed to schedule the job using the provided
parameters. This is necessary because the parameters may still be
valid even if the server couldn't validate them at the time the
job was scheduled (e.g., if the server wasn't running or could not
be reached by the SLAMD server even though it could be by the
clients).
public void initializeClient(java.lang.String clientID,
ParameterList parameters)
throws UnableToRunException
initializeClient in class JobClassclientID - The ID assigned to the client running this job.parameters - The set of parameters provided to this job that can be
used to customize its behavior.
UnableToRunException - If the client initialization could not be
completed successfully and the job is unable
to run.
public void initializeThread(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval,
ParameterList parameters)
throws UnableToRunException
initializeThread in class JobClassclientID - The client ID for this job thread.threadID - The thread ID for this job thread.collectionInterval - The length of time in seconds to use as the
statistics collection interval.parameters - The set of parameters provided to this job that
can be used to customize its behavior.
UnableToRunException - If a problem occurs that prevents the thread
from being able to run properly.public void runJob()
runJob in class JobClasspublic void destroy()
destroy in class JobClasspublic java.lang.String getRandomString(int length)
length - The number of characters to include in the generated
string.
public LogOperation getNextOperation()
null if there are no more
operations to replay.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||