Profiler Release Notes

Method R Profiler comprehensive product history.

Profiler 7.1.1.3 (2018-02-02)

  • 6772: Documented installation prerequisites at method-r.com/installation-prerequisites.
  • 6765: Simplified product download process and created a new self-service trial license key generator.
  • 6755: Check for Updates… now uses a restartable, multi-threaded download manager to make software updates faster and easier.

Profiler 7.1.0.14 (2018-01-23)

  • 6762: Identified a bug in Java SE 8 updates 112–151, in which the Check for Updates… dialog dies if the user doesn’t click something within 23 seconds.
  • 6755: New restartable, multi-threaded download manager makes downloading software updates faster and easier.
  • 6745: Fixed a bug in which mrprof would respond incorrectly to a trace file with timestamps but no dbcalls.
  • 6744: Exchanged the locations of the Profile by Statement and Profile by Cursor sections to be more consistent with the user’s most likely analysis pathway, and improved the advisory text for both sections.
  • 6743: mrprof now reports in the advisory text of Profile by Statement and Profile by Cursor how many elements there are in each list. This is especially helpful when the lists are long, such as when using --noelide.
  • 6742: Fixed a bug causing IGNSESS1 line number ranges to be off by one.
  • 6738: Fixed a bug causing too much space to appear around quoted subroutine names in the advisory text of Profile by Subroutine sections.
  • 6737: Disallow wrapping of dbcall names in Profile by Database Call sections
  • 6734: Fixed a bug causing the “%d other cursors” row not to be highlighted correctly in Profile by Cursor section.
  • 6730: Fixed an error causing a small row count to be rendered as a number instead of a word in statement-level Profile by Database Call sections.
  • 6729: Eliminated unsightly and unnecessary =head2 elements from mrprof man page.
  • 6727: Fixed the image shown on the macOS DMG file when it is mounted.
  • 6726: New --patch-negative-counts argument causes the mrprof kernel to manipulate p, cr, and cu values in parent dbcalls that aren’t large enough to contain the corresponding values of their children.
  • 6725: Eliminated all but one context in which “CPU: unreported dbcalls” synthetic calls can appear; in this new context, the event is called “uncategorizable within file”.
  • 6718: Created a new “uncategorizable within ERROR dbcalls” synthetic dbcall type.
  • 6717: Fixed a bug that causes mrprof to print advisory text containing “found the block it needed in the database buffer cache on x% of buffer touches,” where x<0.
  • 6714: New Profiler 7.1 logo.
  • 6713: Changed link highlight color to a subtler light green.
  • 6712: The bold red experience duration in the report header now links to Profile by Subroutine section.
  • 6709: Created a new “uncategorizable within PARSE ERROR dbcalls” synthetic dbcall type.
  • 6708: Renamed “uncategorizable within dbcalls” synthetic dbcall to “uncategorizable within synthetic dbcalls”, to distinguish these calls from the new “uncategorizable within PARSE ERROR dbcalls” synthetic dbcall.
  • 6707: Eliminated the synthetic dbcall named “CPU: synthetic dbcalls”.
  • 6706: Changed synthetic cursor names to be more consistent with each other.
  • 6704: Fixed a bug in which mrprof could report different total values for Profile by Subroutine and Profile by Database Call sections, and for all Statement Report sections 4.7.(1,2,3,4).
  • 6702: Fixed hierarchy markings in Profile by Cursor section so that none are set in boldface.
  • 6700: Improved advisory text to include how much time you should be able to save if you eliminate unnecessary PARSE calls.
  • 6698: Removed references to command line arguments in descriptive text in section 5.4.
  • 6697: Fixed advisory text for empty profiles.
  • 6696: Fixed advisory text in Profile by Subroutine sections when contributions are 0%.
  • 6695: Created a new “uncategorizable no calls” synthetic call type.
  • 6689: mrprof formats Optimizer Goal column values with no white-space wrapping, to prevent heightening of the bottom rows of the table.
  • 6687: Fixed several “Unknown option” errors, including --fix-tim-values.
  • 6684: Improved handling of cursor 0 calls.
  • 6683: Improved handling of commits and rollbacks.
  • 6680: Added mean, min, and max call durations to the skew histograms in section 2.
  • 6679: Improved handling of ERROR lines.
  • 6671: Fixed a bug that dereferenced a null pointer when using --trace=h or --trace=* on a trace file with PARSE ERROR lines in it.
  • 6669: mrprof now recognizes “DROP TABLE t” commands as shareable across differing values of t.
  • 6667: Upgraded the algorithm for handling “DROP USER” commands that inspire large numbers of “DROP TABLE” commands from O(n2) time to O(1) time.
  • 6660: Eliminated HIERARCHY and ZERO-VALUE-STRING options.
  • 6643: mrprof now lists the “Including descendants” column group first in the Profile by Cursor section, because this is the column group upon which the sort order is predicated.
  • 6608: Improved advisory text for statement-level Profile by Statement sections when the distinct text count is greater than one.
  • 6601: Profile reports now show a mrprof-generated shared SQL ID for each statement in addition to SQL ID.
  • 6597: Added new throughput and workload information (rows, rows/s, LIOs/row) to the Profile report preamble.
  • 6590: Eliminated SHOW-NEGATIVE-ROW-SOURCE-TIMINGS transform parameter. mrprof now shows all row source timings.
  • 6589: The row source operation highlighting feature is now always on.
  • 6518: Fixed a bug in which mrprof would sometimes incorrectly report the cost of PARSE ERRORs.
  • 6517: New --trace=d option allows you to measure tim clock drift.
  • 6516: Fixed a bug causing the mrprof kernel to miscalculate a file’s start time.
  • 6420: Fixed a bug that would cause mrprof to mis-count expensive statements in the advisory text for Profile by Cursor and Profile by Statement sections.
  • 6247: Eliminated the synthetic dbcall named “no dbcall found”.

