<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Scout ~ The Blog</title>
    <link>http://blog.scoutapp.com/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Scout ~ The Blog</description>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/scoutapp" type="application/rss+xml" /><item>
      <title>Scout Agent Updated - and do your Net::HTTP calls ever hang?</title>
      <description>&lt;p&gt;&lt;strong&gt;UPDATED 6/30&lt;/strong&gt; &amp;#8211; The fix for the old scout client (run via cron) is now available in version 2.0.7 (sudo gem install scout).&lt;/p&gt;


	&lt;p&gt;In rare (and difficult to reproduce) cases we&amp;#8217;ve seen the Scout Agent not observe a Timeout during a checkin error with the Scout server. Scout uses Ruby&amp;#8217;s &lt;a href="http://rest-client.heroku.com/rdoc/"&gt;RestClient gem&lt;/a&gt; to connect to the Scout Server and it uses the standard &lt;a href="http://www.ruby-doc.org/stdlib/libdoc/net/http/rdoc/index.html"&gt;Net::HTTP&lt;/a&gt; library to manage the connection. Some versions of the Net::HTTP library can run into &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=265429"&gt;a bug in IO.select() on some platforms&lt;/a&gt;.  This causes the request to hang forever in some rare cases.&lt;/p&gt;


	&lt;p&gt;Our fix? We added a redundant Timeout for the request, in addition to Net::HTTP&amp;#8217;s own Timeout.  You have to be careful how you nest those calls though, since they will throw the same Exception by default.  We followed &lt;a href="http://blog.segment7.net/articles/2006/04/11/care-and-feeding-of-timeout-timeout"&gt;Eric Hodel&amp;#8217;s advice&lt;/a&gt; to get our implementation right.&lt;/p&gt;


	&lt;p&gt;If you&amp;#8217;re using Net::HTTP and notice the same issue, try adding a redundant Timeout with a custom halting Exception (our committed fix for this is &lt;a href="http://github.com/highgroove/scout_agent/commit/8352c4c78287e05cc59a5d74bb42163ff779067e"&gt;on github&lt;/a&gt;).&lt;/p&gt;


	&lt;p&gt;This fix is included in version 3.2.6 of the Scout Agent. We&amp;#8217;re planning on backporting the fix to the old client &lt;strike&gt;late next week&lt;/strike&gt; (available now). Follow our &lt;a href="http://twiiter.com/scoutapp"&gt;Twitter feed&lt;/a&gt; to stay updated with the latest releases.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/E8ylojNpYrA" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 30 Jun 2009 11:47:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/06/30/scout-agent-updated-and-do-your-net-http-calls-ever-hang</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/E8ylojNpYrA/scout-agent-updated-and-do-your-net-http-calls-ever-hang</link>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/68</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/06/30/scout-agent-updated-and-do-your-net-http-calls-ever-hang</feedburner:origLink></item>
    <item>
      <title>On Sinatra</title>
      <description>&lt;p&gt;&lt;a href="http://www.sinatrarb.com/"&gt;Sinatra&lt;/a&gt;, a Ruby &lt;span class="caps"&gt;DSL&lt;/span&gt; for quickly creating web applications with minimal effort, forms a key part of the Scout infrastructure.&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://twitter.com/jeg2"&gt;James Gray&lt;/a&gt; talks about how we use Sinatra at Scout via &lt;a href="http://rubylearning.com/blog/2009/06/29/20-rubyists-using-sinatra-do-you/"&gt;RubyLearning.org &amp;#8211; 20+ Rubyists are using Sinatra – Do you?&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;For more on how Scout works:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://blog.scoutapp.com/articles/2009/06/22/a-tour-of-scouts-ruby-on-rails-monitoring-plugin"&gt;A tour of Scout&amp;#8217;s Ruby on Rails Monitoring Plugin&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.scoutapp.com/articles/2009/05/11/interview-on-akitaonrails-com"&gt;Interview on akitaonrails.com&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://blog.scoutapp.com/articles/2009/03/27/scout-2-0-behind-the-scenes-on-the-ruby-on-rails-podcast"&gt;Scout 2.0 Behind the Scenes on the Ruby on Rails Podcast&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/a3aFF-7X7V8" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 29 Jun 2009 11:42:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/06/29/sinatra-scout-ruby</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/a3aFF-7X7V8/sinatra-scout-ruby</link>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/67</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/06/29/sinatra-scout-ruby</feedburner:origLink></item>
    <item>
      <title>Rails Machine selects Scout for Performance Monitoring</title>
      <description>&lt;p&gt;&lt;a href="http://railsmachine.com/"&gt;Rails Machine&lt;/a&gt;, one of the first specialized
