Method-R Tools

July 25th, 2011

It’s rare to find professional level tools  that are written by the people who use them. Most professional tools are written by teams of people who have little idea of how they are used and many users write tools that never reach a professional level. Thus it is a  pleasure to see the tools put out by Method R  with Cary Millsap and Jeff Holt.  Jeff and Cary have been well known in the industry for their work and contributions to the world of Oracle performance tuning. With Method R tools  they not only share their know how and  tools they use to tune systems, but they have polished them  into solid, clean , tight professional level tools that are dependable, high quality and written with integrity.

See: Pythians Blog on Method-R tools

Method R Tools

  1. MR Trace ($49.95) – automatically creates, collects and manages trace files for queries run in Oracle’s  SQL Developer using extended tracefile options targeted at collecting pertinent performance information for optimizing SQL statements.
  1. MR Tools (starting at $397)

mrskew – your trace file profiler and data miner, the core MR Tools product, check out Karl Arao’s examples

other tools

  • mrls – trace file lister, examples, list trace files sorted by  LIO or sorted by rows returned
  • mrcallrm – trace file cropper – retaining required info and filtering undesired

Trace file timings:

  • mrtim – timestamp converter
  • mrtimfix – your trace file tim value fixer, fix 11gR1 bug in trace files & change timing to UNIX epoch
  • mrnl – pre-pend lines in trace with line #, time, duration and other options as well
  1.  Method R Profiler (starting at $1,180) 

Is like the gold standard for the Method R tools . The profiler takes all the know how and analysis and wraps  it up in a clean crisp html UI that makes for easy browsing , exploration and analysis

I look forward to blogging soon on some of the innovative and powerful features of Method R Profiler

 

A quick summary of things in the report

 

1. Task-Level Profiles
1.1 Profile by subroutine
   subroutines:
     events like:
      db file sequential read
      db file scattered read >
   spark line
   table , each line is a bucket between 1us - 1000 secs, orders of 10
      call count
      total seconds
2.2 next subroutine

3. Contribution to Subroutine by Statement
3.1 Statement Contributions to <>
     statement text (with sql hash)
       seconds duration
       count
       mean
       min
       max
     drill down to stats
3.2 next subroutine

4. Statement Detail
4.1 Statement Report for <>
   Oracle hash value:
   Full statement text: drilldown
   Re-use: # distinct text
   Text size: x lines, y bytes
   # of distinct plans: X
   Optimizer goals:
   response time contribution:
4.1.1 Profile by Contribution to Parent Cursor
4.1.2 Profile by Subroutine
     waits, CPU, time by
     seconds, count, mean, min, max, skew sparkline
4.1.3 Profile by Database Call
      for
        FETCH
        beween calls
        EXEC
        PARSE
        cursor close
     show
       seconds
       CPU
       rwos processed
       bufer cache access total
         CR
         CU
      PIOs
      Library cache misses
4.1.4 Execution Plans and Placeholder Values
      Execution plan
        seconds for row !
        seconds including descendents
        rows returned
        CR LIOs
        PIOs read
        PIOs writes
4.1.5 Statement Text
4.2 ... next statement ...
5. Configuration information


Uncategorized

  1. Trackbacks

  2. No trackbacks yet.
  1. Comments

  2. Jeremy Schneider
    July 26th, 2011 at 15:15 | #1

    Just last week I was helping a customer with a 70TB warehouse… they had worked for 2 months to get several reports which ran for 30 hrs+ down to 6 or 7 hrs. The M-R Profiler helped me get several of these reports to 2 hours during my second day on-site; and another of these reports down to 30 minutes on my fifth day.

    The method itself doesn’t require the tool. Sometimes I’m a little conflicted… personally I want to try not to push commercial stuff too much; or rather, I want to always give tips which anyone can use — regardless of whether their company decides to invest in tool X. It *is* possible to do Method R with tkprof or the free orasrp tool. I’d really like to start doing a few write-ups of how to get the most value possible out of the free stuff, which everyone has access to. And I think it’s vitally important for our professional field that free tools continue to be available which support the best methods of doing our jobs (though it’s fine if the free tools lag a little behind the paid alternatives). I do hope that the Method R folks keep coming up with new ground-breaking improvements to their product, so that their older achievements can slowly get into free products to support our professional field. (Note to developers: please respect the Method-R folks’ amazing innovation! And note to the awesome folks at Method-R: please don’t ever turn into greedy patent monsters, and be as aggressive as you can in supporting our field while maintaining the revenue you need!)

    And of course it’s the method that’s truly revolutionary… and the M-R trace tool just supplements this method. (My personal summary of Method-R: tuning _always_ starts with some kind of tracing, quantifying everything in terms of the total time and translating into business terms. Period. Oh yeah, and step 2: immediately fire any big-name consultant who tells you different.) The method is the most important thing that everyone needs to start doing… regardless of whether or not they buy this particular tool.

    But damn… the M-R profiler is a hot piece of software. :) Definitely nice design and coding there. I find it extraordinarily useful. For larger organizations, I think it’s definitely worth the investment.

  3. Cary Millsap
    May 17th, 2013 at 21:48 | #2

    I really appreciate the time you guys have spent using and describing our software; thank you!

    Notice that our Profiler price is quite a bit lower now than when this article was written.

    Details are available at http://method-r.com/store.


× one = 2