Profiler 7.0.7.0 (2017-09-22)

  • 6611: Fixed a bug causing “Check for Updates…” to fail after successfully downloading an update, when it is preceded immediately by a download failure (e.g., a network error).
  • 6572: Fixed a bug in which mrprof would incorrectly state in section 4.*.2 how many distinct places a statement was executed from in your application source code.

Profiler 7.0.6.1 (2017-09-13)

  • 6606: Fixed a bug in which child cursor statistics are sometimes not subtracted from a parent, when the parent is preceded by a protracting syscall.
  • 6593: Replaced the default sample trace file.

Profiler 7.0.5.1 (2017-08-04)

  • 6563: Fixed a bug causing the menu bar to turn black after completing the “Your license will expire in %d days!” dialog.
  • 6562: “Your license will expire in %d days!” dialog Yes button now points to method-r.com/pricing.
  • 6561: Fixed a bug causing license keys not to be recognized for the 30-day subscription product.

Profiler 7.0.4.0 (2017-07-19)

  • 6551: Fixed a bug that caused mrprof to (i) render negative numbers with hyphens instead of minus signs for LOCALE-CODE value A, and (ii) die for any LOCALE-CODE value other than A.

Profiler 7.0.3.2 (2017-07-18)

  • 6552: Upgraded Saxonica from 9.6.0.8 to 9.6.0.10.
  • 6547: Added a feature to mask erroneous high-order bits from Oracle counts, typically a problem on HP-UX and IBM AIX platforms.
  • 6545: Fixed a bug causing mrprof to die in cases where it encounters a negative number.

Profiler 7.0.2.3 (2017-07-03)

  • 6532: Fixed a bug in which Help › License text box state becomes inconsistent with the “Edit license key” check box.
  • 6531: Added --trace=d option to mrprof man page.
  • 6529: Updated Help › Release Notes URL.

Profiler 7.0.1.4 (2017-06-30)

  • 6518: Fixed a bug causing mrprof to sometimes incorrectly report the cost of a PARSE ERROR.
  • 6516: Fixed a bug causing mrprof to miscalculate a file’s start time.
  • 6517: New --trace=d option allows you to measure tim clock drift.