Rails hosting providers, has selected &lt;a href="http://scoutapp.com"&gt;Scout&lt;/a&gt; for
performance monitoring.&lt;/p&gt;


	&lt;p&gt;Why Scout? &amp;#8220;Scout&amp;#8217;s versatility was a key benefit: &amp;#8220;the open-source
plugins are the killer app of Monitoring,&amp;#8221; says Rails Machine &lt;span class="caps"&gt;CEO&lt;/span&gt;
&lt;a href="http://twitter.com/bradleyktaylor"&gt;Bradly Taylor&lt;/a&gt;. &amp;#8220;We have so much flexibilty&amp;#8212;and we&amp;#8217;ll be
contributing some great plugins back to the community.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;&amp;#8220;With Scout, we have the full picture &amp;#8211; Rails, MySQL, &lt;span class="caps"&gt;CPU&lt;/span&gt;, Memory, IO,
and Disk Usage &amp;#8211; all in one dashboard. You can&amp;#8217;t beat that,&amp;#8221; said
&lt;a href="http://twitter.com/jnewland"&gt;Jesse Newland&lt;/a&gt;, Senior Engineer at Rails Machine.&lt;/p&gt;


	&lt;p&gt;Rails Machine, which recently launched a Managed Hosting offering,
finds Scout particularly useful for proactively managing customer
accounts. &amp;#8220;Scout&amp;#8217;s trend detection have more than once caught an
application&amp;#8217;s jump in memory usage due to RMagick-based image
uploads/resizes,&amp;#8221; says Newland. &amp;#8220;We&amp;#8217;ve been able to jump in, restart
Apache, and then proposing alternatives to customers. It&amp;#8217;s much better
than a server running out of a memory minutes later.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;Scout is included with Rails Machine&amp;#8217;s new Managed Hosting service
which does everything but write the code &amp;#8211; from MySQL tuning to
backups to performance monitoring. Self-managed customers can request a coupon for a free Basic Scout subscription or $14/off a
larger plan. &lt;a href="http://blog.railsmachine.com/articles/2009/06/25/free-scout-monitoring-for-customers/"&gt;See the announcement on the Rails Machine blog&lt;/a&gt; for more details.&lt;/p&gt;


	&lt;p&gt;From the original five-minute Rails
