<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -8,6 +8,11 @@ module Fiveruns
     RULES = []
     
     class &lt;&lt; self
+      
+      def host
+        ::Fiveruns::Dash.host
+      end
+      
       def replacements
         @replacements ||= begin
           paths = {
@@ -24,11 +29,11 @@ module Fiveruns
       end
 
       def system_gempaths
-        `gem environment gempath`
+        host.result :gem, 'environment gempath', :bat
       end
-    
+
       def system_paths
-        `ruby -e 'puts $:.reject{|p|p==&quot;.&quot;}.join(&quot;:&quot;)'`
+        host.result :ruby, %(-e 'puts $:.reject { |p| p == &quot;.&quot; }.join(&quot;:&quot;)'), :exe
       end
 
       def regexp_for_path(path)
@@ -46,6 +51,7 @@ module Fiveruns
       def add_ignore_rule(&amp;rule)
         RULES &lt;&lt; rule
       end
+      
     end
 
     def initialize(session)</diff>
      <filename>lib/fiveruns/dash/exception_recorder.rb</filename>
    </modified>
    <modified>
      <diff>@@ -65,6 +65,15 @@ module Fiveruns::Dash
     def execute_on_windows(&amp;block)
       block.call if RUBY_PLATFORM =~ /win32|i386-mingw32/
     end
+    
+    def result(command, args, windows_ext=nil)
+      name = if windows_ext &amp;&amp; os_name_match?(:windows)
+        &quot;#{command}.#{windows_ext}&quot;
+      else
+        command.to_s
+      end
+      `#{name} #{args}`
+    end
 
     def hostname
       @hostname</diff>
      <filename>lib/fiveruns/dash/host.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,34 +1,41 @@
 Fiveruns::Dash.register_recipe :ruby, :url =&gt; 'http://dash.fiveruns.com' do |metrics|
-  metrics.absolute :vsz, 
-    &quot;Virtual Memory Usage&quot;, &quot;The amount of virtual memory used by this process&quot;, 
-    :unit =&gt; 'kbytes', :scope =&gt; :host do 
-    Integer(`ps -o vsz -p #{Process.pid}`[/(\d+)/, 1])
-  end
-  metrics.absolute :rss, &quot;Resident Memory Usage&quot;, 
-    &quot;The amount of physical memory used by this process&quot;, 
-    :unit =&gt; 'kbytes',
+  
+  # TODO: Support Windows
+  Fiveruns::Dash.host.execute_on_unix do
+  
+    metrics.absolute :vsz, 
+      &quot;Virtual Memory Usage&quot;, &quot;The amount of virtual memory used by this process&quot;, 
+      :unit =&gt; 'kbytes', :scope =&gt; :host do 
+      Integer(`ps -o vsz -p #{Process.pid}`[/(\d+)/, 1])
+    end
+    metrics.absolute :rss, &quot;Resident Memory Usage&quot;, 
+      &quot;The amount of physical memory used by this process&quot;, 
+      :unit =&gt; 'kbytes',
+      :scope =&gt; :host do
+      Integer(`ps -o rss -p #{Process.pid}`[/(\d+)/, 1])
+    end
+    metrics.percentage :pmem, 
+    &quot;Resident Memory Usage&quot;, 
+    &quot;Percentage of Resident Memory Usage&quot;, 
     :scope =&gt; :host do
-    Integer(`ps -o rss -p #{Process.pid}`[/(\d+)/, 1])
-  end
-  metrics.percentage :pmem, 
-  &quot;Resident Memory Usage&quot;, 
-  &quot;Percentage of Resident Memory Usage&quot;, 
-  :scope =&gt; :host do
-    Float(`ps -o pmem -p #{Process.pid}`[/(\d+\.\d+)/, 1])
-  end
+      Float(`ps -o pmem -p #{Process.pid}`[/(\d+\.\d+)/, 1])
+    end
 
-  if RUBY_PLATFORM == 'java'
-    Fiveruns::Dash.logger.warn &quot;Cannot collect CPU usage data on JRuby&quot;
-  else
-    metrics.percentage :cpu, 
-      'CPU Usage', 
-      'Percentage CPU Usage',
-      :scope =&gt; :host do
-      before = Thread.current[:dash_utime] ||= Process.times.utime
-      after = Process.times.utime
-      this_minute = after - before
-      Thread.current[:dash_utime] = after
-      (this_minute / 60) * 100.00
+    if RUBY_PLATFORM == 'java'
+      Fiveruns::Dash.logger.warn &quot;Cannot collect CPU usage data on JRuby&quot;
+    else
+      metrics.percentage :cpu, 
+        'CPU Usage', 
+        'Percentage CPU Usage',
+        :scope =&gt; :host do
+        before = Thread.current[:dash_utime] ||= Process.times.utime
+        after = Process.times.utime
+        this_minute = after - before
+        Thread.current[:dash_utime] = after
+        (this_minute / 60) * 100.00
+      end
     end
+    
   end
+  
 end</diff>
      <filename>recipes/ruby.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>53e514ee9951b17384f4bddbb19e71e18a21e62d</id>
    </parent>
  </parents>
  <author>
    <name>Bruce Williams</name>
    <email>bruce@codefluency.com</email>
  </author>
  <url>http://github.com/fiveruns/dash-ruby/commit/f7b8f0a9b420c3f3b65f916b741e0cce8808dbd1</url>
  <id>f7b8f0a9b420c3f3b65f916b741e0cce8808dbd1</id>
  <committed-date>2009-03-18T13:01:07-07:00</committed-date>
  <authored-date>2009-03-18T13:01:07-07:00</authored-date>
  <message>Basic Windows compatibility pass</message>
  <tree>b4ea80c65792d4b2d63c7adbec9c2a54c13ef8b7</tree>
  <committer>
    <name>Bruce Williams</name>
    <email>bruce@codefluency.com</email>
  </committer>
</commit>
