Method R Profiler home page

6.0 (coming soon)

New features

  • 5375: Profiler kernel now emits the plan hash value into the XML output.
  • 5344: Added FNDALS warning message, which will occur if you try to profile a Mac OS X alias for a trace file.
  • 5336: Improved User Guide description of the Skew Analyzer --name=pattern regular expression.
  • 5327: Eliminated use of P5_ENCODING, P5_MAXJAVAHEAP, and P5_TRCUNIT environment variables.
  • 5323: Profiler is now 60× faster for large input trace files.
  • 5321: Profiler now lists §5 sections in a more logical order.
  • 5320: Removed Profiler --confidential command line option. The same feature is available in the prof.xml configuration file, or on the command line with --param=SHOW-CONFIDENTIALITY-LABEL=true.
  • 5319: Renamed P5_INSTALL and P5_JAVA environment variables to MRPROF_INSTALL and MRPROF_JAVA. Eliminated Profiler's use of P5_LICENSE environment variable.
  • 5318: Eliminated the influence of environment variables in favor of using simpler, easier to understand command line arguments.
  • 5304: Profiler shows total for distinct cursors, distinct texts, lines, and bytes in section 1.2 "Profile by SQL Statement."
  • 5274: Added hover hints to several HTML elements to assist Profiler users without making them read so much in the User Guide.
  • 5271: User Guide describes new synthetic statement examples.
  • 5269: Skew Analyzer now emits an environment variable list into its XML when using --debug=1.
  • 5253: New CONV messages warn when the Profiler kernel cannot convert text to UTF-8.
  • 5246: New parameter SHOW-PROFILER-STATEMENT-ID obsoletes old SHOW-P5-STATEMENT-ID.
  • 5245: New LOCALE-CODE parameter obsoletes old LOCALE parameter.
  • 5243: Profiler version 6 now uses the "mr" prefix instead of the version-specific "p5" prefix in executable program names like mrprof, mrprofk, mrprofs, and mrunzip.
  • 5234: Eliminated Profiler kernel’s --ns_per_ms command line option in favor of allowing values like .000001024 in the --trcunit option. Note that you can use a --trcunit value other than the GUI's drop-down values by specifying it in the "Use mrprof command line options" text box on the Preferences dialog.
  • 5224: Each synthesized dbcall now get an appropriate event like "CPU: unreported dbcalls" or "CPU: partially synthesized dbcalls"
  • 5210: Improved accounting for unusual missing parent dbcall situations in Oracle trace data by creating new events "CPU: partially synthesized dbcalls" and "uncategorizable within dbcalls", and new dbcalls "synthesized", "partially synthesized", and "unfinished synthesized".
  • 5209: Massive performance improvement as a result of rewriting the entire Method R Profiler kernel from scratch.
  • 5179: Profiler now reports the duration contributed by the set of placeholder values shown in section 4.*.4.
  • 5178: In sections 4.*.4, in each paragraph preceding the placeholder value table, Profiler now reports the execution time caused by using the placeholder values listed.
  • 5170: Profiler no longer emits duplicate placeholder rows in section 4.*.4 when a statement's SQL text refers to the same placeholder variable name more than once.
  • 5165: Added new /task/statement-section/statement/event-list/event/@count, computed as sum(bucket/@count).
  • 5163: In Profiler's XML output, factored statement/command/@* and statement/command/* into the statement element.
  • 5162: Eliminated unnecessary /task/event-list and /task/contribution-section elements from the Profiler XML file.
  • 5160: "Profiler XML created" date-time stamp now includes timezone information.
  • 5159: Added '-self' suffix to dbcall attribute names c, e, p, cr, and cu.
  • 5155: Profiler now emits its all of its own execution duration by phase to STDERR instead of only the kernel part of it into the HTML report.
  • 5154: Profiler now emits HTML creation time into the profile report.
  • 5151: New ZERO-VALUE-STRING parameter lets you determine what string to render instead of 0 when SHOW-ZERO-VALUES=false.
  • 5149: Eliminated the --env option and enhanced the --debug option to control Profiler kernel emission of environment variables and command line options into the output XML.
  • 5136: Profiler now renders quoted strings using HTML <q> elements, which puts rendering control into the CSS, where it can be user-modified.
  • 5135: Profiler reports now use HTML5 <section> elements.
  • 5133: Profiler now renders valid HTML5 output.
  • 5131: Profiler now renders all date-time values in standard ISO 8601 format.
  • 5130: Profiler now recognizes a comprehensive set of LOCALE values that allows you to render numbers in any major number format used on planet Earth today.
  • 5129: Command line argument mrprof --params=file is renamed to --params-file=file, to make way for the new --param=string argument. Note that --params=file will still work the same as it did in prior releases.
  • 5127: Profiler now renders typographically correct minus and infinity symbols.
  • 5124: Upgraded XSLT processor to Saxon-HE 9.5.1.3J.
  • 5120: New mrprof --param=string argument allows you to override a prof.xml parameter from the command line.
  • 5117: Column headings now align more naturally with their tabular contents.
  • 5116: Profiler report preamble now expresses the input file processing rate in units of MB/sec where 1MB = 1,000,000B (instead of 1MB = 1,048,576B).
  • 5115: Profiler now shows all durations in microsecond precision.
  • 5113: Profiler now distinguishes read-only commits and rollbacks from read-write commits and rollbacks.
  • 5112: Added OIOOIM001 error code to User Guide.
  • 5108: New SHOW-ZERO-VALUES prof.xml parameter, with a default value of false, allows elision of zero values in the Profile report, which significantly de-clutters the output.
  • 5106: Eliminated unused parameters DBCALL-BETWEEN-CALL-TEXT, DBCALL-UNFINISHED-CALL-TEXT, ELIDED-STATEMENTS-TEXT, and ELIDED-CURSORS-TEXT.
  • 5105: Eliminated PER-CALL-UNIT, MICROSECONDS, MILLISECONDS, CENTISECONDS, and SECONDS parameters.
  • 5104: Changed DBCALL-MISSING-CALL-TEXT parameter name to DBCALL-UNFINISHED-CALL-TEXT.
  • 5101: Profiler now synthesizes an identifier for each statement that it synthesizes, resulting in ids like [PROF000000001] instead of [].
  • 5100: Added documentation to the User Guide for EOFUAFTIM errors.
  • 5098: HTML now no longer includes unnecessary <acronym> elements, and hover hints on statement texts now consistently reveal the Oracle statement-id.
  • 5093: Profiler now emits an EOFUAFTIM warning when STAT lines near the end of pre-11.2 trace file are followed by database calls of an unexpected recursive depth.
  • 5089: Each drill-down hyperlink is moved to its natural position throughout the Profile report. For example, to drill into a subroutine, simply touch its name (instead of scrolling to the far-right to find and touch a "SQL" link). To drill into a statement, simply touch its text (instead of scrolling to the far-right to find and touch a "stats" link).
  • 5080: Revised User Guide covers Profiler version 6 features.
  • 5074: You can now cut, copy, and paste SQL text from section 4.*.5 into other application.
  • 5073: Profiler now emits an optimizer goal of "UNKNOWN" instead of "" for a statement when all of its og values are 0.
  • 5072: Profiler now reports optimizer goal of "RPC" for remote procedure calls (which can't have one of the optimizer goal values that, say, a SELECT can have).
  • 5061: Profiler now treats ERROR lines as dbcalls, making Oracle errors easier to see in the body of the profile report.
  • 5059: New statement/@line-number attribute in the p5k XML intermediate output reveals the line number of the input file at which the statement was created.
  • 5057: Profiler GUI now renders in appropriate high resolution on Apple Retina displays.
  • 5056: Updated Method R logo.
  • 5055: Eliminated an erroneous extra synthetic statement for an input file ending with a dep>0 call. Now Profiler creates, correctly, just one synthetic statement in such cases.
  • 5053: New "uncategorizable within dbcalls" subroutine covers time in synthetically generated dbcalls whose true identity (whether "CPU.*" or "unaccounted-for within dbcalls") cannot be known.
  • 5051: Set default value of DBCALL-BETWEEN-CALL-TEXT to "between dbcalls" and DBCALL-MISSING-CALL-TEXT to "unfinished dbcall".
  • 5045: Profiler is certified to run on Mac OS X 10.9 Mavericks.
  • 5042: Profiler now reports RPC EXEC calls separately from EXEC calls.
  • 5041: Profiler now shows input file location information for database calls that don't have corresponding PARSING IN CURSOR statement text information.
  • 5040: Profiler now reports input file location information for synthetic dbcalls.
  • 5029: Profiler now distinguishes XCTEND dbcalls from EXEC dbcalls and lists them separately.
  • 5028: Profiler now renders an accurate "between calls" "Call count" in the Profile by Database Call section.
  • 5027: Added descriptions of CLSREL and ORAREL warning messages (added in Method R Profiler version 5.2.8) to User Guide.
  • 5026: Changed default --erroremit value to 5 instead of 30.
  • 5025: Profiler now shows total number of warnings along with the number not shown in ERRSUMM messages.
  • 5024: Renamed "CPU service, %s" calls to "CPU: %s dbcalls", to better match the style of Oracle event naming.
  • 5020: Added new "tim not changing" and "tim values out of order" warnings.
  • 5012: Complete makeover. Profiler output is now clean, modern, beautiful, and completely compatible with mobile devices.
  • 5009: Profiler GUI now elides long strings in the middle instead of the tail, in the path, name, and output file columns of the output table.
  • 4985: Profiler now emits an OCTNAME warning if a trace file contains an execution of an unknown Oracle SQL command type. Previously, an unknown Oracle SQL command type would trigger a "Use of uninitialized value in string ne at p5k.pl line %d, <%s> line %d" warning.
  • 4981: New GUI preference "Create shareable HTML reports" gives you control over p5prof --shareable argument.
  • 4980: Confirmed that STAT lines generated during a 12c adaptive execution plan change will render properly.
  • 4959: Improved diagnostic messages for situations when the OS environment is not set up correctly.
  • 4949: New mrprof --shareable option allows include all CSS and images in Profiler HTML reports. Now you can share reports with colleagues, knowing they'll look exactly the same for them as they do for you.
  • 4947: Profiler kernel emits <container-list> element into its XML output to record Oracle Database 12c CONTAINER ID value changes.
  • 4946: Each "Total" line now includes a count of the items included in the total, in the format "Total (%d)".
  • 4841: Improved Profiler GUI resizing constraints to prevent a user from making the GUI panel unusably small.
  • 4824: We now sign the DMG to prevent the user from having to work around the Mac OS X message imploring: '"Method R Profiler.app" is damaged and can't be opened. You should move it to the Trash.'
  • 4803: Profiler GUI now restores its prior dimensions when restarted.
  • 3716: New section 5.2 lists Profiler kernel options used to create the profile report.
  • 3443: Profiler now emits placeholder variables (sections 4.*.4) in the order they appear in the SQL text.
  • 3314: Profiler shows cursor count total in section 1.3 "Profile by Cursor."
  • 2853: New advisory about task execution response time appears in the profile report preamble.
  • 1230: Improved User Guide's mention of performance symptoms on virtual machine software.

Bug fixes

  • 5374: Profiler now counts a zero-duration "unaccounted-for within dbcalls" for each "CPU: XCTEND dbcalls" subroutine call.
  • 5371: Fixed a bug in which the kernel didn't use the full microsecond information available on a file's first tim value to compute the correct begin time of the experience represented in the file.
  • 5356: Fixed a problem where the kernel could report large amounts of "CPU: unreported dbcalls" time in situations where a long sequence of within-dbcall syscalls is followed by a between-dbcall syscall in the input trace file.
  • 5346: Fixed errors in User Guide relating to the --debug option.
  • 5341: The "Call count" label in §2 is now stacked vertically ("Call<br/>count") as it is in §1.
  • 5324: Fixed a bug in which Profiler would mistakenly place a negative call duration into the call's 0–1μs histogram bucket.
  • 5315: Fixed a bug that caused the wrong prior version folder to be used when migrating settings.
  • 5249: Fixed an error in the User Guide implying that the mrprof --encoding option governed the encoding of the output XML file, when it actually defines how the kernel will interpret the input Oracle trace file.
  • 5202: Fixed a bug in which Oracle event names containing '&' would cause Profiler to fail.
  • 5172: Fixed a bug in which Profiler would emit a redundant warning when a SERVICE NAME, MODULE NAME, ACTION NAME, CLIENT ID, or APPNAME line contains invalid XML characters.
  • 5171: Fixed a bug in which Profiler could mistakenly place negative 'unaccounted-for within dbcalls' latencies into the wrong histogram bucket.
  • 5157: Fixed a bug that resulted in "4.* Statement Report" sections to display for statements that don't make relevant contributions to task execution response time. The result is, in some cases, a much smaller profile report with no loss of relevant information.
  • 5146: Fixed a bug in which Profiler emitted space-wasting trailing spaces in HTML class specifications.
  • 5126: Fixed a problem that caused Profiler to misattribute some OS call time as "CPU: unreported dbcalls".
  • 5109: Fixed a bug that could allow elements to elide as "1 other <thing>s" in sections 1.2, 1.3. and 3.*.
  • 5107: Fixed a bug in which LOCALE=eu caused a fatal "XTDE1310: format-number picture" error.
  • 5097: Fixed a bug in which Profiler could identify an XCTEND call as the child of a statement that wasn't really its parent.
  • 5047: Fixed a bug in which Profiler didn't properly scale times by 1.024 when --trcunit=1.
  • 5043: Fixed a problem causing some zero-duration values to be highlighted when they shouldn't be.
  • 5034: Eliminated erroneous "CPU service, unreported call(s)" duration that occurred when a "SQL*Net message from client" follows an XCTEND.
  • 4995: Eliminated erroneous "CPU service, unreported call(s)" duration that occurred when a "SQL*Net message to client" is a child of a dbcall.
  • 4986: Fixed a bug that causes "similar but distinct" SQL text analysis to malfunction after it parses a SQL statement that ends with a one-line comment.
  • 4983: Fixed a GUI bug that sometimes prevented users from being able to re-profile a trace file.
  • 4977: Fixed bind variable parsing bug that occurs for SQL text containing "--" style comments.
  • 4961: Fixed display formatting for SQL text containing "--" style comments.
  • 4957: Fixed a bug in which "Automatically open %d files?" dialog showed some unwanted pixels.
  • 4951: Fixed a bug that prevented the Skew Analyzer from running when no valid license file is present.
  • 4868: Fixed a bug in which profiling many files raised a partially obscured "Automatically open %d files?" dialog.
  • 4840: Skew Analyzer now correctly names the output file with .txt extension when "Create HTML" checkbox is not selected.
  • 4830: Fixed a bug in which the Profiler GUI would fail to open its output HTML file if the input file were named in an unexpected way.
  • 4720: Fixed a problem where path names containing special characters would cause Profiler to fail to open a parameter file or included graphics file.
  • 4242: Eliminated erroneous "CPU service, unreported call(s)" duration that occurred when a "log file sync" call is executed between dbcalls.
  • 3241: Fixed a bug in which alternating row colors didn't always work properly for statement text containing tab characters.

5.2.8.11 (2013-01-31)

New features

  • 4836: Changed selection values for “Warn if opening more than %d files in a browser” preference to {1, 2, 4, 8}.
  • 4822: Profiler now runs on Microsoft Windows 8.
  • 4821: Profiler now runs on Mac OS X 10.8 Mountain Lion.
  • 4819: New clickable status icons with tool tips make it easier and faster to understand Profiler run status.
  • 4774: Profiler now shows LOBTMPCREATE and LOBTMPFRE dbcalls in “Profile by Database Calls” section for Oracle versions 11.2 and above.
  • 4717: Added icons in etc/graphics for use in Linux and Solaris installations.
  • 4588: New “Time stamp output files” preference option causes Profiler to assign unique names to output files generated by re-profiling.
  • 4472: Added new Sample trace file to make the first user experience easier and more enjoyable.
  • 4147: Profiler now shows LOBREAD and LOBWRITE dbcalls in “Profile by Database Calls” section for Oracle versions 11.2 and above.
  • 3410: Profiler now shows CLOSE dbcalls in “Profile by Database Calls” section for Oracle versions 11 and above.

Bug fixes

  • 4849: UI now prevents you from using Analyze Skew upon .xml input files. Previously, the UI would have allowed it but give you nonsense results.
  • 4808: Fixed a documentation bug in the User Guide in which the ‘-’ character in a “java -version” command didn’t render properly.
  • 4678: Fixed a bug that had caused Open dialog to crash on Mac OS X 10.8 (Mountain Lion).
  • 4640: Fixed bug resulting in a “Use of uninitialized value” error that can occur when Profiler encounters an “ERROR #n” line in its input trace file, where n is not a previously encountered cursor id.
  • 4629: Corrected a debugging/logging issue that rendered “Invalid conversion in printf: "%T"” into the log file.

5.2.7.10 (2012-04-30)

New features

  • 4592: Profile Report title now includes the name of the XHTML output file.
  • 4591: Revised User Guide section 1 to better emphasize how to use the Profiler.
  • 4590: Improved error and warning logging within the .log file.
  • 4586: Method R Profiler uses a higher resolution logo in the Profile Report.
  • 4585: NO-ORACLE-STATEMENT-ID-TEXT prof.xml parameter is now obsolete. Text is hard-coded as “(no id for statement)”, in the same format as “(no preceding sibling)” and “(no text for statement)”.
  • 4512: Profiler version number now appears in .log file for identification during debugging.
  • 4463: Profiler now references Oracle SQL id values for input files that contain SQL id values.
  • 4453: Profiler now copies progress percentage to the .log file if p5k.exe dies.
  • 4443: Logfile entries are now timestamped.
  • 4434: New “Warn if opening more than %d files in a browser” feature prevents nasty forehead slaps when you profile hundreds of input files but forgot to deselect the “Automatically open HTML output in default web browser” option.
  • 4346: Updated User Guide to reflect Profiler support for Mac OS X 10.7 Lion.
  • 4285: Profiler distribution now includes favicon.
  • 3997: New “Profiled” column in UI bottom panel allows you to sort profile runs by the time at which each profile report was created.
  • 3212: Profile report “%d parse errors, %d other errors, %d Profiler kernel warnings” line now hyperlinks to the .log file.

Bug fixes

  • 4545: Fixed a SQL statement line wrap problem occurring in statements with many contiguous placeholder variables (e.g., “..., :1013, :1014, :1015, ...”) that caused incorrect literal value highlighting.
  • 4540: Profiler now conserves massive amounts of memory in some cases by using a more efficient comparison of statements that are similar but that differ in placeholder variable syntax.
  • 4539: Fixed a problem in which the Profiler UI could advertise a “Warning” condition even though the file was processed correctly.
  • 4488: Fixed a UI bug in which some mouse events were ignored after you cancel a profile run.
  • 4487: Profiler now renders a more consistently accurate progress bar.
  • 4473: Fixed incomplete anchor acronym (missing statement id) in “Profile by SQL Statement” section 1.2.
  • 4342: Fixed a bug in which the Profiler kernel could abnormally terminate: on OS X with “Bus error: 10”, on Linux with “Segmentation fault”, and on Windows with “Unhandled exception at 0x003f37c2 in p5k.exe: 0xC0000005: Access violation reading location 0x00000008”.
  • 4338: Fixed a broken image in User Guide.
  • 4212: Removed redundant “--trcunit” option setting that the Profiler UI placed on the p5prof.exe command line when “--trcunit” is also set in advanced options.
  • 4034: Changed sizing characteristics of Profiler UI Preferences panel to behave properly on all platforms.

5.2.6.6 (2011-07-13)

New features

  • 4223: Menu item was renamed from Output to Profile Report for clarity.
  • 4221: The preference “Nanoseconds per 'Microsecond'” has been reworked for clarity. The option has been renamed to “Oracle time unit (s)”, with a selection of values .01, .000001, and .000001024.
  • 4219: Rename entries in Output column from HTML to Profile Report for clarity.
  • 4207: The Skew Analyzer (p5skew) is now accessible from the GUI in addition to the existing command line access.
  • 4150: Increased resolution on icons for Windows 7.
  • 4062: Improved documentation for --ns_per_ms=string command line option.
  • 4033: A new option has been added to the context menu (right click) of the lower panel: Open Containing Folder. When activated, this will open your operating system’s file manager to the location of the trace file and the Profiler output files.

Bug fixes

  • 4240: The Profiler now handles SQL or PL/SQL statements whose text contains the sequence “]]”, or any other sequence which caused errors in creation of the intermediate XML output.
  • 4218: Skew analysis report totals are now correct for HTML output of Top N style reports.
  • 4076: SQL text will no longer contain the *** date lines from the trace file.
  • 4051: Profiler will now handle Mac OS X with older versions of Java (1.6.0_17) without exceptions raised. Some keyboard shortcuts will not function. Upgrade Java to latest release to resolve issues.
  • 2373: Profiler now correctly attributes “log file sync” to the previous dbcall, which is usually XCTEND