deployment gem, the &lt;a href="http://github.com/railsmachine/railsmachine/tree/master"&gt;Rails Machine
gem&lt;/a&gt;, to
&lt;a href="http://github.com/railsmachine/moonshine/tree/master"&gt;Moonshine&lt;/a&gt;, an
open source configuration management and deployment system, Rails
Machine understands automating system administration. Combining
Scout&amp;#8217;s proactive approach to monitoring with Rails Machine&amp;#8217;s
encyclopedia-like knowledge-base for scaling Rails apps is a perfect
combination for managed hosting.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/7djsi8vdd1Y" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 25 Jun 2009 14:14:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/06/25/rails-machine-selects-scout-for-performance-monitoring</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/7djsi8vdd1Y/rails-machine-selects-scout-for-performance-monitoring</link>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/66</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/06/25/rails-machine-selects-scout-for-performance-monitoring</feedburner:origLink></item>
    <item>
      <title>A tour of Scout's Ruby on Rails Monitoring Plugin</title>
      <description>&lt;p style="float:right"&gt;&lt;img src="http://img.skitch.com/20090615-xc1hcbpqgwhqhjxj3c3cb6w2qq.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Curious how data moves from your Rails app to Scout? Wondering how Scout handles high-traffic Rails apps? Where does Scout add MySQL suggestions? How are alerts generated? I&amp;#8217;ll guide you through the process below.&lt;/p&gt;


	&lt;h2&gt;Logging each web request&lt;/h2&gt;


	&lt;p&gt;At a basic level, Scout&amp;#8217;s Rails benchmarking isn&amp;#8217;t much different than what gets written to your Rails log. Instead of writing to a log file, the &lt;a href="http://scoutapp.com/plugin_urls/131-ruby-on-rails-monitoring"&gt;Scout Rails Instrumentation plugin&lt;/a&gt; sends a Hash to the Scout Agent like the one below:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
{:num_requests=&amp;gt;2, :avg_request_time=&amp;gt;241.0, :actions=&amp;gt;
{"users/index"=&amp;gt;{:db_runtime_max=&amp;gt;156.152, 
:num_requests=&amp;gt;2, :render_runtime_avg=&amp;gt;8.59355926513672, :render_runtime_max=&amp;gt;8.73303413391113, 
:runtime_avg=&amp;gt;241.0, :other_runtime_avg=&amp;gt;77.4774407348633, 
:queries=&amp;gt;[[[156.152, 0]], [[153.706, 0]]], :runtime_max=&amp;gt;243.0, 
:other_runtime_max=&amp;gt;78.1149658660889, :db_runtime_avg=&amp;gt;154.929}}, 
:queries=&amp;gt;["SELECT * FROM \"users\""], 
:scout_time=&amp;gt;"Mon Jun 15 21:04:00 UTC 2009"}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;These messages are sent to the Scout Agent every 30 seconds by the Scout#Reporter.report! method:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
response = ScoutAgent::API.queue_for_mission(Scout.config[:plugin_id], report)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The instrumentation runs in a background thread that is only active when reporting to the agent, and since the queuing process is asynchronous once the data has been prepared, the impact on performance is negligible. We&amp;#8217;ve benchmarked the impact between 1ms-3ms with a small memory requirement (1 MB).&lt;/p&gt;


	&lt;h2&gt;Running the Instrumentation Plugin&lt;/h2&gt;


	&lt;p&gt;Every three minutes, the agent collects the messages sent to the agent, analyzes &amp;#38; aggregates the data, and sends the results to Scout.&lt;/p&gt;


	&lt;h3&gt;Aggregation&lt;/h3&gt;


	&lt;p&gt;A large Rails application can process a lot of requests &amp;#8211; for example, a Rails app with 50 web processes may result in up to 300 messages queued to Scout. If we needed to process every request on our server, our hardware cost would dramatically increase for high-traffic Rails apps.&lt;/p&gt;


	&lt;p&gt;Enter the Scout Agent.&lt;/p&gt;


	&lt;p&gt;Instead of sending reports directly from your Rails app to our server, the agent steps in between to decrease the load. The agent creates a single report for each action that contains the minimum, maximum, and average for each benchmark as well as the number of requests. No matter how large or how small the Rails application is, Scout generates just 1 report for each unique action &amp;#8211; dramatically cutting down the hardware costs for serving Scout.&lt;/p&gt;


	&lt;h3&gt;Analyze&lt;/h3&gt;


	&lt;p&gt;The agent looks through the messages sent to the agent, looking for slow MySQL queries, missing indexes, and more. When an optimization opportunity is found, a Hint is created.&lt;/p&gt;


	&lt;h2&gt;Triggers &amp;#38; Alerts&lt;/h2&gt;


	&lt;p&gt;Triggers are Scout&amp;#8217;s way of tracking when things go wrong. In other words, leave the number crunching to Scout. When you install the Rails Monitoring Plugin, 2 default triggers are created:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://img.skitch.com/20090615-nqe481cjiks55e7w7eg76wjw1p.png" alt="Scout"/&gt;&lt;/p&gt;


	&lt;p&gt;When a trigger fires, an alert is created. A sample alert from Scout:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://img.skitch.com/20090615-d275jcfw1jcwwqnqai2cydubcp.png" alt="Scout ~ Alert"/&gt;&lt;/p&gt;


	&lt;h2&gt;Alert Throttling&lt;/h2&gt;


	&lt;p&gt;When things are really going wrong with your application, the last thing you want is a every-minute email blast. Scout sends one alert when something goes wrong then another when the conditions are back to normal. Scout will continue to update the alert on scoutapp.com so you&amp;#8217;ll see the most recent data.&lt;/p&gt;


	&lt;h2&gt;Elsewhere &amp;#38; Digging In&lt;/h2&gt;


	&lt;p&gt;You can find everything but the Scout server on GitHub:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="https://github.com/highgroove/scout_rails_instrumentation/tree"&gt;Scout Ruby on Rails Instrumentation Plugin&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="https://github.com/highgroove/scout_agent/tree"&gt;Scout Agent&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="https://github.com/highgroove/scout-plugins/tree"&gt;Scout Plugins&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://scoutapp.com/info/developers"&gt;Building your own plugins&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/Tilf69ygRNE" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 22 Jun 2009 16:37:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/06/22/a-tour-of-scouts-ruby-on-rails-monitoring-plugin</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/Tilf69ygRNE/a-tour-of-scouts-ruby-on-rails-monitoring-plugin</link>
      <category>Plugins</category>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/64</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/06/22/a-tour-of-scouts-ruby-on-rails-monitoring-plugin</feedburner:origLink></item>
    <item>
      <title>It's very easy to create a Scout plugin</title>
      <description>&lt;p&gt;How easy? Really easy. There are just two things you need to know to get started:&lt;/p&gt;


	&lt;h2&gt;1. Starting the Agent in test mode&lt;/h2&gt;


	&lt;p&gt;The agent sports a nifty autotest-like mode to help you quickly iterate new plugin code. To start:&lt;/p&gt;


	&lt;p&gt;&lt;code&gt;scout_agent test my_new_plugin.rb&lt;/code&gt;&lt;/p&gt;


	&lt;p&gt;With that, the agent is watching &lt;code&gt;my_new_plugin.rb&lt;/code&gt;, just waiting for you to hit save so it can come to life. Whenever you modify the target file, the Agent will immediately log to console the results of your plugin-in-progress.&lt;/p&gt;


	&lt;h2&gt;2. The basic format of a plugin&lt;/h2&gt;


	&lt;p&gt;Keeping this &lt;em&gt;very simple&lt;/em&gt;&amp;#8212;a plugin looks like this:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;class ExampleReport &amp;lt; Scout::Plugin
  def build_report
    report(:minute=&amp;gt;Time.now.min)
  end
