闪电下载吧 最新软件 免费软件 绿色软件

教程资讯 软件专题

您的位置:SD124 > 应用软件 > 编程开发 > 多合一Java分析器 EJ Technologies JProfiler 12.0.5 key

多合一Java分析器 EJ Technologies JProfiler 12.0.5 key

  • 软件大小:111 MB
  • 更新日期:2021-12-11
  • 官方网站:https://www.ej-technologies.com/
  • 软件等级:★★★☆☆
  • 运行环境:Winxp/Win7/Win8/Win10
多合一Java分析器 EJ Technologies JProfiler 12.0.5 key
  • 软件说明
  • 软件截图
  • 下载地址
  • 相关软件
  • 用户评论
  • 投诉建议: 858898909@qq.com
EJ Technologies JProfiler 12破解版是功能强大的可用于动态分析基于Java的应用程序,并使您能够分析它们以优化性能的解决方案,多合一Java分析器,简单而强大。配置会话很简单,第三方集成使入门变得轻而易举,分析数据以自然的方式呈现。在所有级别上,JProfiler都经过精心设计,可帮助您开始解决问题。JProfiler处理四个主要问题,方法调用通常被称为"CPU分析"。方法调用可以通过不同的方式进行测量和可视化,分析方法调用可以帮助了解你的应用程序正在做什么,并找到提高其性能的方法。分析堆上对象的分配、引用链和垃圾回收属于"内存分析"的范畴。这个功能可以让你解决内存泄漏,总之使用更少的内存,分配更少的临时对象。线程可以持有锁,例如通过在一个对象上做同步。当多个线程协作时,可能会出现死锁,JProfiler可以为你可视化这种情况。此外,锁可能被争用,这意味着线程在获得锁之前必须等待。通过JProfiler可以深入了解线程及其各种锁情形。许多性能问题发生在更高的语义层面。例如,对于JDBC调用,你可能想找出哪条SQL语句是最慢的。对于这样的子系统,JProfiler提供了"探针",将特定有效载荷附加到调用树。界面友好,配置简单,最新破解版,有需要的朋友不要错过了!

安装激活教程

1、在本站下载并解压,如图所示

2、安装程序,选择安装类型

3、勾选接受协议

4、如图所示,输入任意信息,将key复制到输入框中

JPROFILER 12.0新增功能

