%WebStress.Playback

persistent class %WebStress.Playback extends %Library.Persistent, %XML.Adaptor

SQL Table Name: %WebStress.Playback

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties

property CoolDownMins as %Integer;
The number of minutes that the test will run for at the end of recording the statistics.
This ensures that we do not get any abnormally 'quick' timings at the end of statistics recording due to a lower load on the server.
Property methods: CoolDownMinsDisplayToLogical(), CoolDownMinsGet(), CoolDownMinsGetStored(), CoolDownMinsIsValid(), CoolDownMinsLogicalToDisplay(), CoolDownMinsNormalize(), CoolDownMinsSet(), CoolDownMinsXSDToLogical()
property Generator as %String [ Required ];
The name of the generator that will be used to generate the traffic
Property methods: GeneratorDisplayToLogical(), GeneratorGet(), GeneratorGetStored(), GeneratorIsValid(), GeneratorLogicalToDisplay(), GeneratorLogicalToOdbc(), GeneratorNormalize(), GeneratorSet()
property HttpSessions as list of %WebStress.Playback.Session;
A collection of sessions for this process
Property methods: HttpSessionsBuildValueArray(), HttpSessionsCollectionToDisplay(), HttpSessionsCollectionToOdbc(), HttpSessionsDisplayToCollection(), HttpSessionsGet(), HttpSessionsGetObject(), HttpSessionsGetObjectId(), HttpSessionsGetStored(), HttpSessionsGetSwizzled(), HttpSessionsIsValid(), HttpSessionsOdbcToCollection(), HttpSessionsSet(), HttpSessionsSetObject(), HttpSessionsSetObjectId()
property LoopBackPcnt as %Integer;
This is the percentage of the time that the LoopBackURL will be used rather than the first URL
Property methods: LoopBackPcntDisplayToLogical(), LoopBackPcntGet(), LoopBackPcntGetStored(), LoopBackPcntIsValid(), LoopBackPcntLogicalToDisplay(), LoopBackPcntNormalize(), LoopBackPcntSet(), LoopBackPcntXSDToLogical()
property LoopBackURL as %Integer;
This is a pointer to the URL in the script that we will loop back to rather than just back to the first URL.
This may because the first URL is thestart of the user login process and we don't want to have the 'virtual user' logging in every time.
Property methods: LoopBackURLDisplayToLogical(), LoopBackURLGet(), LoopBackURLGetStored(), LoopBackURLIsValid(), LoopBackURLLogicalToDisplay(), LoopBackURLNormalize(), LoopBackURLSet(), LoopBackURLXSDToLogical()
property NextInvoke as %String [ MultiDimensional ];
Property methods: NextInvokeDisplayToLogical(), NextInvokeGet(), NextInvokeIsValid(), NextInvokeLogicalToDisplay(), NextInvokeLogicalToOdbc(), NextInvokeNormalize(), NextInvokeSet()
property NoDelay as array of %String;
Used to hold an array of all the page types where we specify no delay before making the call
Property methods: NoDelayBuildValueArray(), NoDelayCollectionToDisplay(), NoDelayCollectionToOdbc(), NoDelayDisplayToCollection(), NoDelayDisplayToLogical(), NoDelayGet(), NoDelayGetObject(), NoDelayGetObjectId(), NoDelayGetStored(), NoDelayGetSwizzled(), NoDelayIsValid(), NoDelayLogicalToDisplay(), NoDelayLogicalToOdbc(), NoDelayNormalize(), NoDelayOdbcToCollection(), NoDelaySet(), NoDelaySetObject(), NoDelaySetObjectId()
property NoResults as array of %String;
Used to hold an array of all the page types where we don't want to record statistics
Property methods: NoResultsBuildValueArray(), NoResultsCollectionToDisplay(), NoResultsCollectionToOdbc(), NoResultsDisplayToCollection(), NoResultsDisplayToLogical(), NoResultsGet(), NoResultsGetObject(), NoResultsGetObjectId(), NoResultsGetStored(), NoResultsGetSwizzled(), NoResultsIsValid(), NoResultsLogicalToDisplay(), NoResultsLogicalToOdbc(), NoResultsNormalize(), NoResultsOdbcToCollection(), NoResultsSet(), NoResultsSetObject(), NoResultsSetObjectId()
property ProcessID as %String [ InitialExpression = $job , Required ];
This process ID
Property methods: ProcessIDDisplayToLogical(), ProcessIDGet(), ProcessIDGetStored(), ProcessIDIsValid(), ProcessIDLogicalToDisplay(), ProcessIDLogicalToOdbc(), ProcessIDNormalize(), ProcessIDSet()
property ProxyAddress as %String;
Property methods: ProxyAddressDisplayToLogical(), ProxyAddressGet(), ProxyAddressGetStored(), ProxyAddressIsValid(), ProxyAddressLogicalToDisplay(), ProxyAddressLogicalToOdbc(), ProxyAddressNormalize(), ProxyAddressSet()
property ProxyPort as %Integer;
Property methods: ProxyPortDisplayToLogical(), ProxyPortGet(), ProxyPortGetStored(), ProxyPortIsValid(), ProxyPortLogicalToDisplay(), ProxyPortNormalize(), ProxyPortSet(), ProxyPortXSDToLogical()
property RecordStart as %Integer;
Property methods: RecordStartDisplayToLogical(), RecordStartGet(), RecordStartGetStored(), RecordStartIsValid(), RecordStartLogicalToDisplay(), RecordStartNormalize(), RecordStartSet(), RecordStartXSDToLogical()
property RecordStop as %Integer;
Property methods: RecordStopDisplayToLogical(), RecordStopGet(), RecordStopGetStored(), RecordStopIsValid(), RecordStopLogicalToDisplay(), RecordStopNormalize(), RecordStopSet(), RecordStopXSDToLogical()
property Run as %WebStress.Run;
Container for the Run object
Property methods: Run(), RunGet(), RunGetObject(), RunGetObjectId(), RunGetStored(), RunGetSwizzled(), RunIDDisplayToLogical(), RunIDGet(), RunIDGetStored(), RunIDIsValid(), RunIDLogicalToDisplay(), RunIDNormalize(), RunIDSet(), RunIDXSDToLogical(), RunIsValid(), RunMinsDisplayToLogical(), RunMinsGet(), RunMinsGetStored(), RunMinsIsValid(), RunMinsLogicalToDisplay(), RunMinsNormalize(), RunMinsSet(), RunMinsXSDToLogical(), RunNewObject(), RunSet(), RunSetObject(), RunSetObjectId(), RunStop(), RunUnSwizzle(), RunWait()
property RunID as %Integer [ Required ];
A unique number representing this run
Property methods: RunIDDisplayToLogical(), RunIDGet(), RunIDGetStored(), RunIDIsValid(), RunIDLogicalToDisplay(), RunIDNormalize(), RunIDSet(), RunIDXSDToLogical()
property RunMins as %Integer;
The number of minutes that the test will run. Used instead of start/stop date/time or can be blank if start/stop date/time are used.
Property methods: RunMinsDisplayToLogical(), RunMinsGet(), RunMinsGetStored(), RunMinsIsValid(), RunMinsLogicalToDisplay(), RunMinsNormalize(), RunMinsSet(), RunMinsXSDToLogical()
property SSLConfiguration as %String;
Property methods: SSLConfigurationDisplayToLogical(), SSLConfigurationGet(), SSLConfigurationGetStored(), SSLConfigurationIsValid(), SSLConfigurationLogicalToDisplay(), SSLConfigurationLogicalToOdbc(), SSLConfigurationNormalize(), SSLConfigurationSet()
property SavePage as %Boolean;
A flag that indicates whether or not to save the returned page information into disk files.
Property methods: SavePageDirDisplayToLogical(), SavePageDirGet(), SavePageDirGetStored(), SavePageDirIsValid(), SavePageDirLogicalToDisplay(), SavePageDirLogicalToOdbc(), SavePageDirNormalize(), SavePageDirSet(), SavePageDisplayToLogical(), SavePageGet(), SavePageGetStored(), SavePageIsValid(), SavePageLogicalToDisplay(), SavePageLogicalToXSD(), SavePageNormalize(), SavePageSet(), SavePageXSDToLogical()
property SavePageDir as %String;
The root directory of where to sabe the returned page details if indicated to do so by the SavePage property
Property methods: SavePageDirDisplayToLogical(), SavePageDirGet(), SavePageDirGetStored(), SavePageDirIsValid(), SavePageDirLogicalToDisplay(), SavePageDirLogicalToOdbc(), SavePageDirNormalize(), SavePageDirSet()
property Script as %WebStress.Scripts;
Container for the %WebStress.Script object
Property methods: ScriptGet(), ScriptGetObject(), ScriptGetObjectId(), ScriptGetStored(), ScriptGetSwizzled(), ScriptIDDisplayToLogical(), ScriptIDGet(), ScriptIDGetStored(), ScriptIDIsValid(), ScriptIDLogicalToDisplay(), ScriptIDNormalize(), ScriptIDSet(), ScriptIDXSDToLogical(), ScriptIsValid(), ScriptNewObject(), ScriptPauseDisplayToLogical(), ScriptPauseGet(), ScriptPauseGetStored(), ScriptPauseIsValid(), ScriptPauseLogicalToDisplay(), ScriptPauseNormalize(), ScriptPauseSet(), ScriptPauseXSDToLogical(), ScriptSet(), ScriptSetObject(), ScriptSetObjectId(), ScriptUnSwizzle()
property ScriptID as %Integer;
Pointer to %WebStress.Scripts
Property methods: ScriptIDDisplayToLogical(), ScriptIDGet(), ScriptIDGetStored(), ScriptIDIsValid(), ScriptIDLogicalToDisplay(), ScriptIDNormalize(), ScriptIDSet(), ScriptIDXSDToLogical()
property ScriptPause as %Integer;
The number of seconds to pause at the end of each script.
This gives a more realistic playback as 'human' input would normally pause before running the same workflow again.
Property methods: ScriptPauseDisplayToLogical(), ScriptPauseGet(), ScriptPauseGetStored(), ScriptPauseIsValid(), ScriptPauseLogicalToDisplay(), ScriptPauseNormalize(), ScriptPauseSet(), ScriptPauseXSDToLogical()
property Sessions as %Integer;
The number of sessions per process
Property methods: SessionsDisplayToLogical(), SessionsGet(), SessionsGetStored(), SessionsIsValid(), SessionsLogicalToDisplay(), SessionsNormalize(), SessionsSet(), SessionsXSDToLogical()
property StartDate as %Date;
The date that the test run will start. Can be blank.
Property methods: StartDateDisplayToLogical(), StartDateGet(), StartDateGetStored(), StartDateIsValid(), StartDateLogicalToDisplay(), StartDateLogicalToOdbc(), StartDateLogicalToXSD(), StartDateNormalize(), StartDateOdbcToLogical(), StartDateSet(), StartDateXSDToLogical()
property StartTime as %Time;
The time that the test run will start. Can be blank.
Property methods: StartTimeDisplayToLogical(), StartTimeGet(), StartTimeGetStored(), StartTimeIsValid(), StartTimeLogicalToDisplay(), StartTimeLogicalToOdbc(), StartTimeLogicalToXSD(), StartTimeNormalize(), StartTimeOdbcToLogical(), StartTimeSet(), StartTimeXSDToLogical()
property Status as %WebStress.Playback.Status;
Property methods: StatusGet(), StatusGetObject(), StatusGetObjectId(), StatusGetStored(), StatusGetSwizzled(), StatusIsValid(), StatusNewObject(), StatusSet(), StatusSetObject(), StatusSetObjectId(), StatusUnSwizzle()
property StopDate as %Date;
The date that the test run will stop. Can be blank.
Property methods: StopDateDisplayToLogical(), StopDateGet(), StopDateGetStored(), StopDateIsValid(), StopDateLogicalToDisplay(), StopDateLogicalToOdbc(), StopDateLogicalToXSD(), StopDateNormalize(), StopDateOdbcToLogical(), StopDateSet(), StopDateXSDToLogical()
property StopTime as %Time;
The time that the test run will stop. Can be blank.
Property methods: StopTimeDisplayToLogical(), StopTimeGet(), StopTimeGetStored(), StopTimeIsValid(), StopTimeLogicalToDisplay(), StopTimeLogicalToOdbc(), StopTimeLogicalToXSD(), StopTimeNormalize(), StopTimeOdbcToLogical(), StopTimeSet(), StopTimeXSDToLogical()
property Test as %WebStress.Tests;
Container for the %WebStress.Tests object
Property methods: TestGet(), TestGetObject(), TestGetObjectId(), TestGetStored(), TestGetSwizzled(), TestIDDisplayToLogical(), TestIDGet(), TestIDGetStored(), TestIDIsValid(), TestIDLogicalToDisplay(), TestIDNormalize(), TestIDSet(), TestIDXSDToLogical(), TestIsValid(), TestNewObject(), TestSet(), TestSetObject(), TestSetObjectId(), TestStopDisplayToLogical(), TestStopGet(), TestStopGetStored(), TestStopIsValid(), TestStopLogicalToDisplay(), TestStopNormalize(), TestStopSet(), TestStopXSDToLogical(), TestUnSwizzle()
property TestID as %Integer;
Pointer to %WebStress.Tests
Property methods: TestIDDisplayToLogical(), TestIDGet(), TestIDGetStored(), TestIDIsValid(), TestIDLogicalToDisplay(), TestIDNormalize(), TestIDSet(), TestIDXSDToLogical()
property TestStop as %Integer;
Property methods: TestStopDisplayToLogical(), TestStopGet(), TestStopGetStored(), TestStopIsValid(), TestStopLogicalToDisplay(), TestStopNormalize(), TestStopSet(), TestStopXSDToLogical()
property TimeDiff as %Float;
The difference between the time on this machine and the time on the 'controller' (The system that initiated the run)
Property methods: TimeDiffDisplayToLogical(), TimeDiffGet(), TimeDiffGetStored(), TimeDiffIsValid(), TimeDiffLogicalToDisplay(), TimeDiffNormalize(), TimeDiffSet(), TimeDiffXSDToLogical()
property WarmUpMins as %Integer;
The number of minutes that the test will run for before recording the statistics starts.
This is to ensure that all the processes are running and that a consistent load is being applied to the server before the recording starts.
The value should be long enough to ensure that each script is able to run through to completion at least once
Property methods: WarmUpMinsDisplayToLogical(), WarmUpMinsGet(), WarmUpMinsGetStored(), WarmUpMinsIsValid(), WarmUpMinsLogicalToDisplay(), WarmUpMinsNormalize(), WarmUpMinsSet(), WarmUpMinsXSDToLogical()
property WebServer as %String;
The address of the web server that will be used
Property methods: WebServerDisplayToLogical(), WebServerGet(), WebServerGetStored(), WebServerIsValid(), WebServerLogicalToDisplay(), WebServerLogicalToOdbc(), WebServerNormalize(), WebServerPortDisplayToLogical(), WebServerPortGet(), WebServerPortGetStored(), WebServerPortIsValid(), WebServerPortLogicalToDisplay(), WebServerPortNormalize(), WebServerPortSet(), WebServerPortXSDToLogical(), WebServerSet()
property WebServerPort as %Integer;
The port number on the web server
Property methods: WebServerPortDisplayToLogical(), WebServerPortGet(), WebServerPortGetStored(), WebServerPortIsValid(), WebServerPortLogicalToDisplay(), WebServerPortNormalize(), WebServerPortSet(), WebServerPortXSDToLogical()
property debug as %Boolean;
This property used internally for debugging and logging purposes.
Property methods: debugDisplayToLogical(), debugGet(), debugGetStored(), debugIsValid(), debugLogicalToDisplay(), debugLogicalToXSD(), debugNormalize(), debugSet(), debugXSDToLogical()