5.2.5.1 (2011-01-17)

Bug fixes

  • 4013: Removed obsolete discussion group link.
  • 3995: Fixed a bug appearing in 5.2.1 that causes the Profiler kernel to improperly attribute unaccounted-for time for database calls with “SQL*Net message to client” syscalls associated with them.
  • 3994: Corrected bind value placeholder listing from long SQL text.
  • 3993: Corrected highlighting of literal values in long SQL text.
  • 3991: Corrected an issue with drag and drop of files from the lower pane to the upper pane.

5.2.4.0 (2010-11-09)

New features

  • 3962: Profiler now handles the new Oracle 11.2.0.2.0 long cursor ids.

Bug fixes

  • 3962: Fixed problem with 11.2.0.2 long cursor ids that would cause high Profiler memory consumption, even for very short trace files.

5.2.3.0 (2010-09-10)

Bug fixes

  • 3939: Updated Discussion Group URL.
  • 3912: Fixed a problem with using the --runstat command line option on Mac OS X.
  • 3910: Changed file mode of p5prof_wrapper to a+x so that MR Trace can call the Profiler.
  • 3899: Profiler now correctly identifies task end times for more pre-10.2 trace files.
  • 3806: Fixed problem of Profiler rendering large “CPU service, unreported call(s)” duration offset by large “unaccounted-for between dbcalls” duration.

