Virtual CICS User Group Sponsors

Broadcom Mainframe Software
DataKinetics

Virtual CICS User Group | May 2025

What’s new in IBM Z OMEGAMON AI for CICS

Ezriel Gross
Principal Solutions Advisor
Rocket Software

IBM Z OMEGAMON for CICS AI has had more updates in the last 2 years than it has in the last decade or more.  Come to this session to learn about the exciting new features and performance improvements in the product in the last two releases including all the fix packs.  Program Tracking, CPU reduction, larger task history capacity and AI enablement are just some of the features that will be discussed.

Ezriel GrossEzriel Gross

Principal Solutions Advisor
Rocket Software

Ezriel is a Principal Solutions Advisor for Rocket Software specializing in IBM CICS Tools. He was formally the CEO of Circle Software (acquired by Rocket Software in 2018), where he specialized in hands-on classes and consulting in CICS, DB2, and MQSeries. Ezriel was a Gold Consultant for many years and is currently an IBM Champion.

His specialties include Web Services, Web Support, Performance / Tuning, Monitoring, Internals, CICSPlex SM, DevOps and Liberty as they relate to CICS. He recently co-architected the Rocket C\PROF product, a tool that captures CICS trace without running in a CICS region

 

Read the Transcription

[00:00:00] – Amanda Hendley
Welcome, everyone, to today’s virtual User Group. Today, we’re talking about CICS. My name is Amanda Hendley, if we haven’t connected before. I’m so pleased to have you here for a great session. Before we get started, I just have a couple of things that I want to talk about with you. I promise I’ll keep this brief. Look, I’ve already done an introduction. We’re here for a user group session, so check.

[00:00:25] – Amanda Hendley
We’re going to get to our presentation momentarily, but I want to I would like to thank Broadcom and DataKinetics for being partners of our mainframe virtual user group today.

[00:00:38] – Amanda Hendley
This month, over at Planet Mainframe, we are doing a call for contributors. If you are interested in writing, have a story to tell, have some trick or tip to share, we’d love to feature you. And we do content in all shapes and sizes, infographics, videos, interviews, articles, opinion pieces. I did not create this graphic. That is what ChatGPT told me a writer for Planet Mainframe would look like. I’m just happy it’s spelled Planet Mainframe correctly. If you’ve done much generative AI imagery, that’s always the trick for me.

[00:01:20] – Amanda Hendley
After today’s session, I’ve got a special question in our exit survey. Usually, it’s just, “what did you think?” And “what topics would you like to see next time?”, But today, we specifically want to know what technical content, so really tips and tricks, technical content from Planet Mainframe and/or Cheryl Watson’s Tuning Letter, would you like to see what would be valuable to you? Mark Wilson, Editor of Cheryl Watson’s Tuning Letter, wanted to pose this to our communities. He’s interested in making sure we’re just delivering the best, most helpful content. So any of this information, you can shoot over to me. I’m ahendley@planetmainframe.com, or you I can always submit it through the site. And look at that. My portion is done.

[00:02:07] – Amanda Hendley
I’m going to stop share so Ezriel can share his while I introduce him. So joining us today is an award-winning presenter, Ezriel Gross. He has nearly four decades of experience in the main frame field, including 25 years of training and consulting for IBM and Circle Software before joining Rocket. His expertise guides new programmers and Senior Systems teams as they navigate the complexity of customer information control system, often starting from scratch. I actually read that as a part of your influential mainframer profile.

[00:02:44] – Amanda Hendley
I’m going to let you take it over for this really cool topic.

[00:02:49] – Ezriel Gross
Thank you, Amanda. Can you hear me okay?

[00:02:53] – Amanda Hendley
Sounds great.

[00:02:54] – Ezriel Gross
Okay, good. Well, welcome, everyone. Again, I’m Israel Gross. I’m with Rocket Software. Today, I’m going to go through what’s new in IBM Z, OMEGAMON AI for CICS. That’s a long name, right?

[00:03:08] – Ezriel Gross
And hopefully, I’ll be able to go through all the items on the agenda here, right? So I’m going to do an introduction to OMEGAMON for CICS, a high-level view of the new features that came out in the last two releases, plus four fixed packs. So think of it as six different releases that were created since June of 2022. And then instead of going through everything in those releases, because that would just take me forever and everybody would be gone by then, I highlighted a bunch of features that I really like, and I’m going to go through in a little bit more detail on each of the individual features and why I think they’re exciting. You can ask questions, you can put them in the chat, or if Amanda lets you, you can come off mute and ask your questions. These are some of the features I’m going to be covering, but let’s get started, so I have enough time.

[00:04:09] – Ezriel Gross
OMEGAMON for CICS has been around for quite some time. It’s one of the handful of monitors available in the CICS environment. It’s been around since the 1980s. On the right-hand side of the page, you can see it’s gone through various iterations of user interfaces. The original one was the classic that some people still use. That allows you to monitor individual CICS regions. Of course, today we tend to have many more CICS regions combined together in a CICSPlex. You might be more interested in using the E3D270. That’s the interface I’m going to show you, mostly today. There is a TAP interface, so you can get some visualization. There’s ODP, so you
can push your data and view it graphically through an analytics engine. There are various different interfaces to OMEGAMON for CICS. But the idea is to give you a CICSPlex-wide view of your system that’s running with real-time access to historical data and some reporting. Then some of the features you can see on the left-hand side, things like bottleneck analysis, which is really weight analysis. You have the ability to do resource limiting, ensure that transactions don’t use too much CPU or don’t wait too long. We do have the ability to do proactive alerting, and I’m going to show some examples of that.