Profiler 7.0.0.151 (2017-06-19)

  • New Method R Corporation one-touch deployment process will allow us to release software as frequently as we can develop and test enhancements.
  • 6480: Fixed a mrprof man page error that incorrectly identified the $MRPROF_INSTALL/fonts directory.
  • 6478: Improved --ofile argument documentation.
  • 6442: mrprof recommends using Profiler version 6.0.0.35 for input trace files with no tim value on each WAIT line.
  • 6422: New --trace option provides high-resolution diagnostics about mrprof trace file processing.
  • 6395: Renamed mrprof command line arguments, changing underscores to hyphens, and hyphenating multi-word names.
  • 6394: mrprof man page now lists system version dependencies.
  • 6380: Fixed a bug in which the macOS DMG distro would show hidden folders in awkward places if Finder’s “show hidden files” feature was turned on.
  • 6376: Refined and reorganized the Help menu.
  • 6353: Refined About dialog contains additional information.
  • 6351: mrprof now regards statements with text like lname='Smith' and lname=:"sys_b0" as similar.
  • 6349: The application pops a dialog warning you when your license expiration date is less than or equal to 30 days away.
  • 6348: About dialog now shows number of days left on software license agreement.
  • 6341: New --license option shows your license details on the command line.
  • 6336: Fixed a bug in which “Show all details” Preference option doesn’t persist across upgrades.
  • 6335: The Method R Guide to Mastering Oracle Trace Data is accessible from the mrprof app through the Help › Mastering Oracle Trace Data menu option.
  • 6334: Simplified answer to “How can I tell what version of Java mrprof is using?”
  • 6332: mrprof now sets its exit status to 0 for success, 1 for failure.
  • 6331: Changed the TRCBUG2 error string format to match other error string formats.
  • 6330: mrprof now writes errors and warnings about the trace file into the HTML document itself (instead of in a standalone .log file, which was always easy to misplace).
  • 6311: Splash page now looks good at Retina resolution.
  • 6310: We now build mrprof with GCC on Microsoft Windows (as we’ve done for a long time on macOS and Linux), which results in mrprof kernel execution times that are about 1.5 times faster on Windows than Profiler version 6.
  • 6308: New Method R Profiler 7 logo in profile reports.
  • 6306: Exchanged locations Profile by Cursor and Profile by Statement sections, to aid in logical flow through the profile report.
  • 6303: mrprof command line is now completely quiet when there are no warnings or errors and --verbose=0.
  • 6301: mrprof now aggregates statements for synthetically generated parent dbcalls. This feature in one test case improved mrprof response time from more than 17 hours to 1.953 seconds (~31,000× throughput improvement), with no loss in diagnostic data value.
  • 6299: Renamed Profile by Cursor sections to “Profile by Caller” to better reflect the nature of the information being rendered.
  • 6298: Re-ordered the sections within the Statement Report section (sections 4.*) to better match the user’s analytical workflow.
  • 6295: mrprof now includes a meaningful English introduction to each table in the profile report, which highlights important information and explains its relevance.
  • 6291: Timing information that was formerly printed on STDOUT every time mprof was run is now printed on STDERR, but only when --verbose is set to a value greater than 0.
  • 6288: mrprof now writes all diagnostic output to STDERR. There is no more .dbg file.
  • 6287: New Add Sample… menu option lets you choose which sample file to process.
  • 6282: Profile report now contains more hyperlinks that make it easier to navigate to the text of a section’s SQL or PL/SQL statement.
  • 6266: Added ‘CPU: synthetic dbcalls’ event to SYNTHETIC CALLS section of the manual page.
  • 6254: Added a new “Type code” column to the placeholder tables within the Execution Plan sections.
  • 6253: Created new transform parameter SHOW-ZERO-VALUES-STRING (default value is true) to replace the former SHOW-ZERO-VALUES parameter (with its logic inverted).
  • 6252: SHOW-ORACLE-TYPE-CODE is no longer an option; mrprof now always shows the Oracle type code for bound values.
  • 6251: mrprof now qualifies commit and rollback dbcalls as being either read/write or read-only.
  • 6250: Reduced the unnecessary thickness of the double rule at the bottom of the profile tables throughout the HTML profile report.
  • 6249: Removed the visual clutter of the gray rule between sections.
  • 6246: SHOW-ORACLE-STATEMENT-ID is no longer an option. mrprof now always shows the Oracle statement ID for SQL and PL/SQL statements.
  • 6245: Profiler improves accounting for XCTEND calls.
  • 6244: Profiler now synthesizes a SQL ID for remote procedure calls.
  • 6242: Fixed the icon truncation in the “Automatically open %d files?” dialog.
  • 6240: Each statement text in Profile by Statement sections now hyperlinks back to the statement’s record in the experience-level Profile by Statement.
  • 6237: mrprof now renders ellipsis for a bound value whose entire content isn’t shown.
  • 6231: mrprof now includes the colon character within each placeholder name in the placeholder tables.
  • 6230: Improved how we render the Oracle data type code in the placeholder values table when SHOW-ORACLE-TYPE-CODE value is true.
  • 6227: New File › Add Sample… option lets you choose from a variety of sample files.
  • 6201: Updated Profiler logo with new Method R logotype.
  • 6190: mrprof now makes it easier to see the duration consumed by a parse error.
  • 6159: Fixed a typo in the SYNTHETIC CALLS ‘uncategorizable within dbcalls’ man page section.
  • 6154: Preferences panel uses more realistic example values for max Java heap size.
  • 6150: mrprof will process a designated sample file without a license.
  • 6139: Fixed the order of the Cancel and Continue buttons on the “Automatically open %d files?” dialog for macOS.
  • 6123: Fixed a bug in which long cursor ID values could cause mrprof to produce a distinct statement for every XCTEND in the trace file, which wastes time and memory.
  • 6122: Fixed a bug where mrprof failed to launch after upgrading the java runtime to java 8 update 101 or any other update where the update version number length exceeds two digits.
  • 6080: Corrected documentation about which input file types mrprof accepts.
  • 6079: Revised Method R Software License Agreement.
  • 6077: New Help › Support menu option links to Support page at method-r.com.
  • 6076: Documented all mrprof kernel options in the mrprof man page.
  • 6073: Revised manual page SYNOPSIS section to comply with market standards.
  • 6072: Fixed a bug causing the mrprof --help (and -?) command line option not to display the right man page information.
  • 6065: mrprof now recognizes hexadecimal cursor IDs that showed up briefly in Oracle Database 12.2 beta versions.
  • 6057: Fixed a bug in which Profiler would report that it had found PARSE ERRORs, without reporting where they had been found.
  • 6052: Fixed a bug in which mrprof didn’t pass all command line options through to the kernel.
  • 6051: New license regime requires a valid license to load customer trace files. A license will expire after a set duration. Without a valid license, mrprof will load only pre-designated sample files.
  • 6049: New Help › Profiler option takes you to the mrprof manual page.
  • 6048: New Help › License option provides access to the Software License Agreement.
  • 6044: Fixed a bug causing the Run › Start and Run › Stop menu items from working.
  • 6024: Profiler now synthesizes a statement called “SQL*Net client messages at end of file” for all “SQL*Net…” timed events that occur at the end of the input trace data.
  • 6019: Redesigned the Preferences panel, which now includes new options and is better organized.
  • 6016: Fixed a bug in which mrunzip shortcut wasn’t being created.
  • 6014: New Preferences page “Reload” buttons make it easy to reload cdefs.xml and prof.xml configuration files from the distribution file set.
  • 6013: Updated default cdefs.xml with more modern disk I/O latency tolerances.
  • 6011: Moved documentation of mrprof’s prof.xml parameters, cdefs.xml customization, synthetic calls, and troubleshooting to the mrprof man page.
  • 6009: Preference values requiring validation are now more responsive, using color and tip feedback immediately upon entry.
  • 6006: Removed Skew Analyzer from mrprof.
  • 6004: Fixed a bug in which mrprof did not properly persist some Preferences values from one execution to the next.
  • 6002: Profiler now flushes STDERR and STDOUT earlier during a run, which is helpful if you’re ever debugging a long execution duration.
  • 6001: New mrprof --trace=ls option prints trace file lines, including synthesized calls.
  • 6000: Fixed a bug causing mrprof not to print its version into its diagnostic output if the right version of Java is not detected.
  • 5990: mrprof contains a completely new, more convenient license management subsystem, which makes it easy to install and replace license keys.
  • 5989: Fixed several bugs that caused mrprof to report distracting data about ‘CPU: unreported time’ and other various flavors of unaccounted-for and synthetic call durations.
  • 5987: mrprof now accounts for the Oracle Database kernel’s habit of not ending PARSE ERROR sections with an END OF STMT marker.
  • 5985: Changed “LIO/CR mode” label to “LIO/consistent” and “LIO/CU mode” to “LIO/current” in Profile by Database Call sections.
  • 5978: Greatly simplified license key entry into the product. Now you just paste one key string from an email into a field.
  • 5966: Removed spaces from distribution filenames.
  • 5924: mrprof no longer throws an ICONV1 warning when it converts an unprintable character to the new «U+%04X» format.
  • 5900: Fixed a bug in which mrprof printed incorrect placeholder names into the placeholder table when the application had bound by position instead of by name.
  • 5892: Default value of SHOW-CUMULATIVE-DURATIONS is now false. You may set it to true if you prefer, in the Transform Parameters file, which is accessible through the Preferences… panel. Omitting the “Cumulative duration” column groups throughout the report makes the HTML narrower and easier to read.
  • 5891: New “Excluding descendants” and “Including descendants” column groups in Profile by Cursor gives full cursor statistics, both exclusive and cumulative, for each cursor. This makes it easier to understand how to reconcile mrprof statistics with those produced by mrskew.
  • 5888: Profiler now highlights LIOs and PIOs in Profile by Database Call sections.
  • 5886: Profile by Caller section now contains Rows, LIOs, and PIOs columns.
  • 5866: New diagnostic messages and more intuitive behavior regarding JRE version choice make it easier to solve JRE version problems.
  • 5769: mrprof is certified to run on macOS Sierra version 10.12.
  • 5733: New LIOS-PER-ROW-THRESHOLD governs LIO highlighting in the Profile by Statement sections.
  • 5732: New PIOS-PER-LIO-THRESHOLD governs PIO highlighting in the Profile by Statement sections.
  • 5731: Fixed a bug in which a large negative ‘unaccounted-for between calls’ duration is placed into the wrong histogram bucket, which messed up both the histogram and the corresponding pictogram.
  • 5721: Help › Profiler Help is renamed to Help › Profiler.
  • 5720: New icons update the look of the graphical user interface.
  • 5681: New “Total per fetch” row in Profile by Database Call sections helps you see total statistics normalized by fetch count. This shows, for example, the average number of rows being returned per fetch call, and the average number of LIOs and PIOs each fetch consumes.
  • 5627: mrprof now recognizes ISO-8601 “yyyy-mm-ddThh:mm:ss.ffffff” time representations (as output by the mrcallrm utility) in addition to the traditional non-standard Oracle time format.
  • 5593: Fixed a bug in which mrprof sometimes mis-categorized “SQL*Net more data from client” calls.
  • 5589: mrprof no longer processes input trace files produced by Oracle Database releases older than 11.1. It now suggests the version of mrprof to use on old trace files. This allows mrprof to be faster and more accurate.
  • 5588: Profile by Cursor section now shows PIO count for each statement.
  • 5586: Profile by Statement sections now show PIO count for each statement.
  • 5571: Moved errors and warnings line to the very bottom of the preamble, which better emphasizes its information.
  • 5570: mrprof now emphasizes the warning message in the preamble when the input file is truncated. The message is also moved nearer to the top of the preamble to emphasize its importance.
  • 5569: Changed default SQL-TEXT-PREFIX-LENGTH from 32 to 48. This causes mrprof to show a little more SQL or PL/SQL text information without driving table widths beyond where they typically were already with occasional “missing dep=%d…” synthetic text strings.
  • 5567: Eliminated the SQL-TEXT-PREVIEW-LINES parameter that controlled the statement detail preamble table, which no longer exists because the new Profile by Statement section better structures the information.
  • 5563: Improved the optimizer goal value names, using ALL_ROWS now instead of ALLROWS, and FIRST_ROWS instead of FIRSTROWS. mrprof no longer uses the optimizer goal names UNKNOWN or RPC.
  • 5562: Added trailing zero to “CPU: PARSE dbcalls” tolerance value of .250 seconds.
  • 5561: New Profile by Statement section for each statement creates provides extra detail beyond what was previously available in the short preamble that followed each section 4.* h1 element.
  • 5560: New “Distinct plans” and “Optimizer goal” columns in the Profile by Statement section.
  • 5558: mrprof now warns when it finds an input line that looks like it might be a new type of Oracle Database call that it doesn’t recognize.
  • 5555: Greatly simplified the process of entering (for example, replacing) a new license.
  • 5552: The operating system kernel prerequisite for mrprof on Linux has changed from 2.6.9 to 2.6.32.
  • 5545: Upgraded to Saxon 9.6.0.8.
  • 5538: An ERROR line no longer causes a new dbcall to be added to the dbcall-list.
  • 5536: Renamed some synthetic event names for better clarity and precision.
  • 5532: Formatted min/max data in Contribution section consistently with the formatting in the Profile by Subroutine sections.
  • 5531: Changed --maxjavaheap unit of measure to bytes, which is easier to understand because it matches exactly the java -Xmx syntax.
  • 5530: Eliminated unnecessary clutter in table headings, including <br/> elements.
  • 5526: New LIBRARY-CACHE-MISSES-PER-STATEMENT-THRESHOLD prof.xml parameter governs highlighting of library cache misses.
  • 5525: Removed unnecessary statement hash values from hover hints.
  • 5524: Removed documentation references to obsolescent ELIDED-STATEMENTS-TEXT and ELIDED-CURSORS-TEXT parameters.
  • 5523: Corrected copyright format.
  • 5521: Changed the first HTML5 section element containing the report preamble to a header element. This allows HTML5 outlining tools to work properly upon profile reports.
  • 5520: Profile by Subroutine sections now elide using the same rules as the Profile by Statement and Profile by Cursor sections.
  • 5519: Replaced the terms “task” and “task execution” with the term “experience.” This name more accurately reflects the relationships among tasks (which are business functions) and experiences (which are individual executions of tasks). A profile report upon properly collected Oracle trace data represents the time consumed by a single experience.
  • 5516: Fixed a bug causing the Profiler to interpret “rdbms ipc reply” timed event as a between-dbcall syscall.
  • 5507: Performance is greatly improved when each statement’s execution is followed by an execution plan.
  • 5506: Changed prof.xml threshold names to more intuitive ROWS-PER-FETCH-THRESHOLD, ROWS-PER-EXEC-THRESHOLD, and EXECS-PER-PARSE-THRESHOLD. Each new threshold value defaults to 2. The old threshold names, FETCH-ARRAY-THRESHOLD, EXEC-ARRAY-THRESHOLD, and PARSES-PER-STATEMENT-THRESHOLD are obsolete.
  • 5505: mrprof now recognizes LOBGETLEN dbcalls.
  • 5504: Fixed a bug causing the mrprof to interpret LOB.* dbcalls at the wrong recursive depth.
  • 5503: Fixed a bug causing mrprof to interpret “single-task message” timed event as a between-dbcall syscall.
  • 5502: Fixed a bug where the Profiler incorrectly reported the elided errors count when --erroremit=0.
  • 5501: Moved the Profile by Subroutine section for a given statement to section 4.*.1, and moved the Profile by Caller section to section 4.*.2.
  • 5500: Added “LIO count” column to the Profile by Cursor section.
  • 5499: Added “Rows” column to the Profile by Cursor sections.
  • 5494: Increased the default Java Virtual Machine maximum heap size to 1024 mebibytes.
  • 5489: New SUMMARY token in the log file replaces ERRSUM, and now all the error and warning counts align properly.
  • 5488: mrprof now detects all characters in its input that cannot be encoded as HTML characters, and it translates them to displayable UTF-8 characters in its output XML.
  • 5486: Profiler kernel now emits cursor/@e and cursor/@level values into the XML. Generating these attributes from the Profiler kernel instead of requiring the XSL transform to synthesize the attribute values reduces response time of the overall Profiler run time by roughly 30% in trace files with tens of thousands of cursors.
  • 5485: Fixed a bug that caused some of the pictogram elements to descend below their baselines on iOS devices.
  • 5484: New --jparam command line argument allows you to pass arguments to the JVM used to process the XSL transform.
  • 5483: New --sparam command line argument allows you to pass arguments to the Saxon XSLT processor.
  • 5478: Fixed a bug where some placeholder variable names are not shown if the statement contained multiple placeholders and was executed within a PL/SQL statement FOR ALL.
  • 5477: Fixed a problem that was causing the mrprof XSL transform phase to consume too much response time when processing an XML file with tens of thousands of cursor elements. This fix, combined with the enhancement documented in case 5486, results in a roughly 85% response time reduction (~6.7× throughput improvement) for trace files containing many distinct cursors.
  • 5471: Documented the change in default value of the --max-java-heap option.
  • 5470: Eliminated use of the MRPROF_JAVA environment variable. Now, mrprof takes its Java command from your PATH, unless you have set JAVA_HOME.
  • 5468: Updated man page to reflect the new JRE requirement for version 1.8 or above, and how to use the JAVA_HOME variable to switch the Profiler’s use among Java versions.
  • 5452: Fixed the “Calls” value on the Total line of each Statement Contributors… section.
  • 5450: mrprof now requires JRE 1.8.
  • 5448: Improved the look of the macOS installer.
  • 5446: New mrprof --man option exposes the comprehensive manual page at the command prompt.
  • 5444: Profiler emits better name for placeholder datatype 122.
  • 5442: Profiler will display all placeholders, with synthesized names, when the SQL text is missing from the trace file.
  • 5439: Fixed a bug where mrprof does not show all placeholder values if a placeholder’s data type is VARRAY or NESTED TABLE (122).
  • 5435: Removed /task/statement-section/statement/run-list/run/@e-per-row attribute because it is computable from existing attributes.
  • 5433: When an upgrade is available, the new “Check for Updates…” feature will upgrade and relaunch the mrprof application in just a few clicks.
  • 5431: Fixed a bug where mrprof printed cursor addresses as signed integers rather than unsigned integers as they are in the trace data. This makes it easier to correlate trace data with the content of warning messages that contain cursor addresses.
  • 5430: New mrprof --noelide argument provides more convenient control over elision.
  • 5427: Added “LIOs” column to the Profile by Statement sections.
  • 5424: Renamed “unaccounted-for between dbcalls” to “unaccounted-for between calls” to more accurately represent the possibility that a between-call event can occur between two syscalls, a syscall and a database call (in either order), or two database calls.
  • 5423: “Rows processed” and “Rows returned” column labels changed to “Rows”.
  • 5420: mrprof now renders “Total per execution” and “Total per row” count values as fractions instead of whole numbers. These numbers are rendered in a smaller font to emphasize that the magnitude of the numerical values is smaller than their new physical width (with the new extra digits after the decimal point) implies.
  • 5408: Warning messages MULTACT[1234] now refer to service, module, action, and clientid changes detected in the input trace file.
  • 5393: Fixed a bug preventing mrprof from running properly when started from its macOS dock icon with a suitable Java runtime available.
  • 5390: mrprof no longer stores any customizable files in the .app bundle.
  • 5377: New Profile by Execution Plan section provides more data, better organized, about all of a statement’s execution plans.
  • 5354: Since Apple has discontinued support of the JRE, there is no more one click installation for a missing JRE. You will have to download the software and install it as two separate steps.
  • 5303: Added advice in the TROUBLESHOOTING section of the man page about how to respond to occurrences of java.lang.OutOfMemoryError.
  • 5298: New Preferences “Show all details” checkbox provides convenient, one-click control over whether profile elements are elided (summarized) or shown in detail.
  • 5295: Added “Rows” column to the Profile by Statement sections.
  • 5280: Changed the default font to Lato, a Google font which will be available to any Profiler user with a network connection. Lato has the desirable property of number widths that remain consistent across font weights, so emboldened numbers will align with normal-weight numbers.
  • 5238: Fixed a bug causing mrprof to run unexpectedly when deleting a row from the lower panel.
  • 5139: Improved the performance of the transform XSLT.
  • 5099: Eliminated the SQL text preview at the top of each section 4.x, which in turn eliminated the need for the SQL-TEXT-PREVIEW-LINES parameter.
  • 5049: New Profile by Database Call section makes it easy to see the entire user experience from the database call perspective.