1、添加了火焰图。显示调用树的所有视图也可以显示为火焰图,在一个图像中显示调用树的全部内容。调用起源于火焰图的底部并向顶部传播。
火焰图作为调用树分析实现,并嵌套在当前调用树视图下方。通过在调用树中选择一个节点,您可以设置火焰图的初始根节点。
子节点按字母顺序排序并以其父节点为中心。由于在每个节点上花费的自时间,“火焰”向顶部逐渐变窄。有关节点的更多信息显示在工具提示中。
火焰图具有非常高的信息密度。您可以放大感兴趣的区域,或通过双击来设置新的根节点。当连续多次更改词根时,您可以在词根历史中再次移动。
另一种分析火焰图的方法是根据类名、包名或任意搜索词添加着色。第一个匹配的着色用于每个节点。
可以从上下文菜单中方便地添加和删除着色。
除了着色之外,您还可以使用快速搜索功能来查找感兴趣的节点。使用光标键,您可以在显示当前突出显示的匹配的工具提示时循环查看匹配结果。
火焰图不仅可用于顶级调用树视图,还可用于其他调用树分析的结果,例如“折叠递归”。
2、添加了对Netty的支持。之前的“Servlet”探针和Netty功能被合并到新的“HTTP Server”探针中。
如果您正在运行基于Netty的Web服务器,例如Spring Reactor、Vertx或Ktor,则HTTP Server探针会向您显示拦截的URL以及调用计数以及它们的总处理时间和平均处理时间。
HTTP Server探针的事件视图可以按时间顺序列出单个URL拦截。
就像对于Servlet容器一样,调用树针对每个URL进行拆分,因此您可以单独查看关联的子树。
为了确定拆分的粒度以及显示的URL,除了Servlet脚本之外,HTTP服务器探测器的探测设置现在还提供通用拆分脚本。
与提供来自Servlet API的HttpRequest对象作为参数的Servlet脚本不同,Netty环境由于几个不兼容的API而不太稳定。这就是JProfiler从其自己的API提供HttpRequest参数以提供对常见请求属性的访问的原因。高级用例可以通过getRequestObject()方法获取底层Netty请求对象。
与Servlet脚本一样,您可以配置脚本列表以在调用树中创建多个嵌套的拆分级别。有几个用于常见任务的脚本模板可用。
Netty主要用于异步处理HTTP请求。由于关联的线程更改,调用树中URL下方的子树将不会显示请求的整个处理过程。
使用JProfiler中的异步请求跟踪功能,您可以跟踪整个执行流程。大多数框架,如Spring Reactor使用执行器进行异步处理,因此必须激活“执行器”请求跟踪类型。如果您使用的是基于Kotlin协程(如Ktor)的服务器,那么“Kotlin协程”是所需的跟踪类型。
如果使用异步跟踪,调用树视图将建议在视图顶部以及启动异步调用的调用站点上内联异步执行。
然后,“内联异步执行”分析的结果包含一个跨所有相关线程的调用树,向您展示特定请求URL的整个处理过程,为所有匹配的请求累积。
3、SSH远程连接功能现在支持连接到在Docker容器中运行的JVM。
您首先使用带有SSH隧道的快速连接功能到远程Linux机器。
最初,会列出直接在远程机器上运行的JVM进程。在远程连接对话框的顶部有一行显示当前选择的远程Docker容器。
随着切换容器超链接,然后您可以选择一个正在运行的Docker容器。
选择Docker容器后,将显示在其中运行的所有JVM。然后JProfiler将使用Docker命令在选定的容器中自动安装分析代理,准备JVM进行分析并将分析协议传输到外部。
如果SSH登录用户不在docker组,可以先切换远程用户。
4、附加功能在几个方面得到了改进。
已使用“-agentpath”VM参数启动以进行分析的JVM现在显示在附加对话框中,用于本地和远程附加。这些JVM在启动时等待来自JProfiler GUI的连接。在这种状态下,JVM中的正常附加机制尚不可用,因此必须实施替代附加机制。
以前,当连接到远程机器时,必须为登录用户提供JRE,否则连接将失败。从此版本开始,JVM列表中会显示一条消息,其中包含一个用于手动输入JRE路径的超链接。这允许您切换到可能有权访问JRE的用户或切换到包含JRE的Docker容器。
以前,更改远程计算机上的用户时,无法拍摄HPROF快照。在此版本中,实现了在帐户之间传输堆转储数据的方法,并且现在启用了“仅堆转储”操作。
5、堆遍历器中添加了通过类加载器对类进行分组的检查。此检查对java.lang.Class对象进行分组,并且是对现有检查的补充,该检查可以按类加载器对实例进行分组。
检查的结果可以包括java.lang.Class对象包含在当前对象集中的类或在当前对象集中具有实例的类。
当您在顶部的分组表中选择一个类加载器时,相应的java.lang.Class对象将显示在下面的数据视图中。
6、
现在支持Jakarta EE 9。Jakarta EE 9将API的包从javax.*切换到jakarta.*。JProfiler现在支持“HTTP服务器”探测的旧包和新包。
在JProfiler UI中编写URL拆分脚本时,javax.servlet.http.HttpServletRequest请求对象可用作参数。如果配置的容器支持Jakarta EE 9,则对servlet API的调用将透明地转换为jakarta.servlet。命名空间。
7、该插件进行了改进的NetBeans。添加了一个操作以附加到正在运行的JVM。这对于分析不使用exec插件的Maven项目以及JProfiler插件无法将VM参数插入到Java调用中的Gradle项目尤其重要。
添加了一个首选项页面,您可以在其中调整JProfiler可执行文件以及打开新分析会话的窗口策略。所有其他设置在会话启动对话框中继续可用,并为每个NetBeans项目单独保存。
8、JProfiler有一个新的跨平台光照模式。这是来自IntelliJ IDEA平台的全新灯光外观。
9、已添加到简体中文的本地化。如果您机器的语言环境是“zh_CN”,安装程序会自动选择它,否则您可以在常规设置对话框中切换语言。
10、添加了对在Alpine Linux上进行分析的支持。Alpine Linux特别受Docker的欢迎,因为它的镜像尺寸较小。它使用与其他Linux发行版不同的C标准库,因此本机分析代理需要一个单独的端口。
从此版本开始,musl-x64架构包含在JProfiler中。
11、添加了对macOS ARM分析的支持。虽然可以通过Rosetta在新的基于ARM的macOS机器上分析为x86架构编译的JVM,但直接为新ARM架构编译的新JVM需要不同的本地分析代理。
从此版本开始,macOS分析代理是一个通用二进制文件,其中包含x64和ARM64的实现。
在12.0版本发布时,JProfiler尚未与ARM JRE捆绑在一起,因此JProfiler GUI将在macOS ARM机器上通过Rosetta运行。随着相应的JRE可用,预计很快就会发布包含ARM JRE的版本。

