Click here to visit the Method R Tools home page.

3.1.0.4 (2014-01-31)

General

  • 5046: Method R Tools is certified for use with Mac OS X Mavericks.

GUI

  • 4899: Fixed a bug in which the Method R Tools GUI would ignore some operations executed the first time after a GUI startup.
  • 4897: Rearranged reports list for easier navigation.
  • 1567: New reports show LIO and PIO count grouped by SQL id.

mrkey

  • 4914: New mrkey filter makes it easy to write batch scripts for mrskew where a report can drill deeper into the results produced by a prior report.

mrls

  • 5002: Added description of --start option to the manual page SYNOPSIS section.
  • 4988: Added --format option with valid values 'tab' and 'css'.
  • 4907: New --none option turns off printing of all columns except for R and FILE, so that you can additively define, from scratch, which columns you want in your output.

mrskew

  • 5187: New variable names $line_number, $file_name, $service_name, $module_name, $action_name, $session_id, $serial_number will be easier for some people to remember.
  • 5177: mrskew now recognizes pre-11g BINDS section format.
  • 5184: New txnz rc file groups trace lines by a new transaction identifier that is reset upon every occurrence of a long-latency "SQL*Net message from client" call.
  • 5182: Fixed a bug in which mrskew would append a CR on each placeholder value when processing a trace file that uses CRLF line terminators.
  • 4989: New $ssql and $ssqlid expression variables allow you to group, filter, and select using the shareable version of your SQL and PL/SQL statements.
  • 4987: Added --format, --pform, and --pfact options.
  • 4966: New $container_id expression variable allows you to group, filter, and select using the new Oracle 12c CONTAINER ID value.
  • 4925: mrskew can now read from STDIN. This is helpful for large zipped files, which you may now process with, e.g., "gunzip -c big_file.gz | mrskew --depmin=1". Note the new options --depmin and --oraver allow you to set $depmin and $version values that mrskew can't calculate when its input comes from STDIN.
  • 4915: --dashes is now the default value, to facilitate use of the new mrkey filter.