[00:05:31] – Ezriel Gross
There’s task history collection, which has changed. Now we can actually collect more task history than we could before. I’m going to go through a number of features. I’m not going to do a base introduction other than this of OMEGAMON for CICS, but I will show you some of the features and some of the things you can do today. Now, I’m going to cover two different releases. You can see version 5.6 came out June of 2022, and then the newest release came out back in November, this past November in 2024. Now, every time we add functionality, we come out with what’s called a Fix Pack, which generally could fix any problems we find, as well as add new functionality. Even though you’re only seeing two releases here, there were three fix packs that belonged to the 5.6 release and one fix pack for the 6.1 release that just came out in March. I’m going to cover the new features that are available in the releases and the fix packs themselves.

[00:06:33] – Ezriel Gross
Now, I’m going to start with just an overview of the features that came out at the various different releases, because if you’re running OMEGAMON, I have no clue what release you could be running and what fix pack you could be at. I’ve organized it by that so that you could see what you may have and what may be coming out in the future. So when the base of OMEGAMON for CICS version 5.6 came out in 2022, The biggest feature was the program tracking support. I’m going to cover that, even though, again, it’s been out for quite some time. I find that a lot of customers don’t realize that it even exists because originally when it came out, it was enabled at startup, but then they chose to not enable it at startup. And so you have to actually go in and turn it on to actually see it. So we’re going to see what that’s about. We’re going to talk a little bit about resource limiting and how you can do it beyond the second level. And then there’s a number of other updates at this particular release, like finding resources in a group or new policy statistics for bundles and policies that you can see with OMEGAMON. But again, I’m not going to cover some of those. You can look at them in more detail by going to the documentation, which I’ll refer to at the end of the presentation.

[00:07:53] – Ezriel Gross
That was at 5.6. Then they came out with a fix pack in October, shortly after they released the product, and they added the correlation between CICS tasks and DB2 threads. You’ll see one of the things they try and do with the OMEGAMON family of products, there’s OMEGAMON for CICS and DB2, and IMS, and and various other products, MQ. They’re trying to do integration points so that if you’re looking at a particular task in the case of CICS and you want to see what the thread looks like in DB2, there should be an easy way to correlate or move from one product to the other. They’ve been doing a lot of work on correlation. There’s some additional find command support, as you can see. With Fix Pack 2, they added a feature that allows you to hide background tasks. I’m going to show you what that’s about. Some of these features came from customers. Some of these features came from recommendations that I made, as a matter of fact. We’ll also show you some CP/SM, CICS System Group implementation integration within OMEGAMON. You’ll see that we automatically import system groups today. If you’re used to managing your system via CICSPlex, then OMEGAMON will support that as well.

[00:09:12] – Ezriel Gross
Then we’ll get to Fix Pack 3. Again, things like new resource types for resource limiting. Resource limiting is a feature that basically says, if a task is using too much CPU, maybe we should kill it. That’s the idea behind limiting the resources. In the beginning, we only limited resources by overall CPU usage. Then, of course, customers came back and said, Hey, wait a minute. There’s a difference between the amount of time you spend on the general purpose processor or the QRTCB, or if you’re doing things like at a lap’s time, there’s a difference if the task was held up for max task or T class. Should it be included in the time? Shouldn’t it be? They added some ability for you to make those decisions yourself. I’ll cover one of the exciting areas so you can see what’s highlighted in yellow is what I intend to cover in more detail. But you can see quite literally that you can now get the transaction rate displayable in second versus minute, which is the default. So I’m really excited about that. Then I’m going to cover OMEGAMON for CICS version 6. 1. It is the AI release. We’re going to show you some support for AI Insights version 2. 1. Again, this is fairly new, so it’s the foray into machine learning and artificial intelligence for OMEGAMON. Of course, it’ll require that you provide some data for the machine learning portion. But nonetheless, over time, you could make use of that to set some thresholds as we’re going to show you. Then I’ll talk about task support. Task history support now supports larger than 4 GB of data, which a lot of people should be excited about. People have been asking for this for years. We have extended support. Now we can support up to 16 terabytes. We added some bookmarking to make it easier for you to navigate through the E3D270. Then you’re going to see some other stuff like reduced CPU footprints when you run a mega month for CICS version 6. 1. RLIM command can now allow you to set that across multiple CICS systems, which is It’s quite exciting as well. I’ll also talk about previous task and original task data, so you can figure out not only what task ran, but how it was invoked, whether or not it’s in a local region or it hopped from another particular region. I’ll cover things like some
of the new displays we have for task time value, wait times versus active times. This is a list of all the changes that have occurred since the origin of 5. 6, back in 2022.

[00:12:02] – Ezriel Gross
Then finally, we came out with the Fix Pack. Fix Pack 1 just came out in March. We added a column for current average response time, which I think is phenomenal. Now, right on the CICSPlex summary screen or the region overview screens, you can actually see average response time. You can actually click through and take a look at individual tasks that ran within that one minute interval as you’re going to see. We also provided some improved context command for greater navigation, so I’ll show you that, and then viewing the summary of transaction weights, which is quite exciting. But there are some other additions such as long values for sit parameters. If you guys know today, we can now support sit values that are greater than eight characters, and now OMEGAMON can display those for you as well. There’s also a global options information tab today. You can add a G next to the CICS control functions, and it’ll show you which global is in use and where it comes from.

[00:13:08] – Ezriel Gross
So that’s quite nice to see. And then we’re going to show you the enablement for CP/SM within OMEGAMON. So the first question you might have for me is, how do I know what’s running? So if I have OMEGAMON for CICS, and I want to see what’s running, and I’m sitting on the E3D270, and I’m sitting on the main screen for CICS, which is the CICSPlex Overview screen, I can click Help, I can click About OMEGAMON, and down here you’ll get a little panel pop up that shows you all the OMEGAMON family products that you could be running and their different release levels. The latest release is version 6.1, and you can see the .01 indicates Fix Pack 1. I’m running the latest and greatest release. If you see something like 5.6 and 03, you’re running 5.6 with Fix Pack 3.