end&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Yeah, that&amp;#8217;s a simple case all right. It just reports the minute every time it runs, so it will generate a single data series with a value between 0 and 59.&lt;/p&gt;


	&lt;p&gt;If you haven&amp;#8217;t created a plugin before, I encourage you to try this very simple example. It will take you approximately two minutes, and you&amp;#8217;ll see how easy the Agent&amp;#8217;s test mode makes it to iterate.&lt;/p&gt;


	&lt;h2&gt;Go a little deeper&lt;/h2&gt;


	&lt;p&gt;There&amp;#8217;s more: generating alerts, reading from option files, etc. When you&amp;#8217;re ready, check out the developer documentation at &lt;a href="http://scoutapp.com/info/plugin_anatomy"&gt;http://scoutapp.com/info/plugin_anatomy&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/mgfnT4XarrI" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 10 Jun 2009 08:33:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/06/10/its-very-easy-to-create-a-scout-plugin</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/mgfnT4XarrI/its-very-easy-to-create-a-scout-plugin</link>
      <category>HowTo</category>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/61</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/06/10/its-very-easy-to-create-a-scout-plugin</feedburner:origLink></item>
    <item>
      <title>Learn about the Scout Agent, API, and more at OK.rb </title>
      <description>&lt;p&gt;James will be speaking at Thursday&amp;#8217;s (June 11th) Ok.rb meetup in Edmond, Oklahoma, giving a tour of the Scout Agent and the &lt;a href="http://scoutapp.com/info/developers"&gt;API&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;See &lt;a href="http://ok-ruby.org/"&gt;the Ok.rb website&lt;/a&gt; for more details.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/ZKFkFbETiwE" height="1" width="1"/&gt;</description>
      <pubDate>Mon,  8 Jun 2009 12:51:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/06/08/learn-about-the-scout-agent-api-and-more-at-ok-rb</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/ZKFkFbETiwE/learn-about-the-scout-agent-api-and-more-at-ok-rb</link>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/62</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/06/08/learn-about-the-scout-agent-api-and-more-at-ok-rb</feedburner:origLink></item>
    <item>
      <title>Now with deep Rails Instrumentation, triggers, a more robust agent, and more</title>
      <description>&lt;p&gt;&lt;a href="http://scoutapp.com"&gt;Scout&lt;/a&gt; is nearing 1/2 billon recorded metrics, but bragging about metrics is like bragging about the number of lines of code you&amp;#8217;ve written. Metrics, like code, are a means to an end. It&amp;#8217;s the quality, not the volume, that matters.&lt;/p&gt;


	&lt;p&gt;We took a big step in going beyond numbers today with the release of the &lt;a href="http://scoutapp.com/plugin_urls/131-rails-instrumentation"&gt;Rails instrumentation plugin&lt;/a&gt; for Scout. It&amp;#8217;s the first plugin to leverage Scout&amp;#8217;s new features, and at &lt;a href="http://scoutapp.com/signup"&gt;just $7/server&lt;/a&gt;, we think it&amp;#8217;s at a price that makes sense whether you have a small &lt;span class="caps"&gt;VPS&lt;/span&gt; or a cloud of servers.&lt;/p&gt;


	&lt;p&gt;A quick tour of Scout&amp;#8217;s new features:&lt;/p&gt;


	&lt;h2&gt;Deep Rails Instrumentation Plugin&lt;/h2&gt;


	&lt;p&gt;Using the new Rails instrumentation plugin, you&amp;#8217;ll get alerted of trends. Scout wants to help you correct and issue before it becomes a problem:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://img.skitch.com/20090526-cbjbhsx1t6td9b3hdk2mce933g.png" alt="skitched-10"/&gt;&lt;/p&gt;


	&lt;p&gt;When things go wrong, Scout tries to lend a helping hand, giving optimization suggestions:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://img.skitch.com/20090526-d4rnb9rp99u1jx3416w45g7895.png" alt="skitched-20090526-134916.png"/&gt;&lt;/p&gt;


	&lt;p&gt;..and highlights the variables that changed the most:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://img.skitch.com/20090526-gs8s3g93qk5h1shjwdh8yiyq4m.png" alt="skitched-20090526-135015.png"/&gt;&lt;/p&gt;


	&lt;p&gt;Sometimes you just want an overview of your Rails application as well:&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://img.skitch.com/20090526-cempyppar81gyenm7ssbjmh7f3.png" alt="skitched-20090526-144311.png"/&gt;&lt;/p&gt;


	&lt;p&gt;The Rails Instrumentation plugin is open source, like the rest of our plugins. View the source of the &lt;a href="http://github.com/highgroove/scout_rails_instrumentation/tree"&gt;Rails plugin&lt;/a&gt; and its companion &lt;a href="http://github.com/highgroove/scout-plugins/tree/master/rails_instrumentation"&gt;Scout plugin&lt;/a&gt; on GitHub.&lt;/p&gt;


	&lt;h2&gt;Triggers&lt;/h2&gt;


	&lt;p&gt;Leverage the same alerting functionality used by the Deep Rails instrumentation plugin in your own plugins with triggers. For example, let Scout notify you if user signups dramatically increase compared to the previous 7 days. Just pick a metric and set the thresholds!&lt;/p&gt;


	&lt;h2&gt;The new Scout Agent&lt;/h2&gt;


	&lt;p&gt;The old cron-based Scout client has been replaced by the &lt;a href="http://scout.rubyforge.org/"&gt;Scout Agent&lt;/a&gt;, a daemon. The Scout Agent is an easier install and enables the more powerful and flexible metric-collecting goodness used by the Rails instrumentation plugin.&lt;/p&gt;


	&lt;p&gt;View the &lt;a href="http://github.com/highgroove/scout_agent/"&gt;Scout Agent source at GitHub&lt;/a&gt;.&lt;/p&gt;


	&lt;h2&gt;An easier &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/h2&gt;


	&lt;p&gt;It&amp;#8217;s even easier to get your data into &lt;a href="http://scoutapp.com/info/agent_api"&gt;Scout with the new Ruby &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/a&gt;:&lt;/p&gt;


