Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Categories Runtime
Created by Guest
Created on May 16, 2014

Need a field (attribute), of the TASK resource table, which allows me to have the CPU time of a "THREADSAFE" task.

In a threadsafe application, all DB2 Requests stays on L8 TCB.
The cputime is only going to get updated when we come off the L8 TCB.
(If it were a quasirent applicatoion and switched back to QR after every DB2 request, the cputime would be accumulated each time we went back to QR).
We are forced to wait the end of the task to know the CPU Time of the transaction.
We are blocked when we meet a task which makes a lot of order SQL (or which loops) and that we have no indicator which can alert us if such a scenario happened.

Idea priority High
  • Guest
    Reply
    |
    Oct 5, 2015

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - Servers and Systems Software
    Product family - Transaction Processing
    Product - CICS Transaction Server

    For recording keeping, the previous attributes were:
    Brand - WebSphere
    Product family - Transaction Processing
    Product - CICS Transaction Server

  • Guest
    Reply
    |
    Apr 1, 2015

    We have no plans to change the way dispatcher accumulates cpu time. This requirement is being rejected.
    Perhaps a better approach would be for DB2 to consider providing support for RLF for static SQL like they do for today for dynamic SQL. I know they have requirements for this in the past.

  • Guest
    Reply
    |
    Feb 20, 2015

    It is difficult, for applications, to argue at the level of the SQL number or at the level of the performance of a SQL request. Because every application has its specificity.
    It is difficult to set an upper limit on the number of SQL request and apply it to the whole of the transactions (a threshold of 1000 EXEC SQL may seem like a good limit for most of the transactions but it might fall on cases with fewer requests and which can consume a lot of CPU).
    To intervene at the level DB2 seems to me not simple because we can put thresholds on SQL requests or even on package DB2 but if a transaction calls several SQL orders or DB2 packages (Which individually consumes very little CPU) we can find ourselves in front of a very consumer transaction.
    It is the agglomeration of these two parameters (number of SQL query and the performance of these SQL queries) which will allow me to say in a general way that the transactions consume a lot of CPU.
    My purpose, it is to purge automatically any abnormally consumer tasks of CPU by means of CICS tools (RTA, events, policy, …) to avoid any problems of performances CICS (as I can make it with the Mainview for CICS killer).

    P.S. : I did not try the POLICY, because they do not respond completely to my need. (cputime policy in CICS TS 5.1 won't help as it will just monitor the
    same field that won't get updated until we come off the TCB.).

  • Guest
    Reply
    |
    Feb 16, 2015

    The CICS Dispatcher is a non-preemptible design and therefore in order for a transactions CPU time to get accumulated (on whatever CICS mnaged TCB, QR, L8, etc, ...) the transaction must give up control to the CICS dispatcher. This normally occurs whenever a transaction does some sort of CICS dispatcher wait or suspend (or change CICS TCB mode in the scenario described) but in the case where an L8 or other open TCB is used and depending in the EXEC commands that are used it may well be the case that CICS does not get the opportunity to accumulate any of the CPU time used until the task actually finishes. In this type of scenario I would suggest that perhaps using the number of DB2 requests as the trigger rather than CPU time might be a more useful unusual situation or loop detection indicator.
    With the introduction of Policy thresholds for applications and platforms in CICS TS V5 various threshold conditions are now available, including the number of EXEC SQL requests, that can be defined to manage the behaviour of user tasks within CICS regions.

    Have you consideredusing a threshold policy?

    Rather than a loop, If its the case that a badly formed SQL command is consuming too much cpu in DB2, then we'd look to DB2 for a solution for that. Certainly in the past they have had customer requests to extending their Resource Limiting feature (RLF) to static SQL, because at the moment in only applies to dynamic SQL.