Profiler 6.0.4.6 (2016-11-04)

  • 6165: Fixed a bug causing cursor grove hierarchy to align improperly.
  • 6163: Fixed a bug causing Profiler not to start correctly on Windows after upgrading Java to a version with a three-digit update number (e.g., 1.7.0_100).
  • 6162: Fixed a bug in which deep SQL recursion caused Profiler kernel to terminate abnormally.

Profiler 6.0.3.2 (2016-06-01)

  • 6022: Fixed a bug preventing Method R Profiler from opening HTML files on Linux.

Profiler 6.0.2.0 (2016-05-26)

  • 6020: Fixed a bug in which Method R Profiler throws “FORG0001: Invalid dateTime” on systems using India Standard Time.

Profiler 6.0.1.3 (2015-12-30)

  • 5925: Fixed a bug in which the Profiler application treated newline characters incorrectly in the Preferences panel “Use mrprof command line options” text box.
  • 5923: Fixed a bug causing Profiler to emit invalid HTML characters into the HTML report file.
  • 5922: Mac OS X distribution is signed by Method R Corporation for execution on El Capitan.
  • 5916: Fixed a copyright formatting error in the application’s Get Info dialog.
  • 5913: Fixed a copyright formatting error in the application and the HTML output.
  • 5910: Profiler application launcher no longer requires JRE 1.6; will now run with JRE 1.7 or JRE 1.8.
  • 5908: Fixed a bug causing Profiler to emit invalid XML characters into the XML intermediate file.
  • 5508: Profiler application now renders properly on Mac Retina Display.