&lt;div class="terminal"&gt;
    ScoutAgent::API.queue_report({:metric_name =&gt; value, :plugin_id =&gt; &lt;span class="caps"&gt;PLUGIN&lt;/span&gt;_ID})
&lt;/div&gt;

	&lt;p&gt;Or just &lt;a href="http://scoutapp.com/info/command_line"&gt;use &lt;span class="caps"&gt;JSON&lt;/span&gt; from the command line&lt;/a&gt;:&lt;/p&gt;


&lt;div class="terminal"&gt;
    scout_agent q report &lt;&lt;&lt; &amp;#8216;{&amp;#8220;new_users&amp;#8221;: 12}&amp;#8217; 
&lt;/div&gt;

	&lt;p&gt;&lt;a href="http://scoutapp.com/info/developers"&gt;View our Developer Resources&lt;/a&gt; for more information on integrating with Scout.&lt;/p&gt;


	&lt;h2&gt;Just $7/server&lt;/h2&gt;


	&lt;p&gt;You can &lt;a href="http://scoutapp.com/signup"&gt;get started today with a free 30 day trial&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/JB6BEOgUKqU" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 26 May 2009 16:47:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/05/26/deep-rails-instrumentation</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/JB6BEOgUKqU/deep-rails-instrumentation</link>
      <category>Updates</category>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/60</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/05/26/deep-rails-instrumentation</feedburner:origLink></item>
    <item>
      <title>Scout at RailConf </title>
      <description>&lt;p&gt;&lt;img src="http://img.skitch.com/20090512-qrjgi3nhgdrhadd4712p1cd5ux.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s been a big year for Scout at conferences. We sponsored &lt;a href="http://gogaruco.com/"&gt;GoGaRuCo&lt;/a&gt; here in San Francisco last month, and we had a booth on the floor at &lt;a href="http://en.oreilly.com/rails2009/"&gt;RailsConf&lt;/a&gt; last week.&lt;/p&gt;


	&lt;p&gt;A few highlights from the conference:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;We came to the conference armed with all kinds of &amp;#8220;selling points&amp;#8221; for Scout 2.0. When all is said and done, the number one point people love about Scout is the open-source plugin model. Thanks for everyone&amp;#8217;s feedback and support!&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;It was really cool talking to people in all stages of involvement with Ruby and Rails. Including those who were building a Rails app for the first time. It&amp;#8217;s good to get that perspective after working with Rails for the last 3+ years.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;Charles Quinn and I had the opportunity to treat &lt;a href="http://www.phusion.nl/"&gt;Hongli Lai &amp;#38; Ninh Bui&lt;/a&gt; to Sushi and say thanks for one of our favorite pieces of software.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;One cool interaction&amp;#8212;Josh Goebel of &lt;a href="http://pastie.caboo.se/"&gt;Pastie&lt;/a&gt; came by and asked us about the new Scout &lt;span class="caps"&gt;API&lt;/span&gt;. Then, he tracked us down the next day to show us the Scout plugin he had created for vmstat! Great to see folks using Scout&amp;#8217;s extensibility like that.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;I didn&amp;#8217;t hear one mention of &amp;#8220;what happens in Vegas&amp;#8221;&amp;#8212;Rails community +1; tired cliches -1.&lt;/li&gt;
	&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/JoB_DLJ-Xf8" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 12 May 2009 18:07:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/05/12/scout-at-railconf</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/JoB_DLJ-Xf8/scout-at-railconf</link>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/59</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/05/12/scout-at-railconf</feedburner:origLink></item>
    <item>
      <title>Interview on akitaonrails.com</title>
      <description>&lt;p&gt;Fabio Akita tracked down our own Matt Todd to talk about Scout.&lt;/p&gt;


	&lt;p&gt;Listen to the interview:&lt;/p&gt;