5.2.2.0 (2010-06-11)

New features

  • 3686: Profiler kernel now emits timestamps into the .log file for activity from ignored sessions.
  • 3637: You can now edit the Call Definitions and Transform Parameters files with a single click from the Preferences panel.
  • 3614: Customization has been improved by moving common environment variables to the config.properties configuration file. For Profiler 5.1.x users, the following variables will be migrated, if the user chooses to migrate settings, at the first execution of 5.2.2: P5_CDEFS, P5_PARAMS, P5_ENCODING, P5_MAXJAVAHEAP, P5_NS_PER_MS
  • 3604: Profiler now emits execution count per execution plan into the output, which makes it easier to reconcile the LIO Blocks numbers in the execution plan section(s) with the LIO Blocks numbers in the corresponding profile by database call section.
  • 3586: Profiler kernel now renders p5k options into its XML output.
  • 3498: You can now drag a file on the user interface from the completed pane (bottom) to the queued pane (top) to re-run it.

Bug fixes

  • 3773: Profiler GUI now properly honors multiple command line options in “Use p5prof command line options” widget.
  • 3720: Profiler now recognizes that distinct fleets of STAT lines with identical prefixes are distinct.
  • 3717: Profiler now uses “java” as the default value whenever the P5_JAVA environment variable is not set, making the explicit setting of P5_JAVA unnecessary in many implementations.
  • 3714: Profiler kernel now renders the correct number of input lines when ignoring sessions and there’s at least one trailing empty line.
  • 3712: Profiler now emits proper min/max values for RPCs.
  • 3708: Profiler now renders placeholder values properly for trace files with BINDS sections containing text “No oacdef for this bind.”
  • 3700: Profiler kernel consumes considerably less memory for some input files, reducing the likelihood of “Out of memory” errors.
  • 3678: Profiler GUI now does a better job of determining the proper --trcunit value for the kernel to use.
  • 3656: Profiler user interface now complains if you try to add a non-existent file (e.g., incorrectly defined symlink) into the queued files pane.
  • 3459: Profiler kernel now reports “unaccounted-for between calls” time that was previously mistaken as “CPU service, unreported call(s)” time.
  • 3441: Literal values in SQL text are highlighted correctly in more cases.