Profiler 6.0.0.35 (2014-12-26)

  • 5411: Replaced the sample trace file (the one that is profiled when you click “…or use sample file” in the application) with a new, more up-to-date, and more interesting one.
  • 5407: Fixed a bug causing the Method R logo not to render in the HTML report on IE8.
  • 5406: Profiler now shows the fully qualified input file name in the preamble and only the file basename in synthesized statement texts.
  • 5403: Fixed a bug where the Profiler kernel emitted OIOOIM05 warnings when it shouldn’t have.
  • 5402: Changed Unicode en-dashes to “..” in STDERR.
  • 5399: Improved the “errors and warnings” information in the Profile Report preamble. Previously, the “Profiler kernel warnings” category included counts from the “parse errors” and “other errors” categories, which was confusing. The new categories, “Oracle parse errors”, “Oracle other errors”, and “Profiler kernel warnings” are orthogonal.
  • 5385: Removed SHOW-OCI-NAMES feature and transform parameter.
  • 5382: Removed “Viewing characteristics” row from profile report preamble, in favor of simpler, higher-quality sizing control from the browser itself. The mrprof --javascript command line argument is no longer necessary or supported.
  • 5381: Fixed a bug in which the Profiler kernel might fail to emit all of the execution plans in a trace file for a given statement into its XML output.
  • 5375: Profiler kernel now emits the plan hash value into the XML output.
  • 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.
  • 5347: Added some warning messages that were previously undocumented to the User Guide.
  • 5346: Fixed errors in User Guide relating to the --debug option.
  • 5344: Added FNDALS warning message, which will occur if you try to profile a Mac OS X alias for a trace file.
  • 5341: The “Call count” label in section 2 is now stacked vertically (“Call<br/>count”) as it is in section 1.
  • 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.
  • 5324: Fixed a bug in which Profiler would mistakenly place a negative call duration into the call’s 0–1μs histogram bucket.
  • 5323: Profiler is now 60× faster for large input trace files.
  • 5321: Profiler now lists section 5 subsections 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.
  • 5315: Fixed a bug that caused the wrong prior version folder to be used when migrating settings.
  • 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.
  • 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.
  • 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.
  • 5202: Fixed a bug in which Oracle event names containing ‘&’ would cause Profiler to fail.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 5146: Fixed a bug in which Profiler emitted space-wasting trailing spaces in HTML class specifications.
  • 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.
  • 5126: Fixed a problem that caused Profiler to misattribute some OS call time as “CPU: unreported dbcalls”.
  • 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.
  • 5109: Fixed a bug that could allow elements to elide as “1 other <thing>s” in sections 1.2, 1.3. and 3.*.
  • 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.
  • 5107: Fixed a bug in which LOCALE=eu caused a fatal “XTDE1310: format-number picture” error.
  • 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.
  • 5097: Fixed a bug in which Profiler could identify an XCTEND call as the child of a statement that wasn’t really its parent.
  • 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”.
  • 5047: Fixed a bug in which Profiler didn’t properly scale times by 1.024 when --trcunit=1.
  • 5045: Profiler is certified to run on Mac OS X 10.9 Mavericks.
  • 5043: Fixed a problem causing some zero-duration values to be highlighted when they shouldn’t be.
  • 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.
  • 5034: Eliminated erroneous “CPU service, unreported call(s)” duration that occurred when a “SQL*Net message from client” follows an XCTEND.
  • 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.
  • 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.
  • 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.
  • 4983: Fixed a GUI bug that sometimes prevented users from being able to re-profile a trace file.
  • 4981: New GUI preference “Create shareable HTML reports” gives you control over mrprof --shareable argument.
  • 4980: Confirmed that STAT lines generated during a 12c adaptive execution plan change will render properly.
  • 4977: Fixed bind variable parsing bug that occurs for SQL text containing “--” style comments.
  • 4961: Fixed display formatting for SQL text containing “--” style comments.
  • 4959: Improved diagnostic messages for situations when the OS environment is not set up correctly.
  • 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.
  • 4949: New mrprof --shareable option (which controls the CREATE-SHAREABLE-HTML transform parameter) 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)”.
  • 4868: Fixed a bug in which profiling many files raised a partially obscured “Automatically open %d files?” dialog.
  • 4841: Improved Profiler GUI resizing constraints to prevent a user from making the GUI panel unusably small.
  • 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.
  • 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.
  • 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.
  • 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.”
  • 3241: Fixed a bug in which alternating row colors didn’t always work properly for statement text containing tab characters.
  • 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.