[00:14:02] – Ezriel Gross
Once you know what you’re running, you can see what features that are available to you. Let’s start with OMEGAMON for CICS at the base release. The area I want to cover is the program tracking feature, which allows users to see not only the transactions that ran, but what programs under the covers were running. Now, it’s any program that was invoked by a CICS command, or it’s a program that you even dynamically call, but it issues a CICS command so that we’re aware that that program is physically running. Now, initially, when it first came out, this was enabled by default, but because it adds some overhead, and the overhead really depends on the number of program links that a particular transaction does, we no longer enable it at start. Therefore, if you
want to see it run, you have to enable it yourself. Now, it can be defined enabled within the global so that you can get it started up when it OMEGAMON starts for you.

[00:15:07] – Ezriel Gross
What’s the easiest way to see whether or not you have program level support? Well, if you go into task history, you’re looking at a currently running task, you get a bunch of tabs at the top of the screen. If you do not see the programs tab, then you do not have it enabled. But later on, I’ll show you how to enable it if you want to see it. Now, if you do have it enabled, let me point out, it will give you the program name, how many times it was invoked, the total CPU used by that program, the elapsed time of that program, and the dispatch time of that program.It’ll show you the CPU on QR, the number of CICS calls, any Abends, and the total number of PCB switches. Now, because I’m doing a presentation that goes through multiple releases, if you go into your environment, you might find two additional columns, because later on in one of the fix packs, we added the storage allocated in 24 bit and 31 bit.

[00:16:01] – Ezriel Gross
You might see those two extra columns. Again, it depends on what release you’re running. Now, this is just the notes that go along with it. You can’t make use of the program tab as you see it here to indicate the order in which these programs were invoked. A could invoke B, B can invoke C, C can go back to B, B can invoke D, and what you’d see on this list is A, B, C, D. You can’t tell the order, and the metrics are based on the duration of that program run. If A calls B, B does some work and you go back to A, we don’t include B’s work in A. We do try and identify exactly what the program is using. Besides for being able to see at the task level, you can also see used programs and installed programs at the region level.

[00:16:54] – Ezriel Gross
If you were looking at this page over here and you typed a P next to the program name, it would give you this particular screen at the CICSPlex level or at the region level, which would show you the same program name. In our case, we’re looking at the Use tab. It’ll show you what’s installed and what’s been used. You can actually see, based on a particular program, the total CPU time, the average CPU time, and much of the rest of the tabs you saw earlier. I’ll leave you the notes to read later on. Now, in terms of used programs, when you’re looking history or situations, keep in mind that a program may be not used for a certain interval of time, and so therefore you’ll see gaps in the display. You’ll see it doesn’t go by the minute here. It’s basically the gaps because the program wasn’t used. But again, it’ll give you all the details of information from when it is used. Now, the first thing I like to point out is, of course, if you don’t see the programs tab, how do you turn it on? You could quite literally go down to a particular CICSPlex,
pull up the region overview, put a C next to it for CICS control functions, and then a T for CICS task program true detail control.

[00:18:14] – Ezriel Gross
You can see you can enable task program detail, you can enable the aggregate program detail, you can have that program detail written to task history, so I always turn those on. If you want, and you’re running a utility to look at the SMF 1.12 records produced by OMEGAMON for CICS, then you could have it written to SMF, and there’s some nice reports in, let’s say, CICS performance analyzer that can show you the same program detail, but in an offline report, but you’d have to enable it. We also have the ability for you to turn on task true details and write that out to Task History or to SMF as well. If you’re using Task-Related User Exits and you’re interested in that information, you can see that information there as The next thing I wanted to talk about is Resource Limiting. Resource limiting, as I mentioned earlier, is the ability to put out a message or kill a particular task that has used more resources than you wanted to use. You can go in now, and besides for setting it at a second level, which used to be the only thing you could set, you can see it now supports milliseconds.

[00:19:26] – Ezriel Gross
Here’s an example where the kill limit was set to 1. 2 5. 0 in milliseconds. It’s one second in 250 milliseconds or a quarter of a second. That is the enhancements that came out with the base release of version 5. 6. Let’s talk about fix pack 1. The big release item in fix pack 1 was the ability to correlate information between CICS and DB2. So generally, if a CICS transaction is reading or accessing DB2, then effectively you might be in a situation where, okay, I got to look at the task and I’ll make them up for CICS, and then I’ve got to go over to DB2 and look at the task within DB2. Well, it turns out that now we added a feature, and you can see some of the PTFs required back at that fix pack level, so that you can drill from a CICS transaction off to the DB2 threads, you end up in the OMEGAMON for DB2 DB2 product, and then you could analyze from a DB2 point of view what that transaction was doing, what perhaps it was waiting for inside of DB2. Then again, you could see some of the rules.

[00:20:41] – Ezriel Gross
Db2 con or DB2 entry must be using the ACCOUNTREC or UOW or TASK for this feature to work. Here’s the example. We’re looking at task history detail. This is a particular task history, and you can see one of the tabs is the I/O tab. If If this particular task actually did anything within the DB2 world, you’ll see the DB2 times workspace down at the bottom. Of course, if you know DB2, anything in white is clickable. We can go off to the plan, you can see the elapsed time in DB2, which doesn’t look too good in this particular case. You might want to be able to go
off to DB2. Instead of having to figure out what the correlation ID is and whether it’s unique and how to find it in DB2, you could literally just click it and you end up with a screen that looks like this. I’m just sitting in DB2 thread history and you can actually see I still have the CICS metric showing up on the screen here, so I can go back Again, if I want to, but you can actually see the DB2 information down here, and you have all the tabs associated with this particular thread in DB2, which if you’re a DB2 person, you can go through and figure out what’s going on.

[00:22:00] – Ezriel Gross
That was the major enhancement that I wanted to cover at Fix Pack 1. Let’s talk about Fix Pack 2. In Fix Pack 2, and this is one of the items I was really excited about because I asked for it myself, and that was I found that whenever I wanted to look at all the transactions running in my system, I could go to a CICSPlex, I could put an F next to it, which is a find command. Then I could say find find active transactions. In fact, let me see if I’ll just show you quickly this. Here’s my environment. I have a workload running. I’ll go down to my CICSPlex and I’ll put in a find command, and I’ll put in a little asterisk here, find all the active transactions. Then you could see in my environment, what you’re going to see is all these transaction IDs that have been sitting here for 16 hours or so are because these are long running tasks, and everybody has certain long running tasks tasks in the system. Well, now you have the ability to hide background tasks. In my particular case, I’m already hiding background tasks, but what I did was I asked for it to allow me to I’m going to change it.

