Interface IWorkloadTarget
-
- All Superinterfaces:
ICICSObject
,ICPSMManager
,com.ibm.cics.model.meta.ITypedObject
public interface IWorkloadTarget extends ICPSMManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
IWorkloadTarget.ContactStatusValue
Enumeration type for field CON_STATUSstatic class
IWorkloadTarget.EventsValue
Enumeration type for field EVENTSstatic class
IWorkloadTarget.HealthDumpValue
Enumeration type for field HLTHDUMPstatic class
IWorkloadTarget.HealthMasNonresponsiveValue
Enumeration type for field HLTHNRMstatic class
IWorkloadTarget.HealthMaxtasksValue
Enumeration type for field HLTHMAXTstatic class
IWorkloadTarget.HealthShortOnStorageValue
Enumeration type for field HLTHSOSstatic class
IWorkloadTarget.HealthStallValue
Enumeration type for field HLTHSTALLstatic class
IWorkloadTarget.OptimizationStatusValue
Enumeration type for field OWSTATEstatic class
IWorkloadTarget.StatusValue
Enumeration type for field STATUSstatic class
IWorkloadTarget.TaskLoadQueueModeValue
Enumeration type for field WLMQMODE
-
Field Summary
-
Fields inherited from interface com.ibm.cics.model.ICPSMManager
COPYRIGHT
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Long
getCfUpdateCount()
Getter for field CFUPDCNTIWorkloadTargetReference
getCICSObjectReference()
IWorkloadTarget.ContactStatusValue
getContactStatus()
Getter for field CON_STATUSjava.lang.String
getCpsmver()
Getter for field CPSMVERIWorkloadTarget.EventsValue
getEvents()
Getter for field EVENTSIWorkloadTarget.HealthDumpValue
getHealthDump()
Getter for field HLTHDUMPjava.lang.Long
getHealthIndicator()
Getter for field WLMHLTHIWorkloadTarget.HealthMasNonresponsiveValue
getHealthMasNonresponsive()
Getter for field HLTHNRMIWorkloadTarget.HealthMaxtasksValue
getHealthMaxtasks()
Getter for field HLTHMAXTIWorkloadTarget.HealthShortOnStorageValue
getHealthShortOnStorage()
Getter for field HLTHSOSIWorkloadTarget.HealthStallValue
getHealthStall()
Getter for field HLTHSTALLjava.lang.Long
getMaxtasks()
Getter for field MAXTASKSICICSType<IWorkloadTarget>
getObjectType()
IWorkloadTarget.OptimizationStatusValue
getOptimizationStatus()
Getter for field OWSTATEjava.lang.Long
getRoutingLoad()
Getter for field ROUTINGLOADjava.lang.Long
getRoutingWeight()
Getter for field ROUTEWGHTjava.lang.String
getRptcmas()
Getter for field RPTCMASjava.lang.String
getRsServerPoolId()
Getter for field RSPOOLIDjava.lang.Long
getRsServerReadInterval()
Getter for field READRSjava.lang.Long
getRsServerUpdateFreq()
Getter for field UPDATERSIWorkloadTarget.StatusValue
getStatus()
Getter for field STATUSjava.lang.String
getTargetRegion()
Getter for field AORjava.lang.Long
getTaskCountIncrement()
Getter for field TASKINCjava.lang.Long
getTaskLoad()
Getter for field TASKLOADjava.lang.Long
getTaskLoadHealthThreshold()
Getter for field WLMTHRSHIWorkloadTarget.TaskLoadQueueModeValue
getTaskLoadQueueMode()
Getter for field WLMQMODEjava.lang.String
getWorkload()
Getter for field WORKLOADjava.lang.String
getWorkloadOwner()
Getter for field WRKLOWNER-
Methods inherited from interface com.ibm.cics.model.ICICSObject
getCICSType, getName
-
Methods inherited from interface com.ibm.cics.model.ICPSMManager
getCICSContainer
-
-
-
-
Method Detail
-
getObjectType
ICICSType<IWorkloadTarget> getObjectType()
- Specified by:
getObjectType
in interfaceICICSObject
- Specified by:
getObjectType
in interfaceICPSMManager
- Specified by:
getObjectType
in interfacecom.ibm.cics.model.meta.ITypedObject
-
getWorkload
java.lang.String getWorkload()
Getter for field WORKLOADWorkload name
The name of the workload specification.
-
getTargetRegion
java.lang.String getTargetRegion()
Getter for field AORTarget region name
The name of an active CICS system, acting as a target region, to which the workload is associated.
-
getStatus
IWorkloadTarget.StatusValue getStatus()
Getter for field STATUSTarget region status
The current status of the target region associated with the workload, as one of the following:
- ACTIVE - The target is available to participate in workload management.
- QUIESCEING - The target is being quiesced. No new transactions are routed to this target. Transactions currently being routed to this target are routed to another target, unless an affinity relation exists. If there is an affinity relation, transactions continue to be routed to this target until the affinity lifetime expires. Note that if a target has an affinity lifetime of PERMANENT, it will remain in a QUIESCING state indefinitely.
- QUIESCED - The target is not available to participate in workload management.
Input Values: ACTIVE | QUIESCE
-
getContactStatus
IWorkloadTarget.ContactStatusValue getContactStatus()
Getter for field CON_STATUSTarget region contact status
The status of the connection between the target region and the CMAS. Values are:
- LOSTCON - The connection between the target region and the CMASs has been lost.
- N_A - The connection between the target region and the CMASs managing the workload is available.
-
getWorkloadOwner
java.lang.String getWorkloadOwner()
Getter for field WRKLOWNERSystem ID of workload owner
The 4-character CICS system ID of the CMAS that created the workload.
-
getRsServerReadInterval
java.lang.Long getRsServerReadInterval()
Getter for field READRSRS server read interval
Within a workload running in optimized mode, this value specifies the minimum interval between refreshes of a target region status from a CICS CFDT Server. These refresh requests will be issued by a routing region that is evaluating this region as a possible target for a dynamic routing request.
The value range is from 0 to 2000, and represents units of milliseconds:
- When the Optimization status is not set to Active, then this value will be set to 0, and WLM will ignore it. When the Optimization status is set to Active, then a value of 0 means that a routing region will request a status update of a target region on every occasion that it examines this region's status.
- Values between 1 and 2000 specify the minimum time interval that must expire before the
status of this region can be refreshed.
A low interval value means that the CFDT Server will be polled more often for a status update, than for a higher value. For workloads in QUEUE mode, this will result in a task load more evenly distributed across the CICS regions in the workload target scope (assuming all other health and link factors are equal) . However, the utilization of the RS server will be correspondingly increased, which may consequently result in a higher utilization of your z/OS Coupling Facility.
A value of 1000 represents a one second interval. The default value is 200 milliseconds
This value may be modified for this specific region using the MASs known to CICSplex views, or the CICS system definition views.
-
getRsServerUpdateFreq
java.lang.Long getRsServerUpdateFreq()
Getter for field UPDATERSRS Server update frequency
Within a workload running in optimized mode, this value specifies the frequency with which the CICS CFDT (RS) server will be called to modify the value of the task load within this target region.
The value range is from 0 to 25:
- When the Optimization status is not set to Active, then this value will be set to 0, and WLM will ignore it. When the Optimization status is set to Active, then a value of 0 means that the RS Server is not notified of any task load count changes, which disables the optimized workload function for this target region.
- Values between 1 and 25 are applied as an arithmetic percentage to a region's MAXTASKS setting. The resultant task count value is used as a numeric threshold to drive an update call to the RS Server.
For example , with a MAXTASKS setting of 120, and with this attribute set to 20, the RS Server will be called to update the WLM load count when the regions task count changes between:
- 23 and 24 tasks - (20%),
- 47 and 48 tasks - (40%),
- 71 and 72 tasks - (60%),
- 95 and 96 tasks - (80%),
- 119 and 120 tasks - (100%).
The RS Server would be updated when the task load increments or decrements across these boundaries.
If a value is specified that is at the lower end of the 1-25 scale, then that will cause an increase in the frequency of updates to the RS Server across the task load range. For workloads in QUEUE mode, this will result in a task load more evenly distributed across the CICS regions in the workload target scope (assuming all other health and link factors are equal) . However, the utilization of the RS server will be correspondingly increased, which may consequently result in a higher utilization of your z/OS Coupling Facility.
This value may be modified for this specific region using the MASs known to CICSplex views, or the CICS system definition views.
-
getTaskLoadHealthThreshold
java.lang.Long getTaskLoadHealthThreshold()
Getter for field WLMTHRSHTask load health threshold
This specifies a percentage threshold of the current region's task load, which is calculated by dividing the current task count by the maximum task count. When the load for a target region reaches this threshold, then WLM considers the region to be relatively unhealthy. This will cause higher link weights to be applied to the WLM routing algorithm when evaluating this region.
When a target scope covers local and remote regions relative to the router, then WLM will favour local targets over remote ones. The effect of this attribute is that when this load threshold in the local regions is achieved, then WLM will start to favour remote targets instead. When all targets in the scope achieve this load threshold, then WLM will revert to favouring local targets again.
The value range is from 1 to 100, and the default value is 60. This value is specified within the CICSPlex SM CICS System Definition object. If you want this value to be changed, you must modify the system definition for the current region and then restart it. You may change the value in an active CICS region by using the CICSPlex SM MAS object. When the region restarts it will revert to the value specified in the system definition.
If this value is set to 0, then the current region is not at a high enough level to support the use of this attribute. You will not be able to change it, and the WLM route decision process will ignore it.
Note: this value is nullified when applied to the routing factor of link neutral dynamic routing requests. This is because the link weight itself is ignored for the LNQUEUE and LNGOAL algorithms.
-
getTaskLoadQueueMode
IWorkloadTarget.TaskLoadQueueModeValue getTaskLoadQueueMode()
Getter for field WLMQMODETask load queue mode
This attribute specifies how the queued task load of a target CICS region is to be evaluated:
- MAXTASK - specifies that both active and MAXTASK queued tasks are to be included in the task load evaluation for the region.
- ALL - specifies that the task load evaluation for the region will include active tasks, tasks queued for the MAXTASK limit and tasks that are queued because of a TRANCLASS limit.
- N_a - specifies that the current region is not at a high enough level to support the use of this attribute. You will not be able to change it, and the WLM route decision process will ignore it.
The default value is ALL. This value is specified within the CICSPlex SM CICS system definition object. If you want this value to be changed, you must modify the system definition for the current region and then restart it. You may change the value in an active CICS region by using the CICSPlex SM MAS object. When the region restarts it will revert to the value specified in the system definition.
-
getTaskCountIncrement
java.lang.Long getTaskCountIncrement()
Getter for field TASKINCTask count increment value
This is the translation of the RS Server update frequency value to an actual task count value for the current target region. Each time the current task count reaches a boundary that is a factor of this value, then an update is sent to the RS server.
-
getTaskLoad
java.lang.Long getTaskLoad()
Getter for field TASKLOADTask load percentage
This is the normalized task load for this target region. It is calculated from dividing the current task routing count by the MAXTASKS value for the region, and multiplying by 100.
-
getOptimizationStatus
IWorkloadTarget.OptimizationStatusValue getOptimizationStatus()
Getter for field OWSTATEOptimization status
This field reports the status of the current target region for the optimized workload routing function.
The possible values are:
- ACTIVE
- This target region is executing in an optimized workload state.
- INACTIVE
- This region is capable of executing in an optimized workload state, however, it is not
currently optimized for one or more of the following reasons:
- The region has no connection to an RS server
- The region is connected to an RS server, however, the server has not been able to connect to the z/OS coupling facility
- The optimised workload routing function is DISABLED for the current target region
- The RS server update frequency value for this region is 0, which means that the optimization capabilities for this region are not enabled
- N_A
- The target region is not configured to provide optimized workload management. Only non optimized WLM routing decisions can be made.
If the CMAS that your WUI is using is not connected to a Region Status (RS) server, the optimization status for remote regions will not be updated and defaults to INACTIVE. Where this situation occurs, either connect all reporting CMASs to the RS server or use the Active target regions view to check the optimization state.
-
getHealthShortOnStorage
IWorkloadTarget.HealthShortOnStorageValue getHealthShortOnStorage()
Getter for field HLTHSOSShort on storage
This field indicates the SOS status of this routing target at the current time. Note that a CICS region can change from being in and out of SOS status very rapidly.
-
getHealthStall
IWorkloadTarget.HealthStallValue getHealthStall()
Getter for field HLTHSTALLRegion has stalled
This indicates whether the routing target is in a stall condition. If the region is stalled, use the Active task views to determine which tasks are suspended, and determine why. Note: Stall here means a task has been waiting for the same resource for a specific time.
-
getHealthDump
IWorkloadTarget.HealthDumpValue getHealthDump()
Getter for field HLTHDUMPRegion is dumping
This indicates whether the routing target is currently issuing a transaction or system dump.
-
getHealthMaxtasks
IWorkloadTarget.HealthMaxtasksValue getHealthMaxtasks()
Getter for field HLTHMAXTRegion is at MAXTASKS
This indicates whether the routing target is currently running at a task rate that has reached its maximum tasks threshold.
-
getRoutingLoad
java.lang.Long getRoutingLoad()
Getter for field ROUTINGLOADRouting Load
This is the routing load used by WLM route decision making for the target region. Note that this will not match the real CICS task count at the time of this query.
For an ACTIVE System Optimized WLM target region this will be the approximate task load in the target region, taking into account 'Task Count Increment Value', 'RS Server Bottom Tier' and 'RS Server Top Tier'. The accuracy of this value is also affected by the RS Read Interval and RS Update frequency settings.
For target regions that are not connected to a RS Server, and are therefore in a non-optimized WLM state, this value will appear to be less accurate, when compared to the actual task count. This is because this is the normalized routing load for this region. It should be noted that when running in a non-optimized WLM state, this value can exceed the MAX TASK value, without the MAX TASK flag being set on, and is correct behaviour as the MAX TASK indicator is related to the target region's health status taken from actual task counts.
It is possible that a region could be the target for multiple workloads and show different routing weight values. This is not abnormal behaviour - it is a symptom of the synchronization latencies within workload manager. Workload optimization will nullify this effect. The workload manager runtime processes will continue to execute normally in spite of this disparity in the load values. To suppress these observed load differences, try to ensure that all MASs and CMASs that participate in the workload have a connectable region status server available.
Where a workload contains target regions with different CICS TS releases, differences in the default number of active CICSPlex SM tasks in a CICS region when no other tasks are running may cause changes in the distribution of work to the target regions. Target regions at CICS TS V5.4 will have 0 CICSPlex SM tasks by default. This is compared to target regions at CICS TS V5.3 or earlier, which can have anywhere between 3 and 19 CICSPlex SM tasks active by default. This may lead to target regions earlier than the CICS TS V5.4 release being treated as less desirable by the routing algorithm.
-
getMaxtasks
java.lang.Long getMaxtasks()
Getter for field MAXTASKSMaximum task count for region
This is the defined maximum number of active tasks that may concurrently execute in this routing target.
-
getRoutingWeight
java.lang.Long getRoutingWeight()
Getter for field ROUTEWGHTWLM routing weight for region
This is the calculated routing weight for the current routing target according to a specified transaction name as specified in the Transaction name (TRANNAME) parameter. If the transaction name has a value of '*', the routing weight is that of the default route suggested by the workload specification. This value will be combined with the link weight from a Router to determine an overall normalized routing weight for this CICS region. This value will be compared with the same value for other potential routing targets. Assuming no affinities are outstanding, then the target with the lowest routing weight will be chosen as the actual route target.
If the workload associated with this target region specifies that RTA MRM events should influence a route decision for certain transaction codes, then different transaction names will result in different routing weights because of the effects of outstanding RTA events.
Note: 2147483647 is a special value indicating that the target is quiesced or z/OS WLM health is 0. Target regions with this value have been removed from workload management. This means that no further transactions are routed to the target region.
Generally speaking, the Link weight is used to prefer faster connections over slower ones. Weighting is as follows;
- MRO is considered faster than XCF (cross coupling-facility) connections.
- XCF is considered faster than IPIC.
- IPIC is considered faster than VTAM.
- VTAM is considered faster than indirect connections.
-
getCfUpdateCount
java.lang.Long getCfUpdateCount()
Getter for field CFUPDCNTCoupling Facility update count
This is the number of update calls that the RS Server has made to the z/OS Coupling Facility for this target region.
This value is reset to zero whenever the RS Server or the CICS region is started.
-
getEvents
IWorkloadTarget.EventsValue getEvents()
Getter for field EVENTSRTA event active
This is the indicator of an outstanding RTA event for the current region. It is associated with either the workload specification or if the Transaction name (TRANNAME) parameter is specified and does not have a value of '*', then the TRANGRP in the current workload which manages that specific transaction. This value may vary for each workload that targets the current region, and will cause corresponding variations of the routing weight for that region.
-
getRsServerPoolId
java.lang.String getRsServerPoolId()
Getter for field RSPOOLIDRS server pool name
For sysplex optimized workloads, region status data is maintained within a coupling facility data table. That table will be contained within a CFDT pool identified by this attribute. For an optimized workload to activate, there must be an active Region Status server which manages data for the pool name identified here.
If your CICSplex identifiers are not unique within your sysplex, you must ensure that the RS server pool names are unique. If your Sysplex comprises unique CICSplex identifiers, then they may all share the same RS server pool.
This attribute is defined in the parent CICSplex definition of the current target region. The default name is DFHRSTAT. You may choose to employ an existing CFDT pool for containing your CICSplex data tables. If you do, be aware that the throughput of your optimized workloads may be impeded by any user application activity to the specified pool name. Likewise, any application throughput to the pool may be impacted by sysplex optimized workloads. It is recommended that a discrete RS server and pool name is defined for the optimized workload function.
-
getHealthMasNonresponsive
IWorkloadTarget.HealthMasNonresponsiveValue getHealthMasNonresponsive()
Getter for field HLTHNRMMAS non responsive
This field indicates the routing target is non responsive at the current time.
-
getCpsmver
java.lang.String getCpsmver()
Getter for field CPSMVERCICSPlex SM version
This is the CICSPlex SM version of the target region.
-
getRptcmas
java.lang.String getRptcmas()
Getter for field RPTCMASReporting CMAS
The name of the CMAS that provided the information in this record.
If the GET operation optional parameter EXPLODE is not specified or is specified as NO, then this attribute will be set to blanks and only one record will be returned for the target region.
If the GET operation optional parameter EXPLODE is specified as YES, then this attribute will be set with the name of the CMAS that provided the information in this record. A separate record will be returned for the target region from each CMAS that manages the workload associated with the target region.
When the IBM distributed WUI menus and views are used to request the WLMAWAOR tabular view, the EXPLODE parameter will be set to YES.
-
getHealthIndicator
java.lang.Long getHealthIndicator()
Getter for field WLMHLTHz/OS WLM health
The percentage value that represents the z/OS WLM health open state for the region. This value may influence the amount of work a CPSM WLM routing region will send to the region.
A value of zero (0) means that no work will be routed to the region. Any workload affinities associated with this region will remain and be honored, but routes based upon those affinities will fail while the value is zero. Note that the route failure seen depends upon how the route is attempted and whether a custom WRAM program is in effect. Some users may receive message EYUWR0003W indicating that the affinity AOR is not available, while others may receive a SYSIDERR.
A value of 1 to 99 inclusive means that an additional weight will be added to the region that is inversely proportional to the WLMHLTH value. That is, the lower the WLMHLTH value, the greater the additional weight assigned. This may have the effect of increasing or decreasing workload being received by the region as its WLMHLTH value increases or decreases, depending upon the weight assigned to other regions within the AORSCOPE.
A value of 100 means either that a region has now achieved a fully open z/OS WLM health open state, or that the region is running with WLMHEALTH=OFF in the SIT, or that the region is running CICS TS V5.3 or lower. A region with a value of 100 is treated as healthy and no additional weight is added for the region.
-
getCICSObjectReference
IWorkloadTargetReference getCICSObjectReference()
- Specified by:
getCICSObjectReference
in interfaceICICSObject
- Specified by:
getCICSObjectReference
in interfaceICPSMManager
-
-