Profiler 5.2.8.11 (2013-01-31)

  • 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.
  • 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.
  • 4808: Fixed a documentation bug in the User Guide in which the ‘-’ character in a java -version command didn’t render properly.
  • 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.
  • 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.
  • 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.

Profiler 5.2.7.10 (2012-04-30)

  • 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)”.
  • 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.
  • 4512: Profiler version number now appears in .log file for identification during debugging.
  • 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.
  • 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.
  • 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.
  • 4285: Profiler distribution now includes favicon.
  • 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.
  • 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.

Profiler 5.2.6.6 (2011-07-13)

  • 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.
  • 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.
  • 4218: Skew analysis report totals are now correct for HTML output of Top N style reports.
  • 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.
  • 4076: SQL text will no longer contain the *** date lines from the trace file.
  • 4062: Improved documentation for --ns_per_ms=string command line option.
  • 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.
  • 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.
  • 2373: Profiler now correctly attributes “log file sync” to the previous dbcall, which is usually XCTEND

Profiler 5.2.5.1 (2011-01-17)

  • 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.

Profiler 5.2.4.0 (2010-11-09)

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

Profiler 5.2.3.0 (2010-09-10)

  • 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.

Profiler 5.2.2.0 (2010-06-11)

  • 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
  • 3773: Profiler GUI now properly honors multiple command line options in “Use p5prof command line options” widget.
  • 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.
  • 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”.
  • 3703: Linux installation details were corrected in the User Guide.
  • 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.
  • 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.
  • 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.
  • 3642: The Profiler User Guide now contains a comprehensive new section for troubleshooting Java installation problems.
  • 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.
  • 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.