[00:23:16] – Ezriel Gross
I put them back in, and now I’m going to put in a not equal sign and show you what it looks like. Then I’m going to click Save, and I’ll hit Enter, I’ll click Okay. Sadly, I’ll hit Enter every so often. There you go. There’s some workload piping through my system. But instead of me

[00:23:45] – Ezriel Gross
Now, if I’m looking at all the long running tasks, I can remove those, and now I can see what it’s actually running in a system. Now, depending on how fast your system is or what the workload is, don’t be surprised to see empty pages. That’s what I wanted to show you there. Here’s the ability to choose the background task and how to ignore those particular transactions for a CICSPlex, for individual CICS systems as well. I already showed you, if you hit TF4 for filters, you can turn it on or off dynamically yourself, which is what I just did. Now, the only difference is, is you’re going to see that the background tasks will disappear. Down Here I have some of the OMEGAMON background tasks, and when I exclude them, they disappear from my screen. I find that helpful because whenever somebody reports to me that there’s a problem, the first thing I want to do is I want to find the transactions either at the CICSPlex level or the individual region level, and I want to see what’s running in my environment

[00:24:51] – Ezriel Gross
Now I’m going to talk about importing CP/SM system groups. CICSPlex SM is a feature that many customers customers have enabled, the ability to put your regions together into a CICSPlex, and then you could choose to group off your regions with system groups. Unlike a CICSPlex, where you can have one region assigned to multiple CICSPlexes, you can put the same region in multiple groups. It’s a perfect example of why you might want to display the systems inside of an environment by its group. I can have regions in overlapping in groups, not in overlapping CICSPlexes. Now, what you have is the ability to allow OMEGAMON to incorporate or import those groups so that you can actually see them as a group within OMEGAMON. Now, this is at an older release again because it’s only fixed pack 2 of 5, 6. But if you were to build the Manage System List, you’ll notice that here I have an example of me building a user group. I can actually group regions outside of CICSPlex SM by building my own user group. But I can also see them as system groups as you’re going to see on the next page.

[00:26:08] – Ezriel Gross
At the top of the screen, you can see a group that I’ve built as a user group. At the bottom of the page, you can see that by CICSPlex, I have imported the group names and the individual regions that are associated with those groups.

[00:26:22] – Ezriel Gross
Now, by selecting any of these contexts, I have the CICSPlex name up here as TESTPLEXL, I can actually look at individual groups within that particular CICSPlex. That’s a feature that we added. Here’s some of the notes that go along with it and how to set it up, but you can read through that a little bit on your own.

[00:26:45] – Ezriel Gross
Now, there’s a little bit of a change here because if you type in context, which is the command that will allow you to see CICSPlexes or it will show you regions by CICSPlex, by Lpar, by user group, as we mentioned, You can also select CICSsystem group. For a particular CICSPlex, you can see all the system groups available to you. You can do an apply, and the next thing you would see is a region overview screen that includes the regions within that group. But in order to use it here, you have to use the Context command.

[00:27:18] – Ezriel Gross
You’ll notice these are pull-down lists. I’m going to show you this has changed in the latest releases of OMEGAMON, and you’re going to see that a little later on. If you’re still running this older release, you still the ability, but it’s changed to make it a little bit more flexible moving forward.

[00:27:35] – Ezriel Gross
This is why I guess I decided to stick in a slide just to show you this is what it looks like in version 6. 1, and you can easily see at version 6. 1, you don’t get the pull downs anymore, but you get a little tree at the bottom. If you look at CICS system groups, you can see your CICSplexes, you can see your group names there, you can see the regions that are associated with that particular group. But I’ll show you more details later on.

[00:28:03] – Ezriel Gross
Let’s talk about Fix Pack 3. In Fix Pack 3, one of the most exciting things that we were able to do is we added an options command.

[00:28:13] – Ezriel Gross
For those that If you’ve used OMEGAMON in the past, you might have noticed, let me go back to my main screen here, you might notice my transaction rate is in transactions per second, so I could actually see 152 transactions per second.

[00:28:29] – Ezriel Gross
The reason I’m seeing that is because if you type in the word options, you can see you get to show the transactions per minute, which is the default, which is the way of OMEGAMON has always run, and the transactions per second. Now, we’re going to find out that this is saved on a per user basis. If you’re used to dividing by 60, then you could leave it in transactions per minute. But in today’s world, I think that supporting transactions per second is a must. And so nonetheless, today you have the ability to change two transactions per second.

[00:29:03] – Ezriel Gross
Again, the only difference you’re going to see here is instead of seeing this horribly long number in dividing by 60, you can actually see the transaction rate per second, which to me is more important. You can see that righper-userper-usert over there. Now, just a point is that this is not a global option. This is a per user option. In o
dataset, you can just set U_KCPTRANRATE to seconds. It’s set on a per user basis, so you could decide as a user how or whether or not you want to see it in this format.

[00:29:45] – Ezriel Gross
That gives you now the ability to see transaction rate in seconds. Now, at the same time that we came out with FixPack 3, we made some changes to the program tracking. Program tracking, initially, we used to give you an estimate that the cost could be about a quarter of a second based on the number of transactions you ran on average. But we found that there were some customers that had transactions that were doing hundreds, possibly thousands of program links. If you’re doing that, obviously, the cost is going to go up. What we also noticed was if the programs are LE enabled, that the CEECCICS program was showing up as the program or some of the programs that were invoked quite often to invoke the LE-based programs. Since we felt that it didn’t have any real significance to the application, it’s just something under the covers like a CICS program that gets invoked, we decided to exclude that, which excluded quite a bit of overhead associated with program tracking because we were no longer tracking CEECCICS calls.

