SAP OData性能分析工具

简介: SAP OData性能分析工具

As mentioned by title, this blog does not introduce the OData trace functionality itself, but shows the way how to find and figure out the usage of trace functionality by yourself, for example, find the corresponding transaction code or report name to launch the trace.

Actually this approach is not dedicated to gateway but generically applies to any other scenario:

– You have found switch or flag evaluation in some ABAP source code which dynamically controls the enablement of certain functionality. You need to know where and how you can access this switchable function.

For example, in gateway system, I found there are two flags which enable or disable the OData trace:


image.png


I need to find out how to perform the OData trace by the source code, without any debugging in the runtime.


Step1: perform where-used-list on mv_perf_level:


image.png


7 hits. Based on experience, I can judge that the line 100 is fill it with value fetched from DB table via open SQL.

Double click the line 100.


image.png


Step2: Now I found the configuration table which stores the trace configuration information. Perform where-used-list on the table again:


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Poi9HmS-1596964696846)(https://upload-images.jianshu.io/upload_images/2085791-d82d1d9da89b6864.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]


The second report, /IWFND/SUTIL_TRACE_CONFIG, is what I am looking for, the one to launch OData trace UI.


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MLaMlaiq-1596964696850)(https://upload-images.jianshu.io/upload_images/2085791-fbf574f35cbb11ec.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]


To verify, simply execute it. And that’s it. After I made the following setting and click save button:


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oMIqTLf7-1596964696852)(https://upload-images.jianshu.io/upload_images/2085791-cbb7ae64f3ab62bc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]


There is corresponding entry persisted in the table I found in this step.


image.png


Step3: I am also curious about at what time the other flag, mv_odata_trace_active, could become true. Still the same approach.

Check the result. Based on experience, only the first method ENABLE_ODATA_TRACE performs the write access on the flag, all the left are read access such as IF mv_odata_trace_active = abap_true. ….


image.png


Double click on ENABLE_ODATA_TRACE, and we get to know the flag will become true if io_context->debug is true.


image.png


So now research /IWCOR/IF_DS_CNTXT instead:


image.png


Again the attribute DEBUG of interface only has the opportunity to be true in the constructor method of the implementation class, all other 41 hits are the read access on it and could be ignored.


image.png


so perform the where-used-list on constructor method:



image.png

Here we are very near to the target:


image.png


Just scroll up, and we get the result. The other flag could only become true when the two prerequisites are met:


(1) There is query parameter sap-ds-debug defined in the OData request url.

(2) The current user should have debug authorization, that is, should pass the check by function module SYSTEM_DEBUG_AUTHORITY_CHECK.


image.png

相关文章
|
2月前
|
Rust 数据可视化 安全
Rust性能分析工具概览:perf、flamegraph 与其他
Rust作为一种高性能、内存安全的编程语言,在构建大型系统和微服务时备受青睐。然而,优化Rust程序的性能需要有效的工具。本文将对Rust中常用的性能分析工具进行介绍,包括perf、flamegraph等,并探讨它们如何帮助开发者定位和解决性能瓶颈。
|
2月前
|
缓存 UED
关于 SAP OData Annotation Provider Class 以及 metadata 模型注册的事务码
关于 SAP OData Annotation Provider Class 以及 metadata 模型注册的事务码
26 0
|
3月前
|
XML API 数据格式
SAP 标准 OData 服务 CATALOGSERVICE;v=2 的作用介绍
SAP 标准 OData 服务 CATALOGSERVICE;v=2 的作用介绍
24 0
|
29天前
|
数据可视化 关系型数据库 编译器
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
【C/C++ 单线程性能分析工具 Gprof】 GNU的C/C++ 性能分析工具 Gprof 使用全面指南
103 2
|
3月前
|
监控 前端开发 数据可视化
SAP 标准 OData 服务 ABAP_REPOSITORY_SRV 的作用介绍
SAP 标准 OData 服务 ABAP_REPOSITORY_SRV 的作用介绍
31 1
|
1天前
|
Web App开发 JavaScript 前端开发
JavaScript中的性能优化:代码优化技巧与性能分析工具
【4月更文挑战第22天】本文探讨JavaScript性能优化,包括代码优化技巧和性能分析工具。建议避免全局查找、减少DOM操作、使用事件委托、优化循环和异步编程以提升代码效率。推荐使用Chrome DevTools、Lighthouse和jsPerf等工具进行性能检测和优化。持续学习和实践是提升JavaScript应用性能的关键。
|
29天前
|
缓存 Linux iOS开发
【C/C++ 集成内存调试、内存泄漏检测和性能分析的工具 Valgrind 】Linux 下 Valgrind 工具的全面使用指南
【C/C++ 集成内存调试、内存泄漏检测和性能分析的工具 Valgrind 】Linux 下 Valgrind 工具的全面使用指南
64 1
|
1月前
|
监控 Linux 测试技术
【 C/C++ 性能分析工具 CPU 采样分析器 perf 】掀开Linux perf性能分析的神秘面纱
【 C/C++ 性能分析工具 CPU 采样分析器 perf 】掀开Linux perf性能分析的神秘面纱
64 0
|
1月前
|
数据库 开发者 容器
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
SAP OData metadata.xml 里 EntityType,EntitySet 和 EntityContainer 三个概念之间的区别和联系
24 0
|
2月前
|
IDE 小程序 前端开发
1月开发者日回顾|IDE性能分析工具即将上线,lifetimes等多个自定义组件参数更新
1月开发者日回顾|IDE性能分析工具即将上线,lifetimes等多个自定义组件参数更新
51 0