Profiler 5.2.1.0 (2009-09-28)

  • Profiler now runs on Mac OS X (Intel), Linux, and Microsoft Windows XP and Vista.
  • All-new Profiler user interface greatly improves workflow and overall end-user experience.
  • 3564: Fixed rounding of syscall elapsed durations, which previously caused occasional attribution of durations to incorrect histogram buckets.
  • 3542: Made Profiler easier to install on older Windows machines.
  • 3515: Profiler is now compliant with US Federal Rehabilitation Act Section 508 Technical Standards.
  • 3497: Profiler kernel now properly processes all syscalls for SQL statements whose text is commit or rollback.
  • 3493: Profiler kernel now interprets trace lines with r=-1 values.
  • 3444: Improved rendering of SQL text containing tab characters.
  • 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).

Profiler 5.1.27.0 (2009-04-24)

  • 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.
  • 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.
  • 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.)

Profiler 5.1.26.0 (2008-11-04)

  • 3280: New prof.xml parameter SHOW-LITERAL-HIGHLIGHTING allows user to specify whether to highlight literal values in SQL text.
  • 3276: The environment variable P5_COBRAND is no longer being used, and was valid only for the 5.1.25 release.
  • 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.
  • 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.
  • 3215: New SHOW-OCI-NAMES prof.xml parameter replaces old --ocinames command line argument.