Documentation corrections

  • 3771: p5k --maxbind option is now obsolete.
  • 3753: Documented several previously undocumented Profiler error messages in the User Guide.
  • 3740: Integrated the Profiler Installation Guide into the Profiler User Guide, resulting in a much more helpful, unified document.
  • 3737: Skew pictograms in User Guide now render correctly.
  • 3735: Getting Started section of the User Guide now guides users to use the graphical user interface instead of the command line interface.
  • 3703: Linux installation details were corrected in the User Guide.
  • 3665: Corrected typographical errors in the User Guide and provided reference to the Oracle 11g diagnostic_dest directory in addition to the user_dump_dest directory used in Oracle 10g and prior versions.
  • 3642: The Profiler User Guide now contains a comprehensive new section for troubleshooting Java installation problems.

5.2.1.0 (2009-09-28)

New features

  • All-new Profiler user interface greatly improves workflow and overall end-user experience.
  • Profiler now runs on Mac OS X (Intel), Linux, and Microsoft Windows XP and Vista.
  • 3542: Made Profiler easier to install on older Windows machines.
  • 3515: Profiler is now compliant with US Federal Rehabilitation Act Section 508 Technical Standards.
  • 3493: Profiler kernel now interprets trace lines with r=-1 values.
  • 3420: Improved the backup and migration of Profiler configuration and license files during upgrades.
  • 3417: Improved performance of formatting for very long SQL texts from O(n!) to O(n).