mrtimfix

  • 5008 mrtimfix: Improved warning messages, and added --show and --summary options.
  • 4994 mrtimfix: Each warning message printed to STDERR now states explicitly that the warning applies to the content of the output file.
  • 4992 mrtimfix: Removed references to "--nowait" option (which doesn't exist) and corrected mistakes in the manual page.
  • 4991 mrtimfix: New --summary and --show options provide control over a summary section that aggregates warnings by warning type.
  • 4081 mrtimfix: New warnings indicate when Oracle bugs (e.g., 7561762, 7522002) have created detectably incorrect trace file timing values.

3.0.2.3 (2013-03-12)

GUI

  • 4886: GUI: Created better diagnostics for situations in which the software hasn't been installed properly.
  • 4833: GUI: Fixed errors that occurred because of double quote delimiters used in the reports0.xml file (was a problem on Microsoft Windows only).

3.0.1.3 (2013-03-05)

General

  • 4877: all: Fixed a bug resulting in improper license creation on some Windows implementations, and improved licensing diagnostics for all platforms.
  • 4878: all: All tools now display a warning message when you use an unrecognized --dformat or --tformat value.

GUI

  • 4829: GUI: Removed report "Response time not accounted for between dbcalls by file name and line number". Because the definition of $uafbc depends on $tim1prior, which itself does not account for WAIT lines, the results of the report were unreliable.

mrcallrm

  • 4825: mrcallrm: Fixed a bug causing a timestamp line not to be adjusted properly when it immediately precedes a call line that's being removed.

mrls

  • 4869: mrls: Documentation improvements: added --end option and improved description for --details option in SYNOPSIS section; mentioned default values for --end, --start, and --units options in DESCRIPTION section. Also eliminated --nohuman option, because it is an irreversible shorthand.

mrskew

  • 4873: mrskew: mrskew now recognizes the dep value on PARSING IN CURSOR lines.

3.0.0.13 (2012-10-29)

General

Version 3 of the MR Tools suite brings with it a shiny new GUI. The command line tools are still there under the covers for your use, but the GUI now provides a simple and beautiful way to access all the command line tools with saved reports and drag and drop clarity.

  • 4631: all: Fixed a bug in which using a command like "mrskew --man | more" would fail to execute properly the first time after opening a new shell.

GUI

It may seem unusual to see bug fixes in a .0 release, but these represent the work done during beta testing, so our wonderful beta testers have some visibility into the changes.

  • 4794: GUI: Fixed a bug in which double-clicking a trace file triggered an UnsupportedOperation exception on some platforms.
  • 4782: GUI: All-new User Guide.
  • 4780: GUI: Cmd-A now selects all files in the files panel.
  • 4778: GUI: Added new Help menu items to improve access to mrls and mrskew documentation.
  • 4777: GUI: Added tool tips on script output buttons.
  • 4776: GUI: Created better visual distinction between report customization area (middle of main panel) and script output area (bottom of main panel).
  • 4775: GUI: Created a user-customizable reports.xml file that is separate from the config file containing stock reports, which will be replaced every MR Tools upgrade.
  • 4754: GUI: Updated the tutorial to reflect changes in the graphical user interface.
  • 4748: GUI: New View > Show Sample Report panel shows a sample report for each report over which you hover the cursor.
  • 4747: GUI: Double-clicking a trace file in the file panel opens that file with the default application for trace files.
  • 4744: GUI: Fixed a bug that could cause an "ExecutionException: java.lang.NullPointerException: Command is null or empty." error the first time you try to run a parameterized report.
  • 4742: GUI: Added new report "Response time by subroutine with think time removed"
  • 4740: GUI: Fixed a bug in which some of the normal "delete" keys (Del, Fn-Del, Cmd-Del, Backspace, etc.) didn't remove files from the Files panel.
  • 4739: GUI: Context menu no longer lingers and stays on top when you switch focus to another app.
  • 4738: GUI: Fixed bug in which Preferences panel "Restore Default" button closed the panel without reloading the new file.
  • 4736: GUI: Report Parameters panel can now supply a default value for a parameter, through use of the new <param default="string"/> attribute.
  • 4735: GUI: New reports.xml file takes advantage of value binding feature provided by new <param> element.
  • 4733: GUI: New undo/redo operations for file panel.
  • 4730: GUI: Made buttons and tool tips consistent on application main page.
  • 4729: GUI: Preferences "Reveal in Finder" button has been moved and iconized to diminish its appearance relative to the "Browse" and "Open" buttons.
  • 4727: GUI: Pressing Enter within the custom report text box now executes the command without requiring you to press "Run".
  • 4723: GUI: Fixed a bug in which there was no way to reach the Preferences panel on the MR Tools for Windows build.
  • 4718: GUI: Use basename($file) instead of $file in reports that use a file name in the --group expression, to narrow the output.
  • 4711: GUI: New <param> element in reports.xml file allows you to bind values to tokens, which means you can specify values to use in specific reports at report run-time.
  • 4710: GUI: New design integrates custom reporting into the front page of the application, minimizing clicks and maximizing workflow efficiency.
  • 4709: GUI: Script output window "Save As", "Copy to Clipboard", and "Clear" buttons are deactivated if the script output panel is empty.
  • 4708: GUI: Hover hint over "Run Report" button helps you remember to select some files if no files are chosen.
  • 4707: GUI: New Preferences panel "Reveal in Finder" button makes it easy to open a Finder/Explorer window containing the Reports File.
  • 4706: GUI: New preferences panel "Restore Default" button resets the Reports File back to the content shipped that was with the product.
  • 4705: GUI: GUI saves script output between GUI sessions.
  • 4702: GUI: MR Tools now ships with a sample trace file so you can get started using it right away, without even having to collect your own trace data.
  • 4698: GUI: Preferences panel "OK" button now has default focus, which makes it easier to reload new report.xml file contents.
  • 4697: GUI: Starting the GUI with a bad reports.xml file now shows error dialog and automatically pops the Preferences dialog.
  • 4696: GUI: Preferences panel will report the specific XML parsing error if the reports.xml file is syntactically invalid.
  • 4517: GUI: New MR Tools graphical user interface makes it easier to access commonly used reports and execute them upon saved groups of trace files.

mrls

  • 4721: mrls: Manual page explains negative recursive depth values in --dep output.
  • 4627: mrls: Accurized trace file processing functions to give more precise start and end times.
  • 4626: mrls: Left-align START and END column names.
  • 4622: mrls: When using --tformat=iso8601, render timezone "-0000" to denote that the UTC time is known, but the local offset is not.
  • 4621: mrls: --oraver option renamed to --ora to match the ORA column name. -o still works as before.
  • 4620: mrls: Invalid --sort options now cause mrls to die rather than run silently with a sort on R.
  • 4618: mrls: New --dashes option.
  • 4614: mrls: New default value is --noend, which significantly clears the clutter of the default mrls output.
  • 4613: mrls: New --start and --end options allow you to include or omit the START and END columns.
  • 4611: mrls: Fixed a bug in which, e.g., "mrls file.trc --details --nocpu" would render CPU column regardless of the --nocpu option specification.
  • 4610: mrls: The --csv option sets --precision=6, but now mrls honors your --precision=n value if you specify it on the command line after --csv.
  • 4423: mrls: Refactored rendering code to create opportunity for new features and tools.
  • 4422: mrls: New SIZE column shows size of file in bytes. New --[no]size option controls whether it appears.
  • 4380: mrls: mrls no longer gives a false negative warning "estimating task minimum dep value" when --scanmax is set to a value at least half as big as the number of lines in the input file.

mrskew

  • 4770: mrskew: LOBREAD and other dbcalls with no explicit cursor id value now use a non-zero value (-2) so that these calls don't group with the same cursor id as explicit cursor #0 calls.
  • 4762: mrskew: RPC BINDS sections now populate new @bind (and $bind[i]) expression variable.
  • 4761: mrskew: New --rc=all file gives a convenient shorthand for commonly used "--name=all --where1=1 --top=0 --sort=1na --nohistogram" command line options group.
  • 4757: mrskew: Users can now use basename, dirname, and fileparse functions in mrskew expressions.
  • 4756: mrskew: GUI "Response time not accounted for between dbcalls by file name and line number" report now uses the Perl basename() function upon $file in the --group expression, so the resulting report is not so wide.
  • 4722: mrskew: Manual page now mentions that --rc=mrnl is expensive and should normally be used only with a filter to restrict the number of lines to include in the output.
  • 4712: mrskew: New $parse_id and $exec_id expression variables allow grouping of sets of calls, which allows you to approximate end-user experience measurements even in uninstrumented applications.
  • 4628: mrskew: Fixed documentation bug that referred incorrectly to the file name "p10.rc" instead of simply "p10".
  • 4544: mrskew: Fixed a bug in which mrskew rendered "file '%s' is not a plain text file" when it should render "file '%s' does not exist.
  • 4529: mrskew: Corrected man page description of --where default value in $af entry of Expression Variables section.
  • 4527: mrskew: New --plabel permits renaming of '%' column, and --csv output now renders percentages like "12.3%" as "0.123456".
  • 4503: mrskew: Improved documentation for replacing Unicode characters in rc files on systems that do not properly render them.
  • 4309: mrskew: New @bind and $bind[i] expression variables associate placeholder variable values with dbcalls and syscalls. Now you can answer questions like, “Which set of bind values caused my executions and fetches to consume the most response time?”
  • 4057: mrskew: RPC EXEC lines now have access to $cursor_id, $hv, $sqlid, $sql values set by the most recent RPC CALL line.

mrcallrm

  • 4466: mrcallrm: Enhanced documentation to mention that Oracle timestamps in the input are converted to ISO 8601 timestamps in the output.

2.1.0.8 (2011-12-01)

General

  • 4413: New MRTOOLS_RCPATH variable specifies directories to search for files in --rc options.
  • 4158: --verbose option now includes a section showing details about rc file processing.

mrls

  • 4427: mrls: New --head option replaces --heading.

mrnl

  • 4499: mrnl: mrnl is no longer distributed. Its functions have been subsumed by "mrskew --rc=mrnl".

mrskew

  • 4506: mrskew: Added documentation about platform-specific line continuation characters.
  • 4504: mrskew: --verbose now takes its default value from MRTOOLS_VERBOSE environment variable, which allows you to trace --rc processing.
  • 4503: mrskew: Improved documentation for replacing Unicode characters in rc files on systems that do not properly render them.
  • 4497: mrskew: New shorthands: --g for --group, --n for --name, --s for --select, --w for --where, --w1 for --where1.
  • 4496: mrskew: Created new --rc file called mrnl that mimics mrnl but with superior speed.
  • 4495: mrskew: New --where1 option with default value --where1='$dep==$depmin' allows you to use --where clause without having to remember to filter on recursive depth.
  • 4494: mrskew: Corrected an error in which --name=x doesn't match --where='$dep==$depmin and $name eq "x"'
  • 4491: mrskew: Renamed $uaf variable to $uafwc (unaccounted-for within calls) to match new variable called $uafbc (unaccounted-for between calls).
  • 4426: mrskew: New --head and --foot options replace old --heading and --totals.
  • 4421: mrskew: New --separator option allows you to specify what string to use in separating output columns.
  • 4418: mrskew: No longer prints zero values for DURATION, %, and CALLS when call count is 0; the resulting output is much cleaner and faster for human brains to grok.
  • 4417: mrskew: We now distribute rc files that perform sophisticated grouping operations with a simple --rc=filename option specification.
  • 4416: mrskew: New --init option allows you to specify code to run in advance of the file processing.
  • 4414: mrskew: All-new --sort option syntax allows for multicolumn sorts in a compact notation that allows for type semantics (numeric or string) specification and ordering (descending or ascending) for each column. Deprecated --reverse and --noreverse.
  • 4412: mrskew: Deprecated --ebucket option, which was merely an inflexible means of accomplishing tasks that can be accomplished with the --group option.
  • 4411: mrskew: Renamed --label-group to --glabel, with shorthand --gl; renamed --label-select to --slabel, with shorthand --sl.
  • 4407: mrskew: New --csv option.
  • 4406: mrskew: New --commas option uses commas in number formatting.
  • 4382: mrskew: Fixed a bug causing large negative --select column values to misalign.
  • 4383: mrskew: New variables $tim0, $tim1, $tim1prior, and $uafbc allow for inspection of between-call unaccounted-for time.
  • 4189: mrskew: Refactored rendering code to create opportunity for new features and tools.

mrtim

  • 4433: mrtim: Revised upper bound for valid date ranges to 2038-01-17T00:00:00.999999Z.

 

2.0.6.0 (2011-08-26)

mrskew

  • 4393: mrskew: New --reverse option allows for sort inversion. Note that the default sort order when using --sort options that sort on column 1 now default to descending (--reverse) order.

 

2.0.5.0 (2011-08-24)

mrls

  • 4377: mrls fixed alignment of FILE column heading.
  • 4375: mrls now estimates DEP value more accurately.
  • 4368: mrls improved performance significantly for certain files. Internal testing shows >1,400x performance improvement for one very large file with no dep=0 call values in it.
  • 4353: mrls will now throw a warning to STDERR when its START time is an estimate. Use --scanmax=0 to tell mrls to be more accurate, but note that this will take more time for larger files.

mrskew

  • 4388: mrskew fixed problem where non-call lines didn't select in --where expressions properly.
  • 4381: mrskew fixed illegal division by zero at mrskew.pl line 699 when using --select='$row'.
  • 4373: mrskew now properly interprets RPC lines as having $dep==0.
  • 4371: mrskew improved accuracy of profile output (default option) for large files containing no dep=0 dbcalls.

 

2.0.4.0 (2011-06-24)

General

  • 4239: Man pages (--man option) are now aware of terminal width.

mrskew

  • 4250: mrskew --sort numeric options (e.g., --sort=1n) now sort numeric and non-numeric data without nagging about data types.
  • 4245: mrskew now interprets DOS-format \r\n-terminated $text values correctly.
  • 4244: mrskew clarified documentation of --name command line argument.
  • 3999: mrskew new $sql expression variable allows grouping and filtering upon SQL text.

 

2.0.3.0 [beta-3] (2011-05-13)

General

  • 4197: RPC EXEC calls now influence calculation of $depmin.
  • 3704: Copy and paste of examples from online documentation now works without drama.

mrskew

  • 4236: mrskew --sort option now takes a column number.
  • 4235: mrskew documentation corrected in descriptions of --label-group and --label-select.
  • 4234: mrskew first column heading now defaults to "CALL-NAME" if --group='$name'; otherwise, column heading is simply 'expr' from --group='expr'.
  • 4233: mrskew --select option allows you to report on different expressions than just DURATION. Simplified definition of $c, $e, and $ela expression variables, and added new expression variables $af, $uaf, and $dur.
  • 4231: mrskew now uses "hv=$hv" as $sqlid value if $hv is available and there's no $sqlid value (as in pre-11gR1 trace data).

mrls

  • 4202: mrls now emits a warning to stderr and the value "*" when it tries to render a date that's beyond what the Perl time & date libraries can handle.
  • 4200: mrls recognizes Oracle8 "2001.06.06.17.02.10.000" timestamp format.

mrtim

  • 4204: mrtim now prints "*" on stdout whenever the input tim value is out of range.

 

2.0.2.0 [beta-2] (2011-04-21)

General

  • 4198: Fixed documentation to reflect that Oracle no longer uses 1,024-ns microseconds on some ports after version 11.2.0.1.
  • 4190: Tools now run on MSWin32 operating systems.
  • 4188: Tools now cascade through .product.rc files in the user's home directory and the user's current working directory unless disabled with --norc. Specifying --rc=filename on the command line no longer prevents the processing of options in those .product.rc files.
  • 4187: The .rc file parser now recognizes [optional] end-of-line '\' as a line continuation character.
  • 4142: Version number set to 2.0.2.0.

mrskew

  • 4199: mrskew fixed bug causing --group='$ad' to emit "Use of uninitialized value" errors.
  • 4196: mrskew now sets the value of $dep for WAIT lines to $depmin instead of 0.

 

2.0.1.0 [beta-1] (2011-04-12)

General

  • 3631: New more granular --verbose=n option.
  • 3623: Updated EULA.
  • 3597: Fixed bug in which tools wouldn't search deeply enough into a trace file to find the earliest dbcall in the file for files such as those generated by ILO.

mrcallrm

  • 3362: mrcallrm new tool removes dbcalls or syscalls from specified lines, adjusting tim and timestamp values appropriately.

mrls

  • 4181: mrls new --dep option.
  • 4180: mrls now report on timezones.
  • 4172: mrls new --tz option allows user to specify a time zone to use for printing time stamps.
  • 4131: mrls default is now --noreverse. Secondary sort order is filename ascending.
  • 4129: mrls new --dep option shows a file's top-level recursive depth.
  • 4103: mrls new SEC/TIM, EPOCH, and M columns reveal details of tim-to-time conversion for each file.
  • 4048: mrls if a trace file has no preamble, mrls will equate the first tim to the file's mtime instead of ctime.
  • 3978: mrls new default --noall avoids hidden directories (directories whose names begin with '.'); you can override with --all (or -a).
  • 3666: mrls fixed ungraceful fail on 'mrls f.zip'.

mrskew

  • 4179: mrskew no longer allows input in any form other than plain text files; this allows the code to calculate trace file metadata accurately for all allowable inputs.
  • 4130: mrskew has new $depmin expression variable, and new --where default value is '$dep==$depmin'.
  • 4098: mrskew has new --vwidth option that allows you to limit the width of the VALUE column, which can make it easier to paste mrskew output into documents and slides.
  • 4095: mrskew fixed --trcunit option, which previously did nothing.
  • 4094: mrskew has new --precision option.
  • 4086: mrskew now uses minimal necessary widths for numerical columns.
  • 4079: mrskew fixed bug in which VALUE column width calculation considered rows elided by --top.
  • 4056: mrskew new option to sort by VALUE column numerically (e.g., when sorting --group='$line') in addition to pre-existing alphabetical sort.
  • 4055: mrskew now recognizes RPC EXEC calls.
  • 4045: mrskew fixed bug causing --usage option to malfunction.
  • 4042: mrskew has new expression variables: $service, $serv, $module, $mod, $action, $act, $session_id, $sid, $serial, $version, $v, $os, $sqlid, $ad, $call, $t.
  • 4041: mrskew fixed bug in which --where expressions containing "and" or "or" evaluated incorrectly.
  • 4039: mrskew now matches XCTEND dbcalls and provides new expression variables $rlbk and $rd_only.
  • 4037: mrskew now matches LOBREAD, LOBARRTMPFRE, etc. dbcalls.
  • 4031: mrskew has new --[no]histogram option that controls whether DURATION, CALLS, MEAN, MIN, MAX columns are rendered into the output.
  • 4000: mrskew fixed bug in which --name option values did not match case insensitively.
  • 3968: mrskew has new --ebucket option that produces a histogram grouped on a logarithmic scale by $ela value. Specifying --group='' is no longer allowed.
  • 3965: mrskew has new --sort option that allows you to sort on any output column you want.
  • 3964: mrskew new --name=all option enables matching for all trace file lines (not just lines with dbcalls or syscalls on them).
  • 3961: mrskew $call is a new alias for $name, $nam.
  • 3960: mrskew now recognizes $ad field in PARSING IN CURSOR lines.
  • 3953: mrskew fixed bug in which $text value wasn't available within --group expressions.
  • 3952: mrskew new default option values are --name='.+' --group='$name' --where='$dep==$depmin', which produces a standard accounted-for response time profile by subroutine call.
  • 3951: mrskew now matches CLOSE calls.
  • 3946: mrskew now matches the new 11g sqlid field.
  • 3702: mrskew removed line number from aggregation key when grouping with '$hv' or '$sqlid' for cursors that don't have a PARSING IN CURSOR section to define a real hv or sqlid value.
  • 3683: mrskew improved performance of non-trivial --where and --group clause processing by about 30%.

mrtim

  • 4067: mrtim new tool converts tims to timestamps and vice versa.

mrtimfix

  • 3917: mrtimfix new tool repairs Oracle trace files afflicted by an Oracle kernel bug that uses 1000-ns tim values for syscalls and 1024-ns tim values for dbcalls.

 

1.0.0 (2009/10/01)

mrls

  • mrls new tool creates Unix ls-style summarizations of Oracle trace files.

mrnl

  • mrnl new tool tracks time line-by-line within an Oracle trace file.

mrskew

  • mrskew new tool creates flexible, variable-dimension profiles.