在开始介绍事物码 SAT 之前,让咱们简略回顾一下 ABAP Platform 的概念。

ABAP 平台是基于 SAP HANA 数据库和数据管理平台的基于 ABAP 的 SAP 解决方案的根底。ABAP 平台充分利用了 SAP HANA 提供的底层翻新。这与 SAP NetWeaver 不同,在 SAP NetWeaver 中,Application Server ABAP 为 SAP反对的所有数据库系统提供了一个公共层。相比之下,ABAP 平台是齐全为 SAP HANA 优化的。

ABAP 平台是基于 ABAP 平台的根底插件。

在 SAP HANA 数据库中,池(pool)和集群表(cluster tables)的概念被认为是过期的。因而,不再反对池表和集群表。任何现有的池表、集群表、表池(table pools)和表集群(table clusters)都已删除。

在 ABAP Platform 里,当初能够配置 ABAP 守护过程(Daemon)的主动启动。配置的守护过程应该由零碎或应用程序服务器实例主动启动,并显示在事务 SMDAEMON 中。为了容许配置监控,ABAP Daemons Start-Up configuration视图曾经增加到事务中。

Release 7.53与内核 773 一起公布,它不向下兼容任何较低的 ABAP 版本。因而,以技术上不兼容的形式扭转了几个对于 ICM 的参数。

ABAP 服务器和 SAP Web Dispatcher 在服务器角色中反对 HTTP/2 协定曾经有一段时间了,然而,默认状况下它没有启用。HTTP/2 通过重用单个 TCP 连贯和额定的压缩提供了性能改良,特地是在慢速网络中。从7.53版本开始,默认启用HTTP/2协定。

除了在服务器角色中反对HTTP/2外,ABAP HTTP客户端当初也反对HTTP/2协定。如果所有连贯参数(指标主机、端口、代理、客户端证书)都雷同,建设的连贯将跨ABAP HTTP客户端类CL_HTTP_CLIENT的多个实例和多个用户会话重用。如果通信搭档也反对HTTP/2协定,这种重用能够显著缩小已应用的出站连贯的数量。

默认状况下,客户端角色中 HTTP/2 的应用是敞开的,以防止可能的不兼容。它能够通过设置profile参数 icm/HTTP/client/support_http2 = true来关上。

最初,就是本文要介绍的事物码 SAT. 这个事物码是 ABAP 零碎里的一个工具,用于对 SAP 利用进行性能监控和度量。

上面是一张 SAP ABAP 零碎事物码 SAT 的截图:

大家最常应用SAT的形式,也就是在上图In Dialog区域里,输出事务码,ABAP报表或者Function Module的名称,而后点击Execute按钮. 如此一来,指定的这些ABAP程序会在SAT Trace模式下运行,主动生成蕴含了执行性能和调用栈等信息,在程序完结退出Trace模式下之后即可查看。

SAT生成的Trace后果,以树形构造显示ABAP程序执行的每一调用栈和性能数据,无论是进行性能剖析,还是学习一段生疏代码的执行逻辑,都十分有用。

那么这里有个问题,如果想跟踪或者想钻研的利用,是通过浏览器关上的,例如SAP S/4HANA Fiori利用,SAP ABAP WebDynpro,WebClient UI这种,假使想钻研浏览器里某个利用点了某个按钮之后,背地产生了什么,如何用SAT来跟踪?这也是笔者的共事过来常常问我的一个问题。

只管咱们能够用SAT界面右部的 In Parellel Session来实现,但Jerry感觉其步骤稍嫌繁琐,反正Jerry从来不用,具体步骤在这篇SAP社区博客里有具体介绍。

本文介绍另一种方法,这也是Jerry工作中用的方法。

假如有一个SAP Fiori利用,点了某个按钮后,会触发一个OData服务调用,从ABAP Netweaver服务器上取数据。我曾经在Chrome开发者工具里把这个OData服务的url抄了下来,保护在Postman里,随时能够反复调用。

这种办法的思路概括如下:

(1) 在要跟踪的后盾代码的起始和完结的地位各打一个断点,假如起始地位断点为1,完结地位为2.

(2) 在浏览器或者其余工具里启动利用,触发断点1,此时在调试器里开启SAT的Trace模
式。

(3) 调试器里间接按F8,程序会执行到断点2而后停下来。此时在调试器里敞开SAT的Trace模式。

(4) 完结程序的执行,回到SAT,查看Trace后果。
这种办法的关键在于找准断点1和断点2的地位。如果是跟踪本人相熟的利用,找准地位不难;如果跟踪的利用本人不相熟,那么就在框架开始执行和完结的地位各设置一个断点就好了。

还是以下面的OData服务为例,因为抄下来的url片段蕴含了/sap/opu/odata/sap, 这起始曾经通知了咱们在哪里设置断点。
关上事务码SICF,输出OData而后查问,在后果列表里双击OData节点:

但凡浏览器里从ABAP Netweaver后盾发动的HTTP调用,只有url蕴含/sap/opu/odata, 必定会被SICF事务码里odata这个节点调配的ABAP Handler类解决。

双击进入这个类的HANDLE_REQUEST办法,在其办法开始的地位设置断点1,在这个办法的最初一行设置断点2.

当初关上浏览器或者执行Postman以触发断点1,在调试器里点击New Tool按钮,

在弹出窗口里,点击Special Tools里的Trace按钮,

双击这个图标,开启SAT的跟踪模式:

Status栏看到绿灯,阐明以后曾经在Trace模式了:

F8执行到第二个断点,双击下图蓝色区域的图标以敞开SAT跟踪模式。敞开后,Status栏的绿灯变红,同时TraceFile里呈现一个卷轴图标,提醒咱们SAT跟踪文件曾经生成了。

关上SAT事务码,看到这个胜利生成的后果文件。

树形构造的调用栈,每个栈的执行性能清晰地列举进去。

总结

本文首先介绍了 ABAP Platform 的基本概念,接着具体叙述了事物码 SAT 在对通过浏览器启动的 SAP 利用进行性能监控和测量的具体步骤。