Bug fixes

  • 3564: Fixed rounding of syscall elapsed durations, which previously caused occasional attribution of durations to incorrect histogram buckets.
  • 3497: Profiler kernel now properly processes all syscalls for SQL statements whose text is “commit” or “rollback”.
  • 3444: Improved rendering of SQL text containing tab characters.

5.1.27.0 (2009-04-24)

New features

  • 3408: Profiler kernel is up to 67% faster for many types of trace files, especially large files dominated by database and OS call lines.
  • 3404: Profiler recognizes new 11.1.0.7 “plh” and “sqlid” trace data tokens.
  • 3396: Profiler kernel now throws a warning when it produces a reported zero elapsed duration.
  • 3357: The default behavior of the Profiler has been changed so that Section 5.1 Environment Variables will no longer display environment variable information. Use the p5prof --env option to display this information.

Bug fixes

  • 3393: Profiler kernel now puts negative unaccounted-for call durations -0.000001 and -0.00001 into the proper histogram buckets.
  • 3317: Profiler-generated trcsess.bat files now write multiple distinct output .trc files in situations where previously it over-wrote the same file over and over.
  • 3291: Profiler no longer requires all parameter values to be defined in prof.xml. In Section 5.2 Input Parameter Listing of the HTML output, Profiler highlights each parameter value that has been set to a non-default value.

Documentation corrections

  • 3312: The --progress argument to p5prof has been modified. The --progressinterval argument is deprecated. The file is updated once per second. Instead of one line per interval, the file now contains only one line with the current progress indicated by a percentage, for example, 25%. This behavior actually changed in 5.1.24, but documentation has now been corrected.
  • 3313: Eliminated the p5k --ocinames command line option. (Feature moved to the prof.xml file.)

5.1.26.0 (2008-11-04)

Release Notes

  • If you receive errors about the new parameters, SHOW-LITERAL-HIGHLIGHTING or SHOW-OCI-NAMES, you need to edit your prof.xml file. Just add the following two lines to your prof.xml file. We put ours right after the definition of SHOW-P5-STATEMENT-ID in the “Feature Activation” section.
    true
    false

New features

  • 3280: New prof.xml parameter SHOW-LITERAL-HIGHLIGHTING allows user to specify whether to highlight literal values in SQL text.
  • 3275: The “Add Files” button how has a filter for “All files” and for compressed files, in addition to the previously existing filters for *.trc and *.xml files.
  • 3268: Upgraded Saxon to 9.1.0.2j.
  • 3215: New SHOW-OCI-NAMES prof.xml parameter replaces old --ocinames command line argument.

