jProfiler没有提供方法级别的统计信息

时间:2015-11-20 17:31:51

标签: java profiling jprofiler

我在我的linux机器上安装了jProfiler,我将数据保存到.jps文件中。然后我将此文件加载到本地计算机的jProfiler UI中。

这是我的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <nextId id="104" />
  <generalSettings setupHasRun="false">
    <recordingProfiles>
      <recordingProfile  id="10" name="CPU recording">
            <actionKey id="cpu"/>
      </recordingProfile>
    </recordingProfiles>
  </generalSettings>
  <templates>
    <template id="50" name="Instrumentation, all features supported" startFrozen="false" recordCPUOnStartup="false" vmCannotExit="false" instrumentationType="1" samplingNoFilters="false" lineNumbers="false" samplingFrequency="5" timeType="1" disableCPUProfiling="false" recordAllocOnStartup="true" recordArrayAlloc="true" enableTriggersOnStartup="true" allocTreeRecordingType="1" disableMonitorContentions="false" componentDetection="true" chronoHeap="false" autoUpdatePeriodLong="5" autoUpdatePeriodShort="2" allUrls="false" payloadCap="50" eventCap="20000" showSystemThreads="false" utilConcurrentHandling="true" libraryDebugParameters="" exceptionalCap="5" exceptionalTimeType="4" autoTuneInstrumentation="true" autoTuneMaxAverage="100" autoTuneMinPerMille="10" samplingPayloadCallStacks="true" description="This is JProfiler's fully featured mode. In this setting, call stack information is accurate, but CPU overhead and distortion of measured call times may be high, depending on your filter settings. You should define inclusive filters for your own packages." system="true" />
    <template id="51" name="Sampling for CPU profiling, some features not supported" startFrozen="false" recordCPUOnStartup="false" vmCannotExit="false" instrumentationType="3" samplingNoFilters="false" lineNumbers="false" samplingFrequency="5" timeType="1" disableCPUProfiling="false" recordAllocOnStartup="true" recordArrayAlloc="true" enableTriggersOnStartup="true" allocTreeRecordingType="1" disableMonitorContentions="false" componentDetection="true" chronoHeap="false" autoUpdatePeriodLong="5" autoUpdatePeriodShort="2" allUrls="false" payloadCap="50" eventCap="20000" showSystemThreads="false" utilConcurrentHandling="true" libraryDebugParameters="" exceptionalCap="5" exceptionalTimeType="4" autoTuneInstrumentation="true" autoTuneMaxAverage="100" autoTuneMinPerMille="10" samplingPayloadCallStacks="true" description="This template is particularly suitable for CPU profiling and for memory profiling when accurate allocation information is not important. Sampling has a very low overhead and does not distort measured call tines. Some views, like the method statistics are no available. JEE payloads cannot be annotated in the call tree, but payload hotspots without backtraces are available." system="true" />
  </templates>
  <sessions>
    <session id="80" templateId="50" name="Animated Bezier Curve Demo" type="1" isStartupWorkingDirectory="true" mainClass="bezier.BezierAnim">
      <filters>
        <filter type="inclusive" name="com." />
      </filters>
      <exceptionalMethods/>
      <classPath>
        <classPathEntry path="demo/bezier/classes" />
      </classPath>
      <sourcePath>
        <sourcePathEntry path="demo/bezier/src" />
      </sourcePath>
      <probes>
        <probe name="com.jprofiler.agent.probe.interceptor.TrackingInterceptor" enabled="true" startProbeRecording="false" events="false" annotatePayloads="false">
          <id value="3" />
        </probe>
      </probes>
    </session>

我面临的问题是我无法在jProfiler UI的CPU视图选项卡下获得有关方法统计信息的任何详细信息。

但我可以在Telemetrics中获得其他领域。

正在使用的版本:JProfiler 9.1和我使用了示例config.xml来开始我的测试。我是否需要在配置文件中进行任何更改以获取我的.jps文件中的方法级别统计信息

1 个答案:

答案 0 :(得分:2)

方法统计信息是单独记录的,因为开销太高而无法始终与CPU数据一起记录。

当会话生效时,请转到方法统计视图并启用录制。对于脱机分析,有一个触发器操作可以启动方法统计信息记录。