Command Line Comparison Executable


  The command line comparison executable can be used to generate comparisons from a number of saved snapshot. For more information please consult the overview.
  The comparison executable is named jpcompare.exe on Windows and jpcompare on Unix-based operating systems and is located in the bin directory of a JProfiler installation. If you execute it with the -help option, you will get help on the available comparison names and comparison options:
  Usage: jpcompare "snapshot file"[,"snapshot file",...] [global options]
                "comparison name" [options] "output file"
                "comparison name" [options] "output file" ...

  where "snapshot file" is a snapshot file with one of the extensions:
             .jps, .hprof, .hpz, .phd
        "comparison name" is one of the comparison names listed below
        [options] is a list of options in the format -option=value
        "output file" is the output file for the export

  Global options:
      -outputdir=[output directory]
          Base directory to be used when the output file for a comparison is a
          relative file.
      -ignoreerrors=true|false
          Ignore errors that occur when options for a comparison cannot be set
          and continue with the next comparison. The default value is "false",
          i.e. the export is terminated, when the first error occurs.
      -csvseparator=[separator character]
          The field separator character for the CSV exports. Defaults to ','.
      -sortbytime=false|true
          Sort the specified snapshot files by modification time. The default
          value is false.
      -listfile=[filename]
          Read a file that contains the paths of the snapshot files, one
          snapshot file per line.

  Available comparison names and options:
  * Objects
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -viewfilters=[comma-separated list]
          Sets view filters for the export. If you set view filters, only the
          specified packages and their sub-packages will be displayed by the
          exported view.
      -viewfiltermode=startswith|endswith|contains|equals
          Sets the view filter mode. The default value is contains.
      -viewfilteroptions=casesensitive
          Boolean options for the view filter. By default, no options are set.
      -objects=all|recorded|heapwalker
          Compare all objects (JVMTI only) or recorded objects, or objects in
          the heap walker. The default is all objects for .jps files and
          heapwalker for HPROF files.
      -aggregation=class|package|component
          Selects the aggregation level for the export. The default value is
          classes.
      -liveness=live|gc|all
          Selects the liveness mode for the export, i.e. whether to display live
          objects, garbage collected objects or both. The default value is live
          objects.

  * AllocationHotSpots
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -viewfilters=[comma-separated list]
          Sets view filters for the export. If you set view filters, only the
          specified packages and their sub-packages will be displayed by the
          exported view.
      -viewfiltermode=startswith|endswith|contains|equals
          Sets the view filter mode. The default value is contains.
      -viewfilteroptions=casesensitive
          Boolean options for the view filter. By default, no options are set.
      -classselection
          Calculate the comparison for a specific class or package. Specify a
          package with a wildcard, like 'java.awt.*'.
      -aggregation=method|class|package|component
          Selects the aggregation level for the export. The default value is
          methods.
      -liveness=live|gc|all
          Selects the liveness mode for the export, i.e. whether to display live
          objects, garbage collected objects or both. The default value is live
          objects.
      -unprofiledclasses=separately|addtocalling
          Selects if unprofiled classes should be shown separately or be added
          to the calling class. The default value is to show unprofiled classes
          separately.
      -valuesummation=self|total
          Determines how the times for hot spots are calculated. Defaults to
          "self".

  * AllocationTree
    options:
      -format=html|xml
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -viewfilters=[comma-separated list]
          Sets view filters for the export. If you set view filters, only the
          specified packages and their sub-packages will be displayed by the
          exported view.
      -viewfiltermode=startswith|endswith|contains|equals
          Sets the view filter mode. The default value is contains.
      -viewfilteroptions=casesensitive
          Boolean options for the view filter. By default, no options are set.
      -classselection
          Calculate the comparison for a specific class or package. Specify a
          package with a wildcard, like 'java.awt.*'.
      -aggregation=method|class|package|component
          Selects the aggregation level for the export. The default value is
          methods.
      -liveness=live|gc|all
          Selects the liveness mode for the export, i.e. whether to display live
          objects, garbage collected objects or both. The default value is live
          objects.

  * HotSpots
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -viewfilters=[comma-separated list]
          Sets view filters for the export. If you set view filters, only the
          specified packages and their sub-packages will be displayed by the
          exported view.
      -viewfiltermode=startswith|endswith|contains|equals
          Sets the view filter mode. The default value is contains.
      -viewfilteroptions=casesensitive
          Boolean options for the view filter. By default, no options are set.
      -firstthreadselection
          Calculate the comparison for a specific thread or thread group.
          Specify thread groups like 'group.*' and threads in specific thread
          groups like 'group.thread'. Escape dots in thread names with
          backslashes.
      -secondthreadselection
          Calculate the comparison for a specific thread or thread group. Only
          available if 'firstthreadselection' is set. If empty, the same value
          as for 'firstthreadselection' will be used. Specify thread groups like
          'group.*' and threads in specific thread groups like 'group.thread'.
          Escape dots in thread names with backslashes.
      -threadstatus=all|running|waiting|blocking|netio
          Selects the thread status for the export. The default value is the
          runnable state.
      -aggregation=method|class|package|component
          Selects the aggregation level for the export. The default value is
          methods.
      -differencecalculation=total|average
          Selects the difference calculation method for call times. The default
          value is total times.
      -unprofiledclasses=separately|addtocalling
          Selects if unprofiled classes should be shown separately or be added
          to the calling class. The default value is to show unprofiled classes
          separately.
      -valuesummation=self|total
          Determines how the times for hot spots are calculated. Defaults to
          "self".

  * CallTree
    options:
      -format=html|xml
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -viewfilters=[comma-separated list]
          Sets view filters for the export. If you set view filters, only the
          specified packages and their sub-packages will be displayed by the
          exported view.
      -viewfiltermode=startswith|endswith|contains|equals
          Sets the view filter mode. The default value is contains.
      -viewfilteroptions=casesensitive
          Boolean options for the view filter. By default, no options are set.
      -firstthreadselection
          Calculate the comparison for a specific thread or thread group.
          Specify thread groups like 'group.*' and threads in specific thread
          groups like 'group.thread'. Escape dots in thread names with
          backslashes.
      -secondthreadselection
          Calculate the comparison for a specific thread or thread group. Only
          available if 'firstthreadselection' is set. If empty, the same value
          as for 'firstthreadselection' will be used. Specify thread groups like
          'group.*' and threads in specific thread groups like 'group.thread'.
          Escape dots in thread names with backslashes.
      -threadstatus=all|running|waiting|blocking|netio
          Selects the thread status for the export. The default value is the
          runnable state.
      -aggregation=method|class|package|component
          Selects the aggregation level for the export. The default value is
          methods.
      -differencecalculation=total|average
          Selects the difference calculation method for call times. The default
          value is total times.

  * TelemetryHeap
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -minwidth=[number of pixels]
          Minimum width of the graph window in pixels. The default value is 800.
      -minheight=[number of pixels]
          Minimum height of the graph window in pixels. The default value is
          600.
      -valuetype=current|maximum|bookmark
          Type of the value that is calculated for each snapshot. Default is the
          current value.
      -bookmarkname
          If valuetype is set to 'bookmark', the name of the bookmark for which
          the value should be calculated.
      -measurements=maximum,free,used
          Measurements that are shown in the comparison graph. Concatenate
          multiple values with commas. The default value is 'used'.
      -memorytype=heap|nonheap
          Type of the memory that should be analyzed. Default is 'heap'.
      -memorypool
          If a special memory pool should be analyzed, its name can be specified
          with this parameter. The default is empty, i.e. no special memory
          pool.

  * TelemetryObjects
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -minwidth=[number of pixels]
          Minimum width of the graph window in pixels. The default value is 800.
      -minheight=[number of pixels]
          Minimum height of the graph window in pixels. The default value is
          600.
      -valuetype=current|maximum|bookmark
          Type of the value that is calculated for each snapshot. Default is the
          current value.
      -bookmarkname
          If valuetype is set to 'bookmark', the name of the bookmark for which
          the value should be calculated.
      -measurements=total,nonarrays,arrays
          Measurements that are shown in the comparison graph. Concatenate
          multiple values with commas. The default value is 'total'.

  * TelemetryClasses
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -minwidth=[number of pixels]
          Minimum width of the graph window in pixels. The default value is 800.
      -minheight=[number of pixels]
          Minimum height of the graph window in pixels. The default value is
          600.
      -valuetype=current|maximum|bookmark
          Type of the value that is calculated for each snapshot. Default is the
          current value.
      -bookmarkname
          If valuetype is set to 'bookmark', the name of the bookmark for which
          the value should be calculated.
      -measurements=total,filtered,unfiltered
          Measurements that are shown in the comparison graph. Concatenate
          multiple values with commas. The default value is 'total'.

  * TelemetryThreads
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -minwidth=[number of pixels]
          Minimum width of the graph window in pixels. The default value is 800.
      -minheight=[number of pixels]
          Minimum height of the graph window in pixels. The default value is
          600.
      -valuetype=current|maximum|bookmark
          Type of the value that is calculated for each snapshot. Default is the
          current value.
      -bookmarkname
          If valuetype is set to 'bookmark', the name of the bookmark for which
          the value should be calculated.
      -measurements=total,runnable,blocked,netio,waiting
          Measurements that are shown in the comparison graph. Concatenate
          multiple values with commas. The default value is 'total'.

  * ProbeHotSpots
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -viewfilters=[comma-separated list]
          Sets view filters for the export. If you set view filters, only the
          specified packages and their sub-packages will be displayed by the
          exported view.
      -viewfiltermode=startswith|endswith|contains|equals|wildcard|regex
          Sets the view filter mode. The default value is contains.
      -viewfilteroptions=exclude,casesensitive
          Boolean options for the view filter. By default, no options are set.
      -firstthreadselection
          Calculate the comparison for a specific thread or thread group.
          Specify thread groups like 'group.*' and threads in specific thread
          groups like 'group.thread'. Escape dots in thread names with
          backslashes.
      -secondthreadselection
          Calculate the comparison for a specific thread or thread group. Only
          available if 'firstthreadselection' is set. If empty, the same value
          as for 'firstthreadselection' will be used. Specify thread groups like
          'group.*' and threads in specific thread groups like 'group.thread'.
          Escape dots in thread names with backslashes.
      -threadstatus=all|running|waiting|blocking|netio
          Selects the thread status for the export. The default value is the
          runnable state.
      -aggregation=method|class|package|component
          Selects the aggregation level for the export. The default value is
          methods.
      -differencecalculation=total|average
          Selects the difference calculation method for call times. The default
          value is total times.
      -probeid=[id]
          The internal ID of the probe that should be exported. Run "jpexport
          --listProbes" to list all available built-in probes and for an
          explanation of custom probe names.

  * ProbeCallTree
    options:
      -format=html|xml
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -viewfilters=[comma-separated list]
          Sets view filters for the export. If you set view filters, only the
          specified packages and their sub-packages will be displayed by the
          exported view.
      -viewfiltermode=startswith|endswith|contains|equals|wildcard|regex
          Sets the view filter mode. The default value is contains.
      -viewfilteroptions=exclude,casesensitive
          Boolean options for the view filter. By default, no options are set.
      -firstthreadselection
          Calculate the comparison for a specific thread or thread group.
          Specify thread groups like 'group.*' and threads in specific thread
          groups like 'group.thread'. Escape dots in thread names with
          backslashes.
      -secondthreadselection
          Calculate the comparison for a specific thread or thread group. Only
          available if 'firstthreadselection' is set. If empty, the same value
          as for 'firstthreadselection' will be used. Specify thread groups like
          'group.*' and threads in specific thread groups like 'group.thread'.
          Escape dots in thread names with backslashes.
      -threadstatus=all|running|waiting|blocking|netio
          Selects the thread status for the export. The default value is the
          runnable state.
      -aggregation=method|class|package|component
          Selects the aggregation level for the export. The default value is
          methods.
      -differencecalculation=total|average
          Selects the difference calculation method for call times. The default
          value is total times.
      -probeid=[id]
          The internal ID of the probe that should be exported. Run "jpexport
          --listProbes" to list all available built-in probes and for an
          explanation of custom probe names.

  * ProbeTelemetry
    options:
      -format=html|csv
          Determines the output format of the exported file. If not present, the
          export format will be determined from the extension of the output
          file.
      -minwidth=[number of pixels]
          Minimum width of the graph window in pixels. The default value is 800.
      -minheight=[number of pixels]
          Minimum height of the graph window in pixels. The default value is
          600.
      -valuetype=current|maximum|bookmark
          Type of the value that is calculated for each snapshot. Default is the
          current value.
      -bookmarkname
          If valuetype is set to 'bookmark', the name of the bookmark for which
          the value should be calculated.
      -measurements
          The one-based indices of the measurements in the telemetry group that
          are shown in the comparison graph. Concatenate multiple values with
          commas, like "1,2". The default value is to show all measurements.
      -probeid=[id]
          The internal ID of the probe that should be exported. Run "jpexport
          --listProbes" to list all available built-in probes and for an
          explanation of custom probe names.
      -telemetrygroup
          Sets the one-based index of the telemetry group that should be
          exported. This refers to the the entries that you see in the drop-down
          list above the probe telemetry view. The default value is "1".
  Examples of using the comparison executable are:
  jpcompare test1.jps,test2.jps,test3.jps TelemetryHeap heap.html

  jpcompare test1.jps,test2.jps -sortbytime Objects -objects=recorded -aggregation=package objects.html

  jpcompare -listfile=snapshots.txt -ignoreerrors=true -outputdir=/tmp/export
            Objects objects.csv
            AllocationTree -class=java.lang.String allocations.xml