`
JerryWang_SAP
  • 浏览: 1001148 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

使用SAT跟踪监控从浏览器打开的SAP应用的性能和调用栈

阅读更多

今天是农历鼠年大年初四,本文是鼠年第4篇文章,也是汪子熙公众号第203篇原创文章。

大家这几天在家里宅得如何了?貌似不少朋友都闷坏了。

我们继续学习。

Jerry之前的文章 SAP错误消息调试之七种武器:让所有的错误消息都能被定位 介绍的第五种武器孔雀翎SAT,曾经提到了下面这张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来跟踪?这也是Jerry的同事过去经常问我的一个问题。

尽管我们可以用SAT界面右部的In Parellel Session来完成,但Jerry觉得其步骤稍嫌繁琐,反正Jerry从来不用,详细步骤在这篇SAP社区博客里有详细介绍:

Next Generation ABAP Runtime Analysis (SAT) – How to analyze program flow

本文介绍另一种办法,这也是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事务码,看到这个成功生成的结果文件。

树形结构的调用栈,每个栈的执行性能清晰地罗列出来。

大家可以把这种方法和Jerry在文章开头提到的博客里介绍的另一种办法做比较,看自己更喜欢哪一种。

感谢阅读,祝大家在家中宅得愉快。

更多阅读

0
2
分享到:
评论

相关推荐

    SAP ABAP程序性能调优介绍.pptx

    程序跟踪是 SAP 系统性能调优的另一个重要工具,包括 ABAP Trace、SAT 和 SQL Trace。这些工具可以帮助管理员跟踪程序的执行过程,identify 性能瓶颈并进行优化。 程序调优是 SAP 系统性能调优的核心部分,包括内表...

    SAP ABAP程序性能调优介绍.pdf

    SAP ABAP 程序性能调优介绍 SAP ABAP 程序性能调优是指通过对 SAP ABAP 程序的优化,...通过对用户交互过程、系统监控、程序跟踪、程序调优、SQL 优化等方面的知识点的掌握,可以有效地提高 SAP 系统的性能和可靠性。

    高性能计算实验_SAT问题.docx

    SAT 问题是计算机科学中一个非常重要的问题,解决这个问题需要使用高性能计算和并行算法。DP 并行算法和 DPLL 算法是解决 SAT 问题的两种常用方法,高性能计算和 MPI 是实现这些算法的有力工具。

    详解使用SAT对ABAP程序进行性能分析视频教程

    详解使用SAT对ABAP程序进行性能分析视频教程

    SAP Tcode File

    - SAT:SAP应用程序测试工具,用于性能测试和系统健康检查。 这些Tcodes是BASIS管理员日常工作中不可或缺的一部分,他们通过这些工具确保SAP系统的稳定运行、高效性能以及数据安全。了解和熟练掌握这些Tcodes的...

    sat格式的案例应用

    通过使用SAT格式,ABB能够实现跨平台的设计协同,优化工作流程,提升工作效率,并确保机器人造型的精确性和功能性。这份PDF文件很可能是对这种应用的详细阐述,可能包含具体的案例、步骤和最佳实践,对于理解如何在...

    SMS与SAT移动应用开发

    SAT,SIM工具包,是Sim卡上的一种应用程序接口,它允许运营商在用户的Sim卡上部署服务和应用,而无需改变手机硬件或操作系统。SAT工具包提供了丰富的命令集,允许用户通过Sim卡与网络交互,执行各种操作,如订阅新闻...

    SAT和SMT求解器简介:Introduction to SAT and SMT Solvers

    1. SAT和SMT求解器基础:介绍这两个工具的基本概念和应用。 2. SMT-LIB语言详解:深入探讨SMT-LIB的语法、结构和在验证中的作用。 3. 如何使用SMT-LIB与SMT求解器交互:展示如何编写SMT-LIB代码并将其连接到求解器。...

    SAP各代增强介绍与查找

    - 使用SAT(Transaction Code: ST05)运行分析工具,根据注释和形式名称定位。 - **Customer-Exit查找**: - 查找E类(Function Exits):在SAP发布的版本中,通过调用`CALL CUSTOMER-FUNCTION`找到函数模块。 -...

    基于寻找2-SAT子问题的SAT算法

    ### 基于寻找2-SAT子问题的SAT算法 #### 概述 在理论计算机科学领域中,可满足性问题(Satisfiability Problem, ...这种算法为解决复杂的SAT问题提供了新的思路和方法,有望在未来的研究中得到更广泛的应用和发展。

    SAT算法的应用---着色问题

    SAT算法,全称为Boolean Satisfiability Problem(布尔满足问题),是一种重要的计算机科学理论...在实际应用中,通过结合各种优化技术,如冲突驱动的 clauses learning,SAT求解器能够在大规模问题上达到很好的性能。

    2-SAT学习资料

    "【2-sat】专题~ - Amb@HDU - 博客园_files"和"2-SAT总结 - kuangbin - 博客园_files"这两个文件夹可能包含了与博客文章相关的图片、代码示例或其他辅助材料,有助于读者更好地理解2-SAT的实现和应用。 总的来说,...

    jsp去除浏览器缓存

    ### jsp去除浏览器缓存详解 #### 一、引言 在Web开发中,为了提高用户体验及页面加载速度,浏览器通常会缓存一部分资源。但有时为了确保用户获取到最新的内容,我们需要禁止或控制浏览器对特定页面的缓存。本文将...

    3sat 问题的benchmark

    "sat benchmark"可能指的是包含所有测试数据的文件夹或压缩包,其中包含了各种3-SAT问题实例,每例都有不同的难度和规模,旨在全面地测试算法的性能。 综上所述,"3sat 问题的benchmark"是一系列用于评估3-SAT问题...

    SAT阅读真题下载.pdf

    SAT 考试的报名和考务管理由 College Board 负责,考试的出题和评分则由 Educational Testing Service (ETS) 负责。考试的试卷包括阅读、数学、写作三个部分,每个部分都有其特定的题型和评分标准。 考试形式 SAT ...

    基于C++ DPLL 算法的 SAT 求解器和二进制数独【100012381】

    SAT 问题即命题逻辑公式的可满足性问题(satisfiability problem),是计算机科学与人工智能基本问题,是一个典型的 NP 完全问题,可广泛应用于许多实际问题如硬件设计、安全协议验证等,具有重要理论意义与应用价值...

    SAT算法库 OpenSAT

    在实际应用中,SAT问题被广泛用于电路验证、软件测试、规划和优化等领域。 **1. SAT问题与CNF表示** SAT问题的核心在于它的输入是布尔变量的集合和这些变量之间的逻辑关系,通常以CNF(合取范式)表示。CNF是由一...

    power_asm_sat matlab simulink 电子电器仿真模型 .zip

    在电子工程领域,仿真工具是设计、验证和优化系统的重要手段。`power_asm_sat`是与MATLAB Simulink相关的...通过深入研究和应用这个模型,工程师能够更准确地预测和控制电力设备的运行状态,从而提高系统性能和可靠性。

    2-sat.rar_2sat_SAT求解

    在实际应用中,2-SAT问题被广泛应用于电路设计、逻辑推理、计划制定等领域。通过理解和掌握2-SAT问题及其求解算法,我们可以有效地解决许多实际问题,并为更复杂的SAT问题求解提供基础。 总结来说,2-SAT问题是一个...

Global site tag (gtag.js) - Google Analytics