Profiler 5.1.25.0 (2008-09-29)

  • 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.

Profiler 5.1.24.0 (2008-08-29)

  • 2901: GUI now honors the setting of the P5_MAXJAVAHEAP environment variable.
  • 3121: The Profiler log file now shows the Profiler version and all pertinent environment variables in effect.
  • 3139: Fixed installation issue with the 5.1.23.0-B.exe. The .NET 2.0 framework will now be correctly installed.
  • 3141: Upgraded core to use Perl 5.10.
  • 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).
  • 3200: Profiler kernel no longer emits information about environment variables when using the --noenv command line argument.
  • 3201: Profiler now highlights anchor text only if it is a clickable link.
  • 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.

Profiler 5.1.23.0 (not released)

  • 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.
  • 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.

Profiler 5.1.22.0 (2008-03-31)

  • 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).
  • 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.
  • 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).
  • 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.
  • 2725: Users can now specify a default --maxjavaheap value in the environment variable called P5_MAXJAVAHEAP.
  • 2698: Profiler now handles arbitrarily long tim values.

Profiler 5.1.21.0 (2008-01-23)

  • 2697: Fixed a bug in which oddly-formed Oracle trace data caused the Profiler kernel to emit a <statement /> 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.

Profiler 5.1.20.0 (2008-01-07)

  • 2635: Fixed a bug that caused zombie DOS command shells to exist for the browser lifespan when viewing Profile reports.
  • 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.
  • 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).

Profiler 5.1.19.0 (2007-12-21)

  • 2599: The license file will now be checked in both the installation directory and the etc\license\ subdirectory for compatibility with all Hotsos products.
  • 2586: Corrected a reference in the User Guide to the directory to which older licenses are backed up during upgrades.
  • 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.
  • 2505: Corrected the “Support” section in the User Guide to point to our Hotsos discussion group.
  • 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.
  • 2388: Fixed a bug that prevented the “stats” link (and the corresponding statement detail section) from rendering for some ancestors of interesting cursors.
  • 2290: Added text to histogram sections (2.*) noting the min, max, and average latencies for the call being described.
  • 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.
  • 2186: Fixed a bug that caused the kernel to interpret a STAT line group with intermixed recursive dbcalls as separate STAT line groups.
  • 2118, 2119: Fixed instances where --ocinames command line option was not honored
  • 2109: Fixed “substr outside of string at p5k.pl line %d” error.
  • 2107: Matched the labels on the hotsos.com license registration form with those on the license registration dialog in the product.
  • 641: Render the total number of database buffer cache accesses into the profile report header information.

Profiler 5.1.18.0 (2007-09-14)

  • 2097: Changed visited link color to better visually distinguish visited links from unvisited ones.
  • 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.
  • 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.
  • 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.
  • 1281: Enhanced reporting of lob processing.
  • 1248: Enhanced reporting of cursor-close statistics.
  • 960: New Hotsos Profiler kernel argument --ns_per_ms allows you to specify the duration, in nanoseconds, of an Oracle “microsecond.”
  • 60, 2003, 2035: Improved attribution policy for between-call network messaging assigned to cursor slot #0.

Profiler 5.1.17.0 (2007-06-29)

  • 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.
  • 1539: New Hotsos installer-managed “Hotsos Pictogram” font eliminates the need to install “Arial Unicode MS” font to see properly rendered pictograms.

Profiler 5.1.16.0 (2007-04-03)

  • 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.

Profiler 5.1.15.0 (2007-03-16)

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

Profiler 5.1.14.0 (2007-03-02)

  • 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.
  • 711: Pictogram characters now display properly in IE7.

Profiler 5.1.13.0 (2006-08-25)

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.

Profiler 5.1.12.0 (2006-07-27)

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

Profiler 5.1.11.0 (2006-07-21)

  • 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

Profiler 5.1.10.0 (2006-06-02)

  • 1373: Profiler Output Truncated

Profiler 5.1.9.0 (2006-05-26)

  • 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

Profiler 5.1.8.0 (2006-04-21)

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

Profiler 5.1.7.0 (2006-03-24)

  • 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

Profiler 5.1.6.0 (2006-02-24)

  • Each synthetic commit and rollback statement now references the Oracle hash value of the statement that it follows.
  • 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)

Profiler 5.1.5.0 (2006-01-20)

  • 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.
  • 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?

Profiler 5.1.4.0 (2005-12-16)

  • 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”

Profiler 5.1.3.0 (2005-12-02)

  • New SHOW-CONFIDENTIALITY-LABEL profiler parameter allows users to label their profile documents as confidential company property.
  • 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

Profiler 5.1.2.0 (2005-11-08)

  • 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.
  • 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

Profiler 5.1.1.0 (2005-10-07)

  • 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

Profiler 5.1.0.0 (2005-09-16)

  • All new user interface
  • All new report format