Bug fixes

  • 3276: The environment variable P5_COBRAND is no longer being used, and was valid only for the 5.1.25 release.
  • 3265: The “trace file version” drop-down box now displays “version 8 or older” and “version 9 or newer” choices to simplify the option and more efficiently handle future versions..
  • 3263: Eliminated “Too many nested template or function calls” errors in cases containing SQL statements with long lines when SHOW-LITERAL-HIGHLIGHTING is activated.
  • 3257: Corrected User Guide to specify that using p5unzip is no longer necessary for files of type .bz2, .zip, .gz, .lzf, or .lzo.
  • 3256: Fixed broken link in User Guide to Saxonica Limited.
  • 3253: Eliminated “Too many nested template or function calls” errors in cases where p5skew HTML output has thousands of lines.

5.1.25.0 (2008-09-29)

Bug fixes

  • 3248: When a statement contains more than one comment and a literal appears between the two comments, the highlighter now recognizes that literal.
  • 3245: Profiler now handles STAT lines with negative “obj” values.
  • 3240: Improved literal value highlighting in SQL text for lines that end with “is null” or “is not null”.

5.1.24.0 (2008-08-29)

New features

  • 3214: Renamed “unaccounted-for at file conclusion” pseudo-call to “CPU service, unreported call(s)” and improved documentation allowing more Profiler users to understand what to do when it is the dominant contributor to end-user response time.
  • 3196: Profiler kernel now understands how to unzip .zip, .gz, .bz2, and .lzf file formats without requiring you to configure p5unzip to do it for you (in etc\config\unzip.xml).
  • 3141: Upgraded core to use Perl 5.10.
  • 3121: The Profiler log file now shows the Profiler version and all pertinent environment variables in effect.

Bug fixes

  • 3201: Profiler now highlights anchor text only if it is a clickable link.
  • 3200: Profiler kernel no longer emits information about environment variables when using the --noenv command line argument.
  • 3139: Fixed installation issue with the 5.1.23.0-B.exe. The .NET 2.0 framework will now be correctly installed.
  • 2901: GUI now honors the setting of the P5_MAXJAVAHEAP environment variable.

5.1.23.0 (not released)

New features

  • 3131: User Guide links the concept of multi-session trace files to the --trcsess option that automatically generates Oracle trcsess commands for such files.
  • 3086: Profiler no longer requires the P5_JAVA environment variable to contain a fully-qualified path name. Setting P5_JAVA=java.exe (the new default setting) now works as long as your PATH is set to find java.exe version 1.5 or above.
  • 3081: Profiler now shows placeholder names only once in the placeholder table. They are listed in alphabetical order for easy reference.
  • Logo, copyright and documentation changes to reflect Method R ownership.

Bug fixes

  • 3127: Profiler kernel now dies gracefully when run on a non-existent or unreadable compressed file.
  • 3125: Profiler now respects the SHOW-CONFIDENTIALITY-LABEL=true parameter setting in prof.xml.
  • 3118: Fixed a bug wherein the Profiler kernel put the trcsess batch file in an unexpected directory if you select a cdefs file during a GUI session.
  • 3105: “Number of distinct execution plans” is now counted correctly for SQL statements that have no execution plans in the input trace file.
  • 3096: Profiler no longer dies and throws “Bit::Vector::_add(): illegal operand type in overloaded ‘+’ operator at p5k.pl line %d” when a SQL statement produces two or more execution plans in the trace data, where one or more plans have statistics and one or more have no statistics.
  • 3054: Profiler no longer lists placeholders listed within SELECT INTO clauses in “Placeholder Values” tables (sections 4.*.4). Previously, for example, “select c1 into :b1 from t where c2=:b2” would incorrectly show :b1 bound to :b2’s value in a “Placeholder Values” table, and Profiler wouldn’t show the :b2 name at all.
  • 3063: In SQL statement texts, Profiler now highlights the word “null” in contexts where a placeholder variable could have been used instead.

5.1.22.0 (2008-03-31)

New features

  • 2885: Improved documentation about when and how to use byte encodings other than the default UTF-8.
  • 2814: Profiler now makes it easy to see substitutable literals in SQL by highlighting them in the SQL text sections (section numbers 4.*.5).
  • 2725: Users can now specify a default --maxjavaheap value in the environment variable called P5_MAXJAVAHEAP.
  • 2726: HTML files no longer contain irrelevant statement detail sections for trace files featuring many similar DDL statements. In our test case, HTML file size dropped from 12.9MB to 0.5MB with no loss of relevant information.

Bug fixes

  • 2755: Profiler now lets the user know that the task begin and end times are unknown when there’s no timestamp in the input trace stream (instead of rendering dates relative to midnight 01/01/1970 UTC).
  • 2812: In statement section headers (sections 4.*), it was confusing to see re-use information saying, “1 similar but distinct text”. Now, when there’s only one distinct text, the information rendered says simply, “1 distinct text”.
  • 2761: Corrected references in User Guide to --ns_per_ms Profiler kernel option.
  • 2698: Profiler now handles arbitrarily long tim values.

5.1.21.0 (2008-01-23)

Bug fixes

  • 2697: Fixed a bug in which oddly-formed Oracle trace data caused the Profiler kernel to emit a element with an id="" attribute. This evidenced in the error message “FORG0001: ValidationException: Cannot convert zero-length string to an integer.”
  • 2716: Fixed p5prof’s inability to recognize Java version “numbers” with characters other than numbers, dots, and underscores in them.

5.1.20.0 (2008-01-07)

New features

  • 2631: Profiler and skew analyzer now check to ensure that the file referred to by the P5_JAVA environment variable is an executable Java version 1.5 or greater.

