On 19/05/2021 12:27 pm, David Crayford wrote:

Then why not write your product in C++? It would be a lot easier to process SMF records using structs then having to write get methods in Java. Contrary to what some people believe C++ is a very modern language with the benefit that it's not garbage collected. We chose Java because the value proposition of offloading to zIIP processors is what customers want. Some of my ex-colleagues have spent the last two years zIIP enabling SMF reporting products that are written in PL/X. In the age of analytics where customers want near real time analytics feeds zIIP offloading isn't a nice to have any more.


I'm not arguing the benefits of zIIP, it's a valuable bonus, but running on zIIP is not the primary aim of the product.

I started in C++ on Windows, but found that C# is easier with no noticeable reduction in performance, then ported the mapping to Java so it can run on z and other platforms. The mapping of the records that structs would provide is a small part of the work, there is a lot of extra code making it easy to use.

The aim of the Java code is to provide an implementation that people can use for custom and ad-hoc SMF reporting. I think it is easier to program against a Java API than C++. You can also develop and test on Windows/Linux and run the code unchanged on z/OS.

You can see an example of the type of reporting that is possible here:
https://github.com/BlackHillSoftware/easysmf-samples/blob/master/reports/src/main/java/com/smfreports/type30/BeforeAfterProgramStatistics.java

It shows how SMF record sections, date/time values, CPU time etc. is accessed. I think that sort of report would be much more complex to create in HLASM or Rexx, or even using C++ structs.

--
Andrew Rowley
Black Hill Software

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to