&lt;object type="application/x-shockwave-flash" data="http://files.akitaonrails.com/player_mp3.swf" height="20" width="200"&gt;
    &lt;param name="movie" value="http://files.akitaonrails.com/player_mp3.swf"&gt;
    &lt;param name="bgcolor" value="#ffffff"&gt;
    &lt;param name="FlashVars" value="mp3=http%3A//files.akitaonrails.com/Matt_Todd_Highgroove_Studios.mp3"&gt;

&lt;/object&gt;

    &lt;p&gt;&lt;a href="http://files.akitaonrails.com/Matt_Todd_Highgroove_Studios.mp3"&gt;Download&lt;/a&gt; (13:43)&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/VkdMrKwyUGQ" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 11 May 2009 23:38:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/05/11/interview-on-akitaonrails-com</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/VkdMrKwyUGQ/interview-on-akitaonrails-com</link>
      <category>Updates</category>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/58</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/05/11/interview-on-akitaonrails-com</feedburner:origLink></item>
    <item>
      <title>I'm not a ShamWow salesman and other lessons from our first conference</title>
      <description>&lt;p&gt;&lt;img src="http://addins.wgem.com/blogs/sports/wp-content/uploads/2009/04/shamwow.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;I despise sales pitches, but you wouldn&amp;#8217;t know it if you were the first person to visit our Scout exhibit booth. After introducing myself, I delved into a 5 minute whirl-wind tour of Scout 2.0, trying to show every possible feature that might help him monitor his Rails stack.&lt;/p&gt;


	&lt;p&gt;He watched, mostly quiet.&lt;/p&gt;


	&lt;p&gt;As he walked away, I felt a little dirty, &lt;a href="http://www.youtube.com/watch?v=QwRISkyV_B8"&gt;a little &lt;span class="caps"&gt;QVC&lt;/span&gt;-like&lt;/a&gt;. I hoped my career wasn&amp;#8217;t heading down the path of &lt;a href="http://www.thesmokinggun.com/archive/years/2009/0327092sham1.html"&gt;another famous pitchman&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;We exhibited Scout at our first conference, &lt;a href="http://gogaruco.com/"&gt;Golden Gate Ruby