Bug fixes

  • 2616: Fixed a bug that prevented the creation of a profile in cases where the trace file has only “WAIT” and “*** SESSION ID” lines (that is, where the trace file contains no db call lines).
  • 2635: Fixed a bug that caused zombie DOS command shells to exist for the browser lifespan when viewing Profile reports.

5.1.19.0 (2007-12-21)

New features

  • 2466: New --trcsess option generates a runnable script containing Oracle trcsess commands that correspond to Profiler log lines of the form, “p5k: ignoring trace data from session (%d.%d) on input lines %d..%d”. New --script, --s_ext, and --s_rem options provide user control over the script generation.
  • 2258: Now we render the time of the XML file creation, the duration of the Profiler kernel run, and the kernel’s MB/sec performance into the Profiler HTML report.
  • 2290: Added text to histogram sections (2.*) noting the min, max, and average latencies for the call being described.
  • 641: Render the total number of database buffer cache accesses into the profile report header information.

Bug fixes

  • 2109: Fixed “substr outside of string at p5k.pl line %d” error.
  • 2118, 2119: Fixed instances where --ocinames command line option was not honored
  • 2599: The license file will now be checked in both the installation directory and the etc\license\ subdirectory for compatibility with all Hotsos products.
  • 2510: Upgraded Saxon processor to 9.0.0.1J.
  • 2506: Fixed mouse-over hint for “stats” links that refer to statements with no Oracle hash value.
  • 2586: Corrected a reference in the User Guide to the directory to which older licenses are backed up during upgrades.
  • 2505: Corrected the “Support” section in the User Guide to point to our Hotsos discussion group.
  • 2388: Fixed a bug that prevented the “stats” link (and the corresponding statement detail section) from rendering for some ancestors of interesting cursors.
  • 2107: Matched the labels on the hotsos.com license registration form with those on the license registration dialog in the product.
  • 2186: Fixed a bug that caused the kernel to interpret a STAT line group with intermixed recursive dbcalls as separate STAT line groups.

5.1.18.0 (2007-09-14)

New features

  • 2042: New --ocinames command line option shows developer-friendly dbcall names (e.g., “prepare”, “execute”) instead of raw trace file names (e.g., “PARSE”, “EXEC”).
  • 1982: New --javascript/--nojavascript command line option allows you to disable JavaScript “View characteristics” section.
  • 1914: Hotsos Profiler now processes Oracle Database 11g trace files.
  • 1913: Hotsos Profiler now reports on cost, size, and card row source statistics in Oracle Database 11g trace files.
  • 960: New Hotsos Profiler kernel argument --ns_per_ms allows you to specify the duration, in nanoseconds, of an Oracle “microsecond.”

Bug fixes

  • 2097: Changed visited link color to better visually distinguish visited links from unvisited ones.
  • 1939: Added reference to SHOW-NEGATIVE-ROW-SOURCE-TIMINGS parameter when suppressing negative row source timings, to better indicate to the user how to see the missing data.
  • 1281: Enhanced reporting of lob processing.
  • 1248: Enhanced reporting of cursor-close statistics.
  • 60, 2003, 2035: Improved attribution policy for between-call network messaging assigned to cursor slot #0.

5.1.17.0 (2007-06-29)

New features

  • 1539: New Hotsos installer-managed “Hotsos Pictogram” font eliminates the need to install “Arial Unicode MS” font to see properly rendered pictograms.

Bug fixes

  • 1788: Fixed the problem causing the error “SXXP0003: Error reported by XML parser: Invalid byte 2 of 3-byte UTF-8 sequence.”
  • 1358: Fixed skew analyzer defect which concealed obj# of calls when using --group=$obj.
  • 1328: Profiler now highlights row source operations only when it is supposed to.
  • 1218: Accurized text in execution plan sections with negative row source timing data.

5.1.16.0 (2007-04-03)

Bug fixes

  • 1159: Fixed fatal error “XTTE0570: An empty sequence is not allowed as the value of parameter $value” when Oracle kernel emits row source statistics on some STAT lines in a plan but not all of them.
  • 1141: Fixed SQL formatter which truncated any string of one or more ‘0’ characters from the tail-end of SQL statements.

5.1.15.0 (2007-03-16)

Bug fixes

  • 1025: Windows 2000 Launch Condition error.
  • 947: oci.dll error dialog.

5.1.14.0 (2007-03-02)

New features

  • 887: New Profile by SQL Statement section, which highlights SQL statements that consume significant response time but whose contributions would appear in diluted form in the Profile by Cursor section.
  • 719: New SHOW-NEGATIVE-ROW-SOURCE-TIMINGS parameter.

Bug fixes

  • 711: Pictogram characters now display properly in IE7.

5.1.13.0 (2006-08-25)

Bug fixes

Note that from this release forward, case numbers shown here are from our new Hotsos Technical Support system, and the text shown here is no longer the bug text, but the release note explaining the post-repair state of the product.

  • 126: Profiler kernel honors --xsd command line option.
  • 91, 149: Profiler more accurately displays placeholder (bind variable) values.
  • 80, 116: Profiler now processes invalid XML characters by translating nonprinting control characters found in Oracle trace files to a visible format; for example, character 0x00 renders in Profiler output as .
  • 59: Profiler User Guide explains how it selects which placeholder values to display for a given execution plan.

5.1.12.0 (2006-07-27)

Bug fixes

  • 1436: Critical error in packaging that occurred in 5.1.11.0.

5.1.11.0 (2006-07-21)

Bug fixes

  • 1430: Profiler truncates rowid values in bind data
  • 1423: Profiler 5.1.10 allocates time to unaccounted for at file conclusion
  • 1330: Warning about negative time for row source operations
  • 1376: Begin Prepare Stmt shows incorrect CPU Time

