【问题标题】:How to improve Jenkins Pipeline Groovy jobs performance using JProfiler?如何使用 JProfiler 提高 Jenkins Pipeline Groovy 作业性能?
【发布时间】:2022-01-24 01:46:54
【问题描述】:

我正在开发和运行基于 groovy 的 Jenkins 管道作业,我们的代码执行多个线程并且需要高 CPU 和内存。

由于 JProfiler 是一个强大的 Java 分析工具,我想在代理上运行的 Jenkins Pipeline 作业中收集有关我的 groovy 代码的性能信息,以便我能够解决代码弱点并进行优化代码。

  1. 安装 JProfiler 的最佳实践是什么? (远程 KVM 或 Jenkins 还是本地代理?)
  2. groovy源代码有选项检查吗?

【问题讨论】:

    标签: java jenkins-pipeline profiling jenkins-groovy jprofiler


    【解决方案1】:

    以下是在构建中创建自动分析报告的策略:

    在构建代理上,您需要分析代理,而不是整个 JProfiler 安装。使用远程集成向导通过调用获取必须插入到测试程序的 java 调用中的 VM 参数

    会话->集成向导->新建远程集成

    从主菜单中。

    在向导中选择“在远程计算机上”选项

    以及“启动模式”步骤中的“离线配置文件”选项。

    在“远程安装目录”步骤中,有一个下载目标平台代理存档的链接。将其解压到某个目录并在此步骤中输入该路径。

    然后按照手册中的描述设置一些触发器来记录分析数据:

    https://www.ej-technologies.com/resources/jprofiler/help/doc/main/offline.html

    更改配置文件后,必须按照集成向导的“配置同步”步骤中的说明将其传输到构建代理机器。

    如果您向触发器添加了“保存快照”操作,则在测试程序运行后您将拥有一个 .jps 快照文件。您可以在 JProfiler UI 中手动打开它,或者使用命令行工具提取 HTML 或文本格式的数据:

    https://www.ej-technologies.com/resources/jprofiler/help/doc/commandLine/snapshotExecutables.html

    groovy源码有选项检查吗?

    JProfiler 不适用于源代码,但适用于编译后的类文件,因此它适用于所有 JVM 语言,包括 Groovy。

    【讨论】:

    • 感谢您的回复。我的工作执行 Groovy 管道并运行 Python 脚本,所以当我询问源代码时,我指的是 JProfiler 的内置功能,它指向可疑的源代码,以便我可以优化我的代码。
    • 堆栈跟踪上下文菜单中的“显示源代码”操作会显示相应的源代码。如果您通过 IDE 集成启动 JProfiler,该功能将在 IDE 中而不是在内置源代码查看器中显示源代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多