[00:31:04] – Ezriel Gross
Now let’s get to OMEGAMON for CICS version 6.1 in the base release and talk about some of its features.

[00:31:11] – Ezriel Gross
Let’s start out with this is the first release to support AI insights. This was based on some customers coming to us and saying, Hey, can you support the new AI and ML that many other products are supporting today? And what would we do in in the world of a mega amount to support this a functionality. We came to the conclusion that one of the basic things that we could do is build a dynamic baseline. If you ever take a look at some of the situations you can set. What’s a situation? You can give it a question like, if my CPU time for this type of transaction is greater than this, then I want to send out a message or cancel the task. It’s a little It’s not like resource limiting, but you can narrow it down a lot more because you can put in an argument directly for it. Based on that, we came to the conclusion that most of the baselines that you tend to fix for these are fixed. You pick a particular baseline, you say, I don’t want it to be greater than this, and it’s always a fixed value. But in our world, you know that applications run in a dynamic type environment.

[00:32:30] – Ezriel Gross
How is it we can figure out what should be the right value for a particular time or event? This is really the issue in the picture. Effectively, even though we use static thresholds for things like situations, and they’re all rule-based, we tend to pick fixed times, and whatever we pick for a particular value is only good for a portion of the day. So for example, if you’re peak period is between 10:00 and 11:00, then maybe we’re going to pick a value for the most important time, but it won’t work for the rest of the time. So the problem is in real life, everything is dynamic, right? We have dynamic baselines. We have some complex problems. We want to be able to use machine learning to figure out what should be the right value for a particular period of time. We picked a couple of use cases. We worked with a couple of customers. One of the things we did for a test use case is to alert on a significant divergence of transaction response time based on certain constraints and workloads. Here are the notes associated with it. Effectively, what we did was we took some data from a customer.

[00:33:50] – Ezriel Gross
We actually used CICS performance analyzer data, but it’s SMF data. We figured out, based on a particular regions run, first of all, whether or not the region is considered active or inactive or very inactive. Based on that, we could figure out what for that particular time a certain value should be set to. Based on that, whether it exceeds the value by a significant amount, and significant is a user customizable value. Effectively, you use a machine learning and a time-based algorithm. It should take into effect things like day of week, week of month, month of year, holidays, that stuff. There’s tons of machine learning algorithms out there. Based on that, we figure out what a region should be using at a particular period of time and whether or not a transaction spikes through that based on the average response time. We also did the same thing for CPU time. We wanted to see if the CPU time had a significant deviation from what we were expecting. Again, Again, we took a look and we saw if you do an analysis of the CPU time, you can see things like spikes outside of sessions or consecutive low anomalies or any broken patterns. Based on what a customer might feel is significant, we could alert based on that. This is very early days for AI and machine learning. Keep in mind, you actually have to train the machine learning algorithm to understand your specific environment. But once all that workload is done, theoretically, we can now have dynamic thresholds to be able to identify anomalies when your system is running. Again, it’s very early, but nonetheless, we now have support for that.

[00:35:48] – Ezriel Gross
The next feature I want to talk about is Task History Improvements. I know this is a lot. You’ll get a copy of this presentation if you want to download it, and you can look at the individual There are individual segments here that pertain to you or you have an interest in. Here’s one of the big ones, Task History Improvement in terms of Size. Many customers for many years have complained that we can only support about 4 GB per region or task history, which gave you the ability to support about four and a half million transactions, which if you run a very busy system, you’d know that’s not quite enough time at all. Again, we were limited It was limited because of the type of data set we were using.

[00:36:33] – Ezriel Gross
Now we use extended linear data sets, which allow us to support 16 terabytes of data. Now, even though the format of the file has changed, if you are happy with the size of the file you were using, there’s nothing to change. We automatically detect it and we support the older value. If you want to support more than 4 GB, then you would have to do some changes to change the type of file you’re using, and then OMEGAMON would detect that as well. Now, if it wasn’t so much the space, but you were upset because you found a problem, suddenly something went wrong, the region slowed down, you have a collection in task history, you know you have enough room to support, I don’t know, let’s call it a half an hour’s worth of data. You just said, “Hey, I don’t want to make the file bigger, but I don’t want to lose the data as well”. We give you the ability today to pause task history. That just basically puts it on pause so that it won’t overwrite the old data because it’s really a wrapping file. You could pause it, you could do some analysis on the transactions that you’ve collected, and then you can restart it, and then it’ll start collecting again.

[00:37:44] – Ezriel Gross
Today, you can actually pause it. Now, the other main thing that we did, which is quite exciting, is we moved most of the task history processing to zIIP processors. We’re no longer using the general purpose to run most of this workload. This is true for service level analysis as well. We’re starting to move as much stuff as we can to run on the general purpose, I’m sorry, on the zIIP processors when it’s zIIP eligible. Now, keep in mind for very short things, which are less than, I don’t know, about 10,000 instructions, we’ll probably still run it on GP because the cost of moving it to zIIP and back again is expensive as well. But But nonetheless, task history today mostly runs on zIIP. So that’s a huge improvement.

[00:38:37] – Ezriel Gross
Now, if you were to take a look at the task history file status, which you can do through the CICS control functions, and you were using a bigger size, you would see this, the data store size. There’s an example of where we’re using 5.8 GB. In the past, the highest you could go was four. You can see in this particular case, I have collected about 10 million transactions, seven and a half million transactions that I have access to, yet the transaction records received were about 500,000 more.