使用帮助

记录数据
分析器的主要目的是记录来自各种来源的运行时数据,这些数据对于解决常见问题非常有用。此任务的主要问题是运行中的 JVM 以极高的速度生成此类数据。如果分析器总是记录所有类型的数据,它会产生不可接受的开销或很快耗尽所有可用内存。此外,您通常希望围绕特定用例记录数据,而不想看到任何不相关的活动。
这就是 JProfiler 提供细粒度机制来控制您实际感兴趣的信息记录的原因。
1、标量值和遥测
从分析器的角度来看,问题最少的数据形式是标量值,例如活动线程数或打开的 JDBC 连接数。JProfiler 可以以固定的宏观频率(通常每秒一次)对此类值进行采样,并向您展示随时间的演变。在 JProfiler 中,显示此类数据的视图称为遥测。大多数遥测总是被记录下来,因为测量的开销和内存消耗都很小。如果数据被记录很长时间,旧的数据点会被合并,这样内存消耗不会随时间线性增长。
还有参数化遥测,例如每个类的实例数。额外的维度使得永久的时间顺序记录不可持续。您可以告诉 JProfiler 记录多个选定类的实例计数的遥测数据,但不是每个类的。
继续前面的示例,JProfiler 能够向您显示所有类的实例计数,但没有按时间顺序排列的信息。这是“所有对象”视图,它将每个类显示为表中的一行。更新视图的频率低于每秒一次,并且可以根据测量引起的开销自动调整。确定所有类的实例计数相对昂贵,并且堆上的对象越多,所需的时间就越长。JProfiler 限制了“所有对象”视图的更新频率,以便在极端情况下测量的开销永远不会超过 10%。您可以冻结视图以暂时停止录制。此外,如果视图未处于活动状态,
一些测量捕获类似枚举的值,例如线程当前所处的执行状态。这种测量可以显示为彩色时间线,并且比数字遥测消耗更少的内存。在线程状态的情况下,“线程历史”视图显示 JVM 中所有线程的时间线。就像具有数值的遥测一样,旧值被合并并变得更粗粒度以减少内存消耗。
2、分配记录
如果您对在特定时间间隔内分配的实例计数感兴趣,JProfiler 必须跟踪所有分配。与 JProfiler 可以遍历堆中的所有对象以按需获取信息的“所有对象”视图相反,跟踪单个分配要求必须为每个对象分配执行额外的代码。这使得它成为一项非常昂贵的测量,它可以显着改变被分析应用程序的运行时特征,例如性能热点,尤其是在您分配许多对象的情况下。这就是分配记录必须明确地开始和停止的原因。
具有关联记录的视图最初显示一个带有记录按钮的空白页面。在工具栏中也可以找到相同的录制按钮。
分配记录不仅记录分配的实例数,还记录分配堆栈跟踪。在内存中为每个分配的记录保留堆栈跟踪会产生过多的开销,因此 JProfiler 将记录的堆栈跟踪累积到树中。这还有一个优点,您可以更轻松地解释数据。但是,时间顺序方面丢失了,并且无法从数据中提取某些时间范围。
3、内存分析
分配记录只能衡量对象的分配位置,没有对象之间的引用信息。任何需要引用的内存分析(例如解决内存泄漏)都在堆遍历器中完成。heap walker 获取整个堆的快照并对其进行分析。这是一种侵入性操作,它会暂停 JVM - 可能会暂停很长时间 - 并且需要大量内存。
一个更轻量级的操作是在您开始使用案例之前标记堆上的所有对象,以便您可以在稍后拍摄堆快照时找到所有新分配的对象。
JVM 有一个特殊的触发器,用于将整个堆转储到以旧的 HPROF 分析代理命名的文件中。这与分析接口无关,并且不在其约束下运行。因此,HPROF 堆转储速度更快并且使用的资源更少。缺点是在 heap walker 中查看堆快照时,您将无法与 JVM 建立实时连接,并且某些功能不可用。
4、方法调用录音
测量方法调用花费的时间是一个可选的记录,就像分配记录一样。方法调用累积成一棵树,并且有各种视图从不同的角度显示记录的数据,例如调用图。此类数据的记录在 JProfiler 中称为“CPU 记录”。
在特定情况下,查看方法调用的时间顺序可能很有用,尤其是在涉及多个线程时。对于这些特殊情况,JProfiler 提供了“调用跟踪器”视图。该视图具有独立的记录类型,与更一般的 CPU 记录无关。请注意,调用跟踪器生成的数据过多,无法用于解决性能问题,它仅用于专门形式的调试。
呼叫跟踪器依赖于 CPU 记录并在必要时自动将其打开。
另一个有自己记录的专业视图是“复杂性分析”。它只测量所选方法的执行时间,不需要启用 CPU 记录。它的附加数据轴是您可以使用脚本计算的方法调用算法复杂度的数值。通过这种方式,您可以衡量方法的执行时间如何取决于其参数。
5、监听录音
要分析线程等待或阻塞的原因,必须记录相应的事件。此类事件的发生率差异很大。对于线程频繁协调任务或共享公共资源的多线程程序,可能会有大量此类事件。这就是默认情况下不记录此类按时间顺序的数据的原因。
当您打开监控记录时,“锁定历史图表”和“监控历史”视图将开始显示数据。
为了消除噪音并减少内存消耗,不会记录非常短的事件。视图设置使您可以调整这些阈值。
6、探测记录
探针显示 JVM 中更高级别的子系统,例如 JDBC 调用或文件操作。默认情况下,不会记录任何探针,您可以为每个探针单独切换记录。一些探针会增加很少或根本不会增加开销,而另一些会创建大量数据,具体取决于您的应用程序正在做什么以及如何配置探针。
就像分配记录和方法调用记录一样,除了时间线和遥测数据外,探测数据被累积并丢弃按时间顺序排列的信息。但是,大多数探测器还有一个“事件”视图,允许您检查单个事件。这会增加潜在的大量开销并具有单独的记录操作。记录操作的状态是持久的,因此当您切换探测记录时,如果您之前已将其打开,相关的事件记录也会被切换。
JDBC 探针具有用于记录 JDBC 连接泄漏的第三个记录操作。查找连接泄漏的相关开销只会在您实际尝试调查此类问题时发生。就像事件记录动作一样,泄漏记录动作的选择状态是持久化的。
7、录制配置文件
在许多情况下,您希望通过单击开始或停止各种录制。访问所有相应的视图并一一切换录制按钮是不切实际的。这就是 JProfiler 具有记录配置文件的原因。可以通过单击工具栏中的“开始录制”按钮来创建录制配置文件 。
录音配置文件定义了一种可以自动激活的特定录音组合。JProfiler 试图让您对所选记录创建的开销有一个粗略的印象,并试图阻止有问题的组合。特别是分配记录和 CPU 记录不能很好地配合,因为分配记录会显着扭曲 CPU 数据的时序。
您可以在会话运行期间随时激活录制配置文件。录制配置文件不是附加的,它们会停止所有未包含在录制配置文件中的录制。使用“停止录音”按钮,您可以停止所有录音,无论它们是如何被激活的。要查看当前活动的录音,请将鼠标悬停在状态栏中的录音标签上。
当您开始配置文件时,也可以直接激活记录配置文件。“会话启动”对话框有一个初始记录配置文件下拉列表。默认情况下,没有选择记录配置文件,但如果您需要来自 JVM 启动阶段的数据,这里是配置所需记录的地方。
8、使用触发器录制
有时您想在发生特定情况时开始录制。JProfiler 有一个 系统来定义执行动作列表的触发器。可用的触发操作还包括对活动录音的更改。
例如,您可能希望仅在执行特定方法时开始记录。在这种情况下,您将转到会话设置对话框,激活触发器设置选项卡并为该方法定义方法触发器。对于操作配置,您可以使用许多不同的录制操作。
“开始录制”操作无需任何参数即可控制这些录制。通常,当您停止并重新开始录制时,所有先前录制的数据都会被清除。对于“CPU 数据”和“分配数据”记录,您还可以选择保留以前的数据并在多个时间间隔内继续累积。
通过使用上下文菜单中的“添加方法触发器”操作,可以在调用树中方便地添加方法触发器。如果您在同一个会话中已经有一个方法触发器,您可以选择将一个方法拦截添加到现有的触发器中。
默认情况下,当 JVM 启动进行分析时,触发器处于活动状态。有两种方法可以在启动时禁用触发器:您可以在触发器配置中单独禁用它们,或者取消选中会话启动对话框中的 启用触发器启动复选框。在实时会话期间,您可以通过从菜单中选择Profiling->(Enable|Disable) Triggers或单击 状态栏中的触发器记录状态图标来启用或禁用所有触发器。
有时,您需要同时为触发器组切换触发器激活。这可以通过为感兴趣的触发器分配相同的组 ID 并从菜单中调用 Profiling->Enable Triggers Groups来实现。
9、使用 jpcontroller 录制
JProfiler 有一个命令行可执行文件,用于控制已被分析的任何 JVM 中的记录。jpcontroller 要求发布 JProfiler MBean,否则将无法连接到已配置的 JVM。仅当分析代理已收到分析设置时才会出现这种情况。如果没有分析设置,代理将不知道要准确记录什么。
必须满足以下条件之一:
您已经使用 JProfiler GUI 连接到 JVM
已分析的 JVM 是使用-agentpath包含nowait和config参数的VM 参数 启动的。在集成向导中,这对应于“立即启动”模式和“配置同步”步骤中的“启动时应用配置”选项。
JVM 已准备好使用jpenable可执行文件进行分析,并-offline指定了 参数。有关jpenable -help 更多信息,请参见 的输出。
具体来说,jpcontroller如果分析的 JVM 仅使用nowait标志启动,则将不起作用 。在集成向导中,Config 同步步骤中的Apply configuration when connection with the JProfiler GUI选项将配置这样的参数。
jpcontroller 为您提供所有录音及其参数的循环多级菜单。您还可以使用它保存快照。
10、开始录制的编程方式
另一种开始录制的方法是通过 API。在分析的 VM 中,您可以调用 com.jprofiler.api.controller.Controller该类以编程方式开始和停止录制。有关更多信息以及如何获取包含控制器类的工件,请参阅离线分析一章。
如果您想控制不同 JVM 中的记录,您可以在分析的 JVM 中访问相同的 MBean,该 MBean 也由jpcontroller. 设置 MBean 的编程使用有点复杂,需要相当多的仪式,因此 JProfiler 附带了一个可以重用的示例。检查文件 api/samples/mbean/src/MBeanProgrammaticAccessExample.java。它在另一个配置的 JVM 中记录 CPU 数据 5 秒,并将快照保存到磁盘。

有任何意见或者建议请联系邮箱:858898909[at]qq.com 本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
Copyright © 2012 SDBETA.com. All Rights Reserved 豫ICP备12021367号 豫公网安备 41019702002546号闪电下载吧