Methods

method CheckRecordStatus() [ Language = objectscript ]
method ErrorCheck(ByRef errorStatus As %Integer = 0, errorText As %String = "", ByRef objUrl As %WebStress.Scripts.URLS, session As %Integer, urlId As %Integer) [ Language = objectscript ]
Called after each call to check the page error status
method GetTimes() [ Language = objectscript ]
method Playback() [ Language = objectscript ]
This runs the playback
method PostExecute(ByRef objUrl As %WebStress.Scripts.URLS) [ Language = objectscript ]
Called after a URL call has been made to the server
method PostRunCode() [ Language = objectscript ]
This is called at the end of the full script
method PreExecute(ByRef objUrl As %WebStress.Scripts.URLS, ByRef params As %String) [ Language = objectscript ]
This is called before a URL call is made to the server. Normally to reset any parameters
method PreRunCode(ByRef objUrl As %WebStress.Scripts.URLS, session As %Integer, urlId As %Integer) [ Language = objectscript ]
This is called at the start of the full script
classmethod Run(RunID As %Integer, TestID As %Integer, ScriptID As %Integer, Generator As %String, WebServer As %String, WebServerPort As %Integer = 80, Sessions As %Integer = 1, StartDate As %Date = "", StopDate As %Date = "", StartTime As %Time = "", StopTime As %Time = "", RunMins As %Integer, WarmUpMins As %Integer, CoolDownMins As %Integer, ScriptPause As %Integer, LoopBackUrl As %Integer = "", LoopBackPcnt As %Integer = "", TimeDiff As %Integer, debug As %Boolean = 0, Visual As %Boolean = 0, SavePage As %Boolean = 0, SavePageDir As %String, ProxyAddress As %String, ProxyPort As %Integer, SSLConfiguration As %String) [ Language = objectscript ]
Enter here to start the run processing
method RunStop(controller As %Boolean = 0) as %Boolean [ Language = objectscript ]
classmethod RunWait(TestID As %Integer, StartDate As %Integer, StopDate As %Integer, StartTime As %Integer, StopTime As %Integer, debug As %Boolean) as %Integer [ Language = objectscript ]
method SetError(session As %Integer, urlId As %Integer, objUrl As %WebStress.Scripts.URLS, errorStatus As %Integer, errorText As %String) [ Language = objectscript ]

Indices

index (Main on RunID,Generator,ProcessID) [IdKey, PrimaryKey, Type = key, Unique];
The array showing which session is to be run next
Index methods: MainCheck(), MainDelete(), MainExists(), MainOpen(), MainSQLCheckUnique(), MainSQLExists(), MainSQLFindPKeyByConstraint(), MainSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods (Including Private)

Storage

Storage Model: Storage (%WebStress.Playback)

^WebStress.PlaybackD(ID,"NoDelay",n)
=
NoDelay(n)

Storage Model: Storage (%WebStress.Playback)

^WebStress.PlaybackD(ID,"NoResults",n)
=
NoResults(n)

Storage Model: Storage (%WebStress.Playback)

^WebStress.PlaybackD(ID)
=
%%CLASSNAME
Run
TestID
Test
ScriptID
Script
WebServer
WebServerPort
Sessions
StartDate
StopDate
StartTime
StopTime
RunMins
WarmUpMins
CoolDownMins
ScriptPause
LoopBackURL
LoopBackPcnt
TimeDiff
debug
SavePage
SavePageDir
Status
StatusText
HttpSessions
RecordStart
RecordStop
TestStop
ProxyAddress
ProxyPort
SSLConfiguration
Feedback