[00:39:08] – Ezriel Gross
Even with five GB, I’m wrapping, but I’m certainly holding on to a lot more of those transactions than I could have before. You can also see that the processing mode is now SRB. Again, it’s running on a zIIP processor. That’s a pretty exciting area. It should reduce the CPU used when you’re collecting directing task history. Another exciting thing is bookmarking. You now have the ability to bookmark certain pages, or I should say workspaces within OMEGAMON for CICS. Now, keep in mind This is a Tom feature. But nonetheless, if you see that little green B with parentheses around it, it means you can bookmark the page. You just use the command called Book, and then you I can give it a unique bookmark name as I’m going to show you in a second. Then anytime you want to, you can also unbookmark a page. If you’ve ever seen navigation through the E3D 270, you have to learn how to get from page to page. Sometimes it’s tougher to remember that. It’s nice to be able to bookmark pages. Here’s an example of me saying, I want to do a bookmark for a specific command that I want to issue.

[00:40:25] – Ezriel Gross
I set my context to a particular LPAR, and I say, Find the active transactions that start with L and M. I’m happy with this. I might want to do this result from time to time, so I decide I want to bookmark it. What I’ll do is type in the word book, and then it’ll pop up a little window. It’ll allow me to give it an alias name, so I can easily quickly get back to my bookmark. I can give it a description. I can replace an existing bookmark if I want to. He knows what panel you’re on, and you can click Save. Then if you click Okay, Then you’re going to be in a situation where this bookmark is saved and you’re looking at it. You can click Okay or Save. Now, if you want to see the bookmarks that you actually have, you know that you have a View tab on the main screen in the OMEGAMONt. If you go to the View tab and you pull down the user bookmarks, you will see your bookmarks and you can select them that way. Or if you wanted to, you could literally just type the bookmark name here at the top line or on the command line, and it will automatically take you to the bookmarked page Again, and you’ll see this is the bookmarked page with the attributes that I specified.

[00:41:36] – Ezriel Gross
It wasn’t just, Okay, it’s going to take me back to the find active. No, it’ll take you back to the find active with L and M specified. That’s pretty nice in terms of bookmarking. Another new feature that we give you is Previous Transaction Information. When you’re actually looking at task history, and I’m showing you the task history portion at the top of this, just the piece at the bottom of it, we now give you the origin data, which will show yto view the bookmarks you actually have, you know that there is a View tab on the main screen in ou how this current task
got started. If it shows up as previous hop task data, then the task was started from another CICS region. If it shows up as previous task data, then the task was started from another task within the same region. Let me show it to you all together. Here’s an example, and you can easily see that I have both at the same time because I was using the CRTE transaction. You could see the current task number is this one over here. You can see the original task number that started the whole process going, and you can see the previous hop task number, which says this came from a different region, and it’ll give you the Apple ID down there.

[00:42:56] – Ezriel Gross
I’ve over-hit it a little bit, but nonetheless, it is there. You could see the current transaction, who started it, and what region actually started it. Of course, you can see those task numbers are highlighted in white. You can click on them and it’ll take you to the task history for those transactions that ran. Now, let’s talk a little bit about transaction timings. We used to give you a timings page that had a whole slew of numbers on them, and half of them had zeros. It was very difficult to be able to see what the actual timing of the application is because you have to look through the whole darn thing. Well, now we give you a Timings tab when you actually go through the task history detail and you select Timings. What we can show you is we can show you the wait, active, or the old detailed screen. I’m on the wait screen here, and you can see that the time spent waiting was for program fetches mostly, and that was most of that particular time. You can also You’ll see the total weight, PCB change mode weight, redispatch weight. You can see all the individual weights associated with a particular task that’s sitting here in the task history detail.

[00:44:12] – Ezriel Gross
Of course, you can also see it for a running task. What’s more exciting to me is when you look at an active task, you can see what portion of that particular task spent time in terms of elapsed or dispatched. You can see how much of the elapsed time was dispatch time, which means you were eligible to run, how much was on the RO, PCB, or any other PCB, how much on the general purpose processor, how much CPU time it used. You can see things like QR dispatched, RO dispatched, how much time you spent on some of the open PCBs down at the bottom. Then you can see the period count, which is just the clock measurements, how many times you went through the individual clock. You can see how many periods this included. That was all what came out back in November. That’s fairly recent. Let’s talk about Fix Pack 1 because this literally just came out. Unless you’ve installed Fix Pack 1, which came out in March, we’re only in May, and you’ve taken a look what’s come out with the features themselves, then perhaps you wouldn’t be aware of some of these features that are available to you.

[00:45:38] – Ezriel Gross
The first thing we did, and you might have noticed from my screen over here, right? Sorry, I was on a CICSPlex. You might have noticed right here on the main initial screen is now you have a new column called Average Response Time. That’s the first thing I’m going to cover. Now we actually We can really calculate the average response time, and we did that before, but you had to use service level analysis or SLA. Typically, we would calculate the response time based on the SLA interval, which could be anywhere between a period of 1-5 minutes. You could see those metrics at the CICSPlex or region summary level. Again, depending on how you use used it, it would be response time over a period of time of 1-5 minutes. But today, the response time is calculated independently of SLA, and it’s available on the CICSPlex overview screen, which is what I showed you before, as well as the region overview screen. Now, we calculated at the transaction end rather than the attach count as we previously did. You can actually see the transaction rate and the response time will match pretty much. Here is the column I showed you live.

[00:47:08] – Ezriel Gross
It’ll give you the average response time. When you’re looking at a particular CICSPlex, You can not only see the transaction rate, but you can see the average response time of the transactions running in the system. You’d be amazed at how effective this is. When you pull up the screen, you can actually see almost automatically whether or not the regions within your plex are suffering, because I always expect average response time to look like this. It has to start with a couple of zeros, otherwise I’m a little bit upset. Then you can also see the CPU utilization off to the right-hand side. Now, it is possible that you’re running mixed releases of OMEGAMON, or for example, you’re not running a version that supports this. One of the older CICS regions that you have may not support it. What you would see in this column, if we can’t compute the average response time, is you’d see something like the version. You’d see the word version, which would indicate that the version of that CICS release does not support the average response time. What you can also see is no in it. If you don’t initialize OMEGAMON in a particular region, then you will see no in it as I’ve shown you on this screen over Here.