5.1.10.0 (2006-06-02)

Bug fixes

  • 1373: Profiler Output Truncated

5.1.9.0 (2006-05-26)

Bug fixes

  • 1296: Timing Calculation of Profiler
  • 1295: Another strange-looking execution plan
  • 1294: Strange-looking execution plan
  • 1170: Profiler execution plan not showing the last four STAT lines.
  • 1096: Plans Not Displaying Correctly

5.1.8.0 (2006-04-21)

Bug fixes

  • 1274: Highlight when Errors and/or Warnings Occur
  • 1269: Identify Max Dump File Limit in Profiler

5.1.7.0 (2006-03-24)

Bug fixes

  • 1262: Profiler output should render trace file Oracle release
  • 1258: The Profiler output doesn’t display the detected Oracle release
  • 1254: Ambiguous “Skew Data” titles for “SQL*Net message from client” and “SQL*Net message from client [think time]”
  • 1224: Profiler output has cursor grove with cursors that have empty statement reference
  • 1223: Profile by Cursor section “Total” row has wrong line number
  • 1209: Profiler and Laredo coexistence isn’t what it should be

5.1.6.0 (2006-02-24)

New features

  • Each synthetic commit and rollback statement now references the Oracle hash value of the statement that it follows.

Bug fixes

  • 1228: p5prof: command failed (2304)
  • 1226: Trace File Does not Process
  • 1222: Question regarding control of P5 with Large Trace Files
  • 1218: Profiler output shows too much elapsed time
  • 1211: Profiler kernel, p5k, emits too many synthetic commit or rollback statements
  • 1207: P5140 GUI hangs between parsing trc file and building xml file
  • 1175: Profiler - “Task identification” not being displayed (reopened)

5.1.5.0 (2006-01-20)

New features

  • Attribute “unaccounted-for between dbcalls” time to application SQL instead of the synthetic catch-all “not accounted for within other statements”.
  • Accurately process trace files with multiple Oracle sessions represented in them.

Bug fixes

  • 1208: Subtyping qualifier-label doesn’t render when there’s no qualifier attribute
  • 1204: Incorrect Execution Plan Displayed
  • 1196: Not Displaying Bind Variable Info
  • 1180: Minor grammatical errors in Hotsos Profiler User Guide 5.1.4.0
  • 1175: Profiler - “Task identification” not being displayed
  • 1171: Profiler Misspelling of “CHARACTER” in 5.1.4.0
  • 1140: Does Profiler still require .NET beta version?
  • 1130: Bind variables missing from Profiler output?

5.1.4.0 (2005-12-16)

Bug fixes

  • 1166: P5 Profiler uninstall doesn’t remove Hotsos folder from start menu
  • 1164: Toggle “Show Top n” combo box
  • 1158: Profiler doesn’t show placeholder values when there’s no plan
  • 1144: What is “commit (synthetic)”?
  • 1139: Need to display commit and rollback counts in HTML output
  • 1135: Upgrade should leave unzip.xml alone
  • 1134: Skew Analyzer “Show top n” default value should be “All”, not “0”

5.1.3.0 (2005-12-02)

New features

  • New SHOW-CONFIDENTIALITY-LABEL profiler parameter allows users to label their profile documents as confidential company property.

Bug fixes

  • 1127: Profiler 5.1.2.0 abnormally terminates on Windows 2000
  • 1125: Sections 5.3.4.* display incorrectly as 5.3.3.*
  • 1123: Error in Hotsos Profiler User Guide - Release 5.1.2.0
  • 1119: Profiler dies with “SXXP0003..."event" must not contain the '<' character”
  • 1118: Profiler ignores boolean option specifications
  • 1028: FORG0001: Invalid dateTime value. Non-existent date

5.1.2.0 (2005-11-08)

New features

  • Compute Oracle trace file timing unit automatically. This allows users to use the Profiler more easily with trace files from instances running different versions of Oracle.
  • Elide the Profile by Cursor in the same manner as we elide other sections within the profile report, governed by the CONTRIBUTIONS-MAXIMUM-LIST-LENGTH parameter. This yields a significant performance improvement for trace files containing many distinct SQL texts.

Bug fixes

  • 1114: ERROR lines in trace file not reported in HTML output
  • 1099: P5 Console passing wrong value for --trcunit to P5PROF
  • 1066: P5 java.lang.OutOfMemoryError on Large Trace Files - Similar to ticket 1053
  • 1053: XSLT processor crashes with Java out of memory error on large files
  • 1050: Files with two periods in name crash console
  • 1048: Profiler v5.1.0.11 attributing RPC Call unlike newer v4.1.4 and higher
  • 1046: P5 Console application crashes when using file names with multiple ‘.’ separators
  • 1038: Subroutine and Cursor Profile totals don’t match

5.1.1.0 (2005-10-07)

Bug fixes

  • 1085: No Java at install time
  • 1080: Transformation Failed error when running profiler
  • 1040: Error in Skew Analyzer output?
  • 1037: Use of uninitialized value ...at p5k.pl line 2000/2007
  • 1024: Use of uninitialized value in concatenation (.) or string at p5k.pl line 2172
  • 1023: Can’t spawn “cmd.exe”: No such file or directory at p5prof.pl line 135
  • 1022: p5skew: can't open '| "C:\...\java.exe" -jar ... >....html' (Bad file descriptor) at p5skew.pl 251
  • 1018: FORG0001: Invalid dateTime value. Day is out of range
  • 1014: Getting invalid license when installing P5 Profiler
  • 1011: p5k throws uninitialized variable warnings to STDERR
  • 1008: Strange characters in P5 output
  • 1007: FORG0001: Invalid dateTime value on line 88 of task.xsl

5.1.0.0 (2005-09-16)

New features

  • All new user interface
  • All new report format