Conference&lt;/a&gt;, run with Scandinavian precision and
held, not ironically, at the &lt;a href="http://www.cafedunord.com/?page=directions"&gt;Swedish American
Hall&lt;/a&gt;. I started a little
awkward telling the Scout story, but things really smoothed out
quickly. 8 lessons from our first conference:&lt;/p&gt;
&lt;h2&gt;Don&amp;#8217;t dive into the product&lt;/h2&gt;


	&lt;p&gt;It&amp;#8217;s important to have a specific use case that someone can relate to.
Everyone uses Scout in their own unique way. If I do a general demo,
I&amp;#8217;ll be doing it from my perspective, not their own.&lt;/p&gt;


	&lt;h2&gt;Ask attendees questions for 1-2 minutes before demoing&lt;/h2&gt;


	&lt;p&gt;I asked people a lot of questions about their business. The better I
understand their business, the better I can show how Scout can help.&lt;/p&gt;


	&lt;h2&gt;Demo a single feature&lt;/h2&gt;


	&lt;p&gt;Rather than drowning people in features, I tried to isolate a major
problem they have and showed how Scout can help. From there, people
were a lot more engaged and led the demo themselves.&lt;/p&gt;


	&lt;h2&gt;Stand in front, not behind the exhibit table&lt;/h2&gt;


	&lt;p&gt;Yes, I&amp;#8217;m a developer, but I don&amp;#8217;t usually bite and a I brought breath
mints. Sitting behind a table isn&amp;#8217;t engaging.&lt;/p&gt;


	&lt;h2&gt;Don&amp;#8217;t need a Mac Cinema Display&lt;/h2&gt;


	&lt;p&gt;I demo&amp;#8217;d less and talked more. You don&amp;#8217;t need a Mac Cinema display to
have a conversation.&lt;/p&gt;


	&lt;h2&gt;Have a curious visual display&lt;/h2&gt;


	&lt;p&gt;&lt;a href="http://www.scribd.com/"&gt;Scribd&lt;/a&gt;, the exhibit next to us, had a display that provided a real-time view of search queries directed from Google to the Scribed website. Did it have anything to do with the actual product? No &amp;#8211; but it really demonstrated the volume of traffic that Scribd handles. It was a great way to start a conversation.&lt;/p&gt;


	&lt;h2&gt;Safari is cleaner, faster&lt;/h2&gt;


	&lt;p&gt;At least on my Mac, Safari is a lot faster than Firefox. It&amp;#8217;s
cleaner-looking as well.&lt;/p&gt;


	&lt;h2&gt;Be Social&lt;/h2&gt;


	&lt;p&gt;We&amp;#8217;re not that well known and my wife&amp;#8217;s family isn&amp;#8217;t rich, so we need
to rely on word-of-mouth instead of marketing dollars to spread
Scout&amp;#8217;s goodness. Don&amp;#8217;t be afraid to spend time away from the booth
talking to other attendees.&lt;/p&gt;


	&lt;p&gt;Golden Gate Ruby Conference was a blast and we met a lot of people that are going to benefit from
Scout. Technical conferences are really about people, not technology.
That applies to the exhibit booth as well.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/scoutapp/~4/uqaAf1CeOUM" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 20 Apr 2009 08:09:00 CDT</pubDate>
      <guid isPermaLink="false">http://blog.scoutapp.com/articles/2009/04/20/lessons-from-our-first-tech-conference</guid>
      <link>http://feedproxy.google.com/~r/scoutapp/~3/uqaAf1CeOUM/lessons-from-our-first-tech-conference</link>
      <trackback:ping>http://blog.scoutapp.com/articles/trackback/57</trackback:ping>
    <feedburner:origLink>http://blog.scoutapp.com/articles/2009/04/20/lessons-from-our-first-tech-conference</feedburner:origLink></item>
  </channel>
</rss>