[00:48:32] – Ezriel Gross
Now, in order to see how nice this is, I’m going to actually do a little bit of a live demo in just a second. But if you click through to one of your CICS plexes and you take a look at the regions that are running, what will change is you’ll find that instead of seeing the average response time in blue, as you saw on the CICSPlex overview screen, here I’m looking at the CICSPlex region summary, you can see that these are highlighted in white, which says it’s clickable. That will take you to a screen that looks like this. It’s a one minute interval, and for every minute, we’ll tell you the total transaction count for that particular minute. We’ll show you the transaction rate in seconds, and then we’ll show you the average response time of the transactions that have run in that interval. We’ll give you a little graph here that shows you whether it was good or bad. Obviously, you can see my average response time was two seconds. That wasn’t really That’s exciting. Now, you’ll be able to click through to that, and it will take you to the CICS task summary screen, which will show you the transactions that ran inside of that interval.

[00:49:43] – Ezriel Gross
Then I’m going to show you that you can actually sort on response time and try and figure out what went wrong from there. This is the way I would use it. Here you go. Now, unfortunately, right now, my response time is pretty darn good. I’m not seeing anything here, but I am running 152 transactions per second across this CICSPlex. I’m going to select that CICSPlex. There we go. Now you can actually see the average response time in this system, which are updated every time I hit Enter. You can see there’s also pretty darn good. But I think, if I remember correctly, one of my AORs had a problem earlier, so I’m going to click on that. You can see It’ll give me the average response time per minute. I did have some issue down around this minute where I ran 1,427 transactions, and the average response time appears to be 1.33. Let’s take a look at it. Make sure I click on the right one. Then, of course, it’s just going to show me that minute in the order of the transactions that ran. I’m going to sort by response time. Now, I’m going to ignore CSOL because I have no web traffic coming in.

[00:51:01] – Ezriel Gross
He wakes up every 30 minutes or so just to say I’m alive. You usually ignore that guy. But then I can see this LGCF, which is one of the IBM sample transactions, had 436 milliseconds, which is certainly a long period of time. Let’s go click on him and see what’s going on. If you remember, I can see the details page here. He obviously didn’t go off to DB2 because I don’t see a link down there. I can go off to Timings. Remember, in Timings, I can now see weight. You can see the total weight was this, and most of the weight was in a global NQ delay. I can do some more detailed analysis to see what NQ I was waiting on. Remember, I just showed you a little earlier, you can see the active tab, which will show you that in terms of elapsed time, most of it was time spent and elapsed. I wasn’t dispatched very long. You can see the time on the QRTCB, the CPU time was quite minimal. Quite literally, there was a global NQ problem, and I can take a look and look at the CICS resources, but I don’t have enough time to take you through the entire analysis.

[00:52:18] – Ezriel Gross
You’d find out basically he was waiting on an NQ that was locked by another user for a particular period of time. That’s how I would use this new average response time to be able to drill through and see if I get a phone call, people are complaining, the system is hanging, I got a problem, I can take a look at it from there. That’s a little bit about average response time. Now let’s talk about improved context command. One of the things you can now do, and I might as well show you just quickly live because I’m here, is back on the CICSPlex screen, you can I’m going to type in a C, and this will give you the context command. You could have also typed in context. But instead of a pull-down menu, what you’re seeing down at the bottom of the page is a little tree that will actually show you my individual CICS plexes, and underneath the CICS plexes, you can actually see the individual regions that are available to me. Now, that’s because I’m on CICS plex. I can also go to kick system group, and now it’ll show me the system groups that are available.

[00:53:32] – Ezriel Gross
There’s AORG, and you can see my two AORs over there underneath that particular group. You can see also on my other CICS plex, FUWplex, you can see FUWAORs. I can do that pretty much on any of these. I’ve built some user groups in my system, so you can see the individual user groups there as well. You can click on LPARs as well. Now, the point is, it’s actually more convenient to look at this if you have a really complex system. Some of you guys have hundreds, possibly thousands of CICS regions. To go to this main screen over here, and so I wouldn’t be surprised if we didn’t have a way to go to that context screen first, we have to actually go out to all the CICSplexes and collect some basic information to fill out this screen. That can take a bit of time. However, if you were to go in here and say, I’m only really interested in a particular CICSplex, in a particular group, now you can see I’m literally looking at the CXPlex called FUWPlex subgroup FUWAORs over there. You can see that. Now I can do any analysis based on that.

[00:54:45] – Ezriel Gross
I can take a look at the things like average response time of the individual regions. I can click through to the region overview page, and I can do some analysis just based on that group of regions, even though I have and possibly thousands of regions in my environment. This is the new Context page, and you can enter it using a C right off of the CICSPlex screen under any of the CICSPlexes. Again, you can use CICSPlex, Lpar, User Group, or System groups, and System groups was the one I showed you. Now, once you’re there and you’re looking at a group, you notice I clicked on a group. Because I clicked on a group, it effectively did an S for select of that group. What you also have the ability to do is go right to the task summary to see what’s running in that group of regions, or you can go to H, which is the task history for that group of regions. You don’t have to select it as I did. Again, I just double-clicked it, but it’s equivalent to an S. But you can actually look at task history The history of the active tasks based on that group of regions within a particular CICSPlex.

[00:56:05] – Ezriel Gross
Remember, that’s all imported from CP/SM. Nothing for you to do. Let’s talk about the summary of transaction weights. The summary of transaction weights is the new ability to not only see in the task summary. This is a live task summary of my active tasks, and you You can see these are the transactions that are running across multiple kick systems. You can see the CPU time and the elapsed time. Then you’ll notice that, oh, it’s got a weight type of NQ, and this one has a weight type of MRO link. Well, we now have a new tab called transaction weights. This was specific because a customer asked us to do this. What we did was we built a new page, and you’ll notice that the new page has 3 to 13 of 30 columns. Effectively, you can shift to the right using this little arrow or PF11, and it’ll show you how many weights of a particular type there was. This is this new transaction weight tab that’s available to you. Now, what’s really exciting is something that they changed within the TOM itself. What they did was, if you hit PF9 on any of these these summary screens.

