Now with Redis Instrumentation

By Derek Bullet_white Comments Comments

redis/

Among our customers, Redis is the single most popular database. It's a terrific compliment to any of the relational database systems out there, so it finds a way into a lot of apps.

We've added Redis instrumentation to our scout_apm gem - to upgrade:

bundle update scout_apm

PS - our background job monitoring tech preview begins soon. Ping support@scoutapp.com to join the preview.

 

Java for Rubyists

By Mark Bullet_white Comments Comments

The Scout Java Application Monitoring Agent is under active development and we have a few spots open in our alpha program. Email support@scoutapp.com for access.

For many Rubyists, Ruby is the first language that they learn and perhaps the only programming language that they know. Ruby provides an excellent gateway into the world of programming by allowing the newcomer to pick up its syntax rather quickly and allowing them to produce a working application within hours or even minutes using frameworks such as Rails.

Regardless of how one came to learn Ruby, I believe that programmers can benefit from learning another language that is fundamentally different, such as Java.

I'll provide a brief introduction into the world of Java from the perspective of a Rubyist. For the sake of staying focused, I'm not going to cover the difference in syntax between the two languages as this is best picked up over time, nor am I going to get into the details of more advanced Java topics such as the Java memory model or concurrency. What I do want to do is give a brief overview of the language, and why I think learning Java can benefit a Ruby programmer. Finally, I plan to cover some popular Java tools and frameworks and how they correspond to those in the Ruby world.

Read More →

 

The Dogs of Scout

By Derek Bullet_white Comments Comments

If it isn't clear from our logo, or our offer to give you a puppy if you don't love Scout more than the competition, the Scout team loves dogs. Here are some of our favorite coding buddies:

Dave's Dog: Bella

Bella

Bella is my 10-year-old shepherd mix. I rescued her from a shelter in October 2005. Her favorite activity is diving and running into snow piles and catching snowballs - nothing else exists when there is snow flying around her! She never learned to fetch (or was never into it, anyway). Nowadays she keeps watch over our toddler and infant - especially around the dinner table or where there are kids snacks that leave crumbs.

Another fun tidbit: our 8-month-old is just learning to speak and her first word was "ella" - she can't pronounce the "b". She always looks for Bella in the room followed by "ella, ella".

Read More →

 

Which Ruby background job framework is right for you?

By Mark Bullet_white Comments Comments

If you've been around the Ruby/Rails ecosystem for a bit you've likely heard the term 'background job' or 'offline processing'. But what does that actually mean? How do you know which tasks are suitable to be processed 'in the background'? Once you define those tasks, how do pick the right background job framework for your application?

In this post I'll cover all of the above, as well as compare and contrast a few of the leading Ruby background job frameworks.

Read More →

 

Overhead Benchmarks: New Relic vs. Scout

By Derek Bullet_white Posted in App Monitoring Bullet_white Comments Comments

High monitoring overhead is a silent killer: your app's requests take longer, throughput capacity shrinks, end users requests start stacking up in a request queue, you react by provisioning more servers, and finally, more servers == more $$$.

So how does Scout's overhead compare with the competition? To find out, we set up a suite of benchmarks comparing Scout's overhead to New Relic.

To ensure fair results, every part of these tests is open-source - from the Rails app we're benchmarking to the Rails log files generated by the benchmarks. We encourage you to analyze the raw data, try these benchmarks on your own, and let us know if you come to a different conclusion.

Benchmarking Scenarios

App monitoring overhead varies based on (1) instruments used and (2) available resources on the application server.

That in mind, we benchmarked agent overhead in the following scenarios:

  1. Representative endpoint - this test hits 100 endpoints in a Rails app, with each controller-action conducting 21 database queries and rendering 20 view partials.
  2. Expensive Endpoints - we simulate an app that does a lot of work to deliver a request (1k database queries and 1k view partials).
  3. Fast Endpoints - we simulate an API-like controller-action that does very little work.

In these benchmarking tests, our metric of comparison will be response time. We're benchmarking a Rails 4.2.5 application running Ruby 2.2.3.

I've put the results below. Beneath this summary, you'll find details and analysis on each benchmark. The percentages below represent the increase in response time when each agent is installed. Lower is better:

Response Time Overhead Benchmarks

Benchmark APM Agent Response Time Overhead
Representative Endpoint

21 database queries and 20 view partials per controller-action.

None 55.6 ms
New Relic 80.4 ms 44.5%
Scout 56.8 ms 2.2%
Expensive Endpoint

1k database queries and 1k view partials per controller-action.

None 2,811.1 ms
New Relic 3,871.0 ms 37.7%
Scout 2,922.8 ms 4.0%
Fast Endpoint

1 database query and no view partials per controller-action.

None 2.82 ms
New Relic 3.71 ms 32.0%
Scout 3.06 ms 8.8%

Read More →

 

State of the 2016 Rails Stack

By Derek Bullet_white Comments Comments

What's a Rails stacks look like in the wild these days? Most popular Rails version? Most popular Ruby? Is Delayed Job still hanging on?

If you're curious about the above, you've come to the right place. We collect gems used on the apps we monitor at Scout to assist with debugging issues and to prioritize libraries we want to instrument. This data set is across many hundreds of apps - while a small chunk of the Rails ecosystem, it's enough to shed light on usage.

Without delay, lets dig in.

Read More →

 

Older posts: 1 ... 3 4 5 6 7 ... 60