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