[00:57:32] – Ezriel Gross
Did you know, and this came out, I believe, at Fix Packs 3 of 5.6 or around the base release of 6.1, the ability to organize the columns on this screen any way you like to. Plus, if you’re looking at a screen that has a little bit of detail like FEPI, you could click on that and you could get more help information. But hitting PF9 will also show you all the columns that are available to you, and you can reorder the columns. You could see its current display position. And by going to this guy and giving him a different number like 10, he will move up to the 10th slot. And then you could save it as part of your user profile. And when you look at this screen, the order of the columns will show up the way you want to see them. We do realize within the OMEGAMON product that you might like to see a different ordering of some of these summary pages. And because of that, we give the ability to reorder the page. That’s something that came out within the tom. Now, I actually have a few more seconds, I think.

[00:58:57] – Ezriel Gross
I’m a little under the hour, so I want to show you some other thing. This is something you may not have realized either, I’m going out of the CICS product and I’m going into the event screen. I can go down to CICS and you’ll see I have a bunch of situations that are actually I’m going to be firing. I can go down to that particular situation, and that will take me to a particular screen within the environment. But what you can do to set up situations is you can go into Edit objects. No, sorry. Click the wrong thing. There’s my situation. There we go. I just want to show you on Another thing, if you go down to a particular… No, I didn’t do that. Sorry. No. It’s real. Click the That’s what happens when your screen is too small. There we go. Here are all the pre-set situations that are set within your environment as well. We send you… How many samples is it? I don’t know. It’s 200 or so, right? And in the past, if you’ve ever built a situation, you might have noticed that it’s difficult to do from the E3D 270.

[01:00:26] – Ezriel Gross
There’s not a lot of help associated with it. Well, if you If you use a wide screen, you’ll notice I’m using a wide screen, and now you look at one of the situations. There is a new situation editor, tells you exactly what to set up, gives you all the help you want. You still have the same tabs across the top of the page, but it’ll actually give you a formula in graphical format. Again, this was also an enhancement to the Tom that came out. This one came out a little earlier than the last one I showed you. But since I had a minute or two, I wanted to show you the new situation editor that’s available to you. I want to point out that you need a wide screen. If you’re not looking at it with a wide screen, it’s going to look like this as it has in the past. I had a few more seconds. I figured I’d show you that. Here’s a link to various different documents that are available to you. If you want to learn about some of the other options that I didn’t show you, you can go and look at the 5.6 documentation here.

[01:01:33] – Ezriel Gross
You can look at the 6.1 documentation there. Then there are some various blog entries that different people have written about some of the features and how to use them. You can always find that on the AIOps community. Now I’ll look to see if I have any questions and turn it back to you, Amanda.

[01:02:06] – Amanda Hendley
I don’t see any active questions that weren’t answered.

[01:02:12] – Ezriel Gross
Yeah. Yeah. Yeah, I’m looking at the chat. I would like to ask if OMEGAMON Z for CICS 5.6 is better or enhanced than main view competitor. Yeah, I don’t. I don’t What’s better or worse? There’s a number of monitors out in the marketplace. I can’t say whether one is better than the other. I know most of the features for OMEGAMON, and so therefore, I can only speak about that particular product. It depends on your use cases and the type of environment you have. Yes, Tom it’s typically OMEGAMON manager. Okay, let’s see. Let’s see if there’s… Okay. I have a comment, “Ezriel, When you customize/reorder the columns in a screen, it gets saved in your profile? Can we copy it to another user?” I will tell you, Daniela, watch this space. There’s a number of things that get saved to the user profile. I think I showed you earlier that whether or not you see your transaction rates in minutes or there is the ability, but you’d have to go into the profile. It’s only a number of lines that you can copy from one user profile to another.

[01:03:52] – Ezriel Gross
So yes, there’s no reason why you couldn’t actually just do the straightforward copy. There has been a request that has come through to make it easier to share things between various different users, and I do know that the developers are working on an option for that as well. So the answer is yes, you can copy it to another profile if you want to, but you’d have to do that manually today. You’re welcome. I think that’s all the questions I had. I’ll turn it back to you, Amanda.

[01:04:29] – Amanda Hendley
Great. Thank you Thank you so much. Well, I want to thank everyone for participating today. I want to, again, thank our partners, Broadcom Mainframe Software and DataKinetics for their partnership of this program. If you want to get involved and get looped in on social media. We are on X, Facebook, LinkedIn, and the videos also get posted on YouTube. But I will tell you, virtualusergroups.com is the best place to find all the content, to make sure you’re signed up for the newsletters, and to get the video recordings and transcripts. I know a few of you were asking about that. Israel is also going to share his slides with us, so we’ll be able to get those out to the community as well. The last thing I’ll mention is our next meeting is July 8thUnderstanding transactions, debugging for CICS Cobalt programs., and I’m covering it up and I can’t read it. Understanding Transaction Debugging for CICS COBOL Programs. We’re going to hear from Colin Pearce. I hope all of you will join us on July 8th for this session. With that, if there’s nothing else, I saw a couple of things in chat come through.

[01:05:39] – Ezriel Gross
I’m looking through it.

[01:05:41] – Amanda Hendley
Accolades, as always. Thank you again for presenting today.

[01:05:47] – Ezriel Gross
You’re welcome.

[01:05:48] – Amanda Hendley
All right. You all have a great rest of the day.

Upcoming Virtual CICS Meetings

July 29, 2025

Virtual CICS User Group Meeting

Understanding Transaction Debugging for CICS COBOL Programs

Colin Pearce

Register Here!

 

September 9, 2025

Virtual CICS User Group Meeting

CICS and the Latest Release

Speakers: Dave Dalton, IBM & Todd Gagle, Broadcom

Register Here