Scout APM's Elixir agent now captures Ecto query commands, row counts, and external HTTP calls via Finch, Req, and Tesla, giving you full visibility into where time goes in your Phoenix app.
Scout and Sentry both handle error monitoring and performance, but they started from different places, which shapes what each does well. If you are evaluating both, the origin story is worth understanding because it explains most of the differences you will run into.
Take a look at the state of error monitoring in 2026 as we review the top error monitoring solutions for fast detection, actionable alerts, integration options, and support for various engineering needs.
Everything looks green and happy on your dashboard, so why are your users upset? Dive into the world of percentiles and how to pull clarity from the metric noise to better understand the health of your application.
Scout Senior Developer Quinn walks us through adding FastMCP instrumentation to our Python agent. The Scout MCP server enables Scout users to query their Scout agent about application performance so that the agent can make decisions and fix issues based on that data.
Sometimes bugs just need to be fixed ASAP
Having AI fix them with monitoring data straight from production is very fast and satisfying
You should use Scout for errors and MCP
We’re excited to introduce the Scout Monitoring MCP Server — a new way to bring AI-native monitoring directly into your coding assistant. Instead of flipping between dashboards and logs, the MCP server surfaces performance data, errors, and slow endpoints right inside your AI tool.
What happens when issues aren't obvious? Good monitoring can keep you in the know and a step ahead of your users, preventing broken trust and lost revenue.
In this final part, the Scout team continues our talk with Freedom Dumalo, former CTO at Flexcar and current CTO at Vestmark. We discuss some essential questions about architecture, touch on Rails, Turbo, and Stimulus, and the key considerations for those starting off before they lock in an architecture or tech decision.
In 2025, many companies are reckoning with the true cost of microservices, especially as cloud bills grow and engineering teams face coordination fatigue.
In 2025, many companies are reckoning with the true cost of microservices, especially as cloud bills grow and engineering teams face coordination fatigue. The move back to monoliths is gaining traction, particularly for startups and mid-sized businesses that need Faster product delivery, lower operational costs, and simpler infrastructure.
Learn how to boost Ruby on Rails app performance and reduce server load with cache strategies like page, action, and Russian Doll caching, cache stores, and more.
To put it simply, monitoring is for notifying you when something goes wrong in your application, and observability is to help you understand why that is. Read along, as we dive deeper to get a better understanding of the two and help you identify the right one for your use case!
Docker containers have revolutionized the cloud industry. This guide will cover different methods of optimizing Docker performance and answer some frequently asked questions about the technology.
Scout’s new integrated logging and APM streamline debugging by linking logs and performance traces, reducing context-switching and accelerating issue resolution.
Preventing and solving memory issues is at the heart of good memory management in Ruby – and of course, atScout Monitoring, we also know that solid monitoring can be the X facto...
Ruby on Rails offers a streamlined and efficient approach to building RESTful APIs, an ideal choice for developing robust and scalable RESTful APIs with minimal hassle.
What is event-driven architecture and how can it transform your Django e-commerce app? Learn how to integrate celery, RabbitMQ, Kafka and more, plus implementation tips.
Review Sidekiq and GitHub’s Resque for Rails background job processing. Compare their impact on your Rails app's resource use, performance efficiency, and scalability.
Tutorial on Kubernetes deployment with Ruby on Rails. Build highly scalable, resilient enterprise-level applications that can handle increased traffic and workloads.
How to test and debug Django with advanced techniques like mocking, unit tests, and profiling with django-silk and Django Debug Toolbar with this comprehensive guide.
How to use middleware for custom authentication and authorization, and integrate third-party libraries (Python Social Auth) and services (Google OAuth) for Django apps.
Default monolithic apps are often phased out in favor of decoupled and containerized microservices architectures, but what if you built one with intention?
Microservices have grown to become one of the most optimal alternatives to monoliths. However, just building your app and releasing it to the public isn’t everything. Monitoring microservices is as important as building and releasing them.
Debugging is the bread and butter of software development. As a software developer, this is the part you likely spend the most amount of time on. This post goes over the process of debugging.
As a software developer, once you have ensured your application's overall quality, robustness, and reliability, its acceptance and reputation among users depend primarily on how fast and responsive it is. Learn more about the importance of response time!
Developing software is hard to keep up with. Learn how to optimize Laravel application performance with these top tricks from our brilliant team members!
To err is human. The process of software development can’t be error-free; fixing errors is part and parcel of building software applications. Learn why error monitoring is the most necessary application feature!
Root cause analysis is one of such well-tested strategies to help you handle issues as they occur. Root cause analysis focuses on determining the root cause of a problem before working towards a solution.
Design patterns are some of the best practices you should follow while composing your application’s code architecture to be able to maintain it better in the future. Design patterns also help reduce resource leaks and common mistakes since you must follow a pre-tested style of designing your codebase. Check out these 10 popular design patterns!
Memory leaks can easily take down a healthy running application within hours if not minutes, but they can be hard to detect. Read more to learn how to combat python memory leaks!
Comprehensive Guide to Migrating from Python 2 (Legacy Python) to Python 3. Python powers many applications we use day-to-day like Reddit, Instagram, Dropbox, Spotify, etc. The adoption of Python 3 has been a subject of debate in the Python community for long. While Python 3 has been out for more than a decade now, but there wasn’t much incentive to migrate ...
In this post, we are about to take a look at how Ruby, one of the most prominent programming languages and an awesome web application alternative when combined with Rails, manages memory, and how you can make it perform even better.
In this post, we’ll cover how to configure OpenTelemetry in the front-end JavaScript in order to measure performance of browser and mobile devices and how to configure distributed tracing to work across the front-end and back-end telemetry collection.
OpenTelemetry is enabling a revolution in how Observability data is collected and transmitted. See our What Is OpenTelemetry post on why this is an important inflection point in the Observability space. In this post, we’ll walk through how to configure the OpenTelemetry Gems within a Rails app.
What is Delegation and how do you properly use it in Ruby? This article will look at how delegation works and the various programming constructs that Ruby provides to facilitate easy and robust delegation.
A ruby flip-flop refers to a system that comprises two alternating (on/off) states that one can switch between Let’s dive in and learn more about what this operator is, how it works, its different types, what it offers, and where it makes sense to use it.
This article will help you end the hunt and make an informed decision between three of the most trending APM solutions–Scout, SolarWinds, and Dynatrace.
Ruby shines by providing several control flow keywords to make it easier for developers to have more freedom and flexibility over their program. In this post, we'll look at three helpful Ruby concepts that allow developers to write cleaner, more effective code.
This article discusses Dynatrace and the alternative APM tools so that you can have an overview of the solutions available to help you decide which is best for your needs.
SDLC stands for Software Development Lifecycle and is a methodology that defines various strategies and steps for building high-quality software most efficiently.
Application Performance Monitoring (APM), as the name suggests, is the process of monitoring the performance of the many aspects of your application. APM tools, like Scout APM, allow organizations to get a detailed analysis of the performance of their applications, in real-time.
Source code repositories are digital libraries that store codes of different projects created by developers. GitHub is one source code managing repository, along with many others on the market. This article touches on some of Github’s features and provides insights into other similar services to help you choose the best source code management repository for your projects.
Mean Time To Resolution, or MTTR, defines how well a system can recover from an average error encountered during normal functioning. MTTR is also among the most misunderstood metrics in the APM industry. This guide looks at MTTR in detail and the best practices to follow for reducing MTTR.
With Kubernetes, deploying and managing applications is similar to managing a microservice. Instead of worrying about how your servers will scale to accommodate significant traffic and data, you focus on building the application.
In this article, we'll discuss whether developers should be apprehensive about the concern file or not, and why many have negative perceptions regarding the concern file.
Based on Stack Overflow trends in the last 10 years, two of the most popular server-side languages are Python and PHP. But given how popular both are, which one should you go with?
After the announcement of Ruby support on AWS, AWS Lambda opened the door for various kinds of innovative development. Now it's your turn to create a Ruby function using AWS lambda and better your experience with both.
Docker is a software platform that lets you develop, build, ship, manage and run containerized applications. Containers, as a technology, have existed long before Docker, but Docker is what has made them ever so popular – and more importantly, approachable.
From building cheeky front-end applications to robust back-end systems, JavaScript and Node.JS take application development to a whole new level. In this article, we take a look at some of the most prominent personalities in the JavaScript & NodeJS universe, from public speakers and bloggers to founders and lead developers!
There are a myriad of solutions offered within cloud services, and one of the hottest solutions available today is the cloud container service. But why? And how can you take advantage of the service? Before we answer that, let us first understand what containerization is and why it helps speed up development.
With the latest features introduced via the Ruby 3 and the Rails 6 updates, the framework seems to be set to become the perfect alternative for business-minded projects. Ruby on Rails has always been the convenient and easy-to-use solution for critical projects, and with its growing maturity and community, it is bound to get better.
Containers and Microservices have become a modern and essential way to build products. If you want a smoother user experience then it's important to monitor your containers and applications for seamless performance.
While the Python language offers ease of use, that ease of use can also negatively impact performance. But how do you know if your python app's performance needs improvement? This article details all the tips and tricks you need to better your python performance.
Twig, which is founded by Symfony, is a modern template engine for PHP. Twig template provides us many features like reusing Twig templates, output escaping, debugging templates, etc.
In this post, we will look at what CI/CD and cloud-native essentially mean. We will also explore several cloud-native tools that you can use to set up a fully automated CI/CD pipeline for your application.
As web applications scale and grow, several performance-limiting factors start coming into the picture and make things difficult. In this post, we’ll take a closer look at some of the most common application performance issues, and try to understand why they happen, and how they can be tackled.
Enumerators are present everywhere throughout the Ruby language, and with the addition of the Enumerator class in Ruby 1.9, enumerators have become all the more important.
A memory leak is the gradual loss of available computer memory when a program (an application or part of the operating system) repeatedly fails to return memory that it has obtained for temporary use.
A look at how blocks and yield help make life easier for Ruby developers. We will also go through other Ruby keywords and concepts that are connected to blocks and understand how everything works together.
Ruby 3 is set to turn a lot of heads with huge improvements in performance, memory management, static analysis, and coding standards, as well as the introduction of features like Ractors, automatic schedulers, unified typing, and so on.
Ruby on Rails view partials can help keep your codebase DRY (Don’t Repeat Yourself), but misusing them can have a significant performance impact. In this blog post, we’ll describe when you should avoid using view partials and the alternatives.
While containers by themselves are extremely useful, they can become quite challenging to deploy, manage, and scale across multiple hosts in different environments. Container orchestration is another fancy word for streamlining this process.
There are dozens of PHP frameworks out there, but a handful of them particularly stand out in the features, functionality and simplicity they offer. Let’s look at the nine most popular PHP frameworks that you can choose from for your upcoming project.
Containers and virtual machines are virtual environments that comprise a number of computing components and are independent in nature, thereby allowing developers to scale applications in isolated runtimes without taking up entire machines.
In recent years, the practices of continuous integration and continuous deployment have gained tremendous popularity, due to their idea of automating the building, testing, and deployment pipelines to minimize delays in software production.
APM stands for Application Performance Monitoring and allows developers to see exactly what your applications are doing, and why, while they execute the functions of your business. APM is important because it enables you to see what is really happening with your web applications as it happens.
One of the Scout’s key features is its ability to quickly highlight N+1 queries in your application. In this video we will take a look at how you can use Scout to do that.
It's easy to get lost in today's continuously changing landscape of cloud native technologies. The learning curve from a beginner's perspective is quite steep and without proper context, it becomes increasingly difficult to sift through all the buzzwords. If you have been developing software, chances are you may have heard ...
Kubernetes and Docker each play a vital role in modern, microservices-based application development. Since Kubernetes and Docker work in unison to help develop, deploy, and manage large-scale applications – they are not mutually exclusive technologies and they are certainly not in competition with each other. Nevertheless, Kubernetes and Docker are ...
Serverless and containers are two “as a service” technologies that have seen increasing adoption in recent years. In this article, we’ll explain the difference between serverless and containers, so that you can understand for which situations each technology is best suited.
Even though only 11 years old, Node.js has emerged to be one of the most popular web development frameworks in the last decade. I’m a big Javascript fanboy, and thanks to Node.js, I can write Javascript code outside the browser ...
When visiting a new website, it is quite normal to get carried away by the bells and whistles of the fancy UI and UX and not be able to appreciate all the lower level, back-end code that runs tirelessly to ensure a smooth and fast website experience. This ...
In Python, Lambda functions are rare compared to “normal” functions, and occasionally misunderstood or overused. In this article we’ll cover what Lambda functions are, how to use them, and how they compare with normal functions and other alternatives. We’ll also touch on the history of lambda functions, such as where ...
In the realms of computer science and software engineering, reusability and modularity are considered to be important design principles to keep in mind when building software programs. The key idea behind these principles is to write code in a way that does not concentrate all it’s operations in one place. ...
Web frameworks are powerful tools. They abstract the common aspects of building web sites and APIs and allow us to build richer, more stable applications with less effort. A broad range of web frameworks is available to us in Python. Some are proven favorites with large ecosystems and communities. Others ...
Errors are undesirable for users and you should do everything in your control to keep users away from them. However, they are of utmost importance for developers. They allow developers to understand the inaccuracies and vulnerabilities in their code by alerting them when their code breaks. They also provide relevant ...
A Python decorator wraps a target function with another wrapper function. This wrapper function can add any behavior you might want. For example, it can track execution times, redefine how the wrapped function runs, or modify return values. As a concrete example, the standard library’s functools.lru_cache() decorator wraps a target ...
PHP is a weakly typed language. This means that when initializing a variable in PHP, one doesn’t need to declare the variable type. PHP implicitly declares a data type for your variable. This can save you from prospective type errors in your code. When working with programming languages, it is ...
Memory leaks can happen in any language, including PHP. These memory leaks may happen in small increments that take time to accumulate, or in larger jumps that manifest quickly. Either way, if your app has a memory leak, sooner or later it will cause problems. The source of and solution ...
Ruby may be over 25 years old, but it remains popular in the software community for its focus on programmer happiness. Building software with Ruby often involves leveraging one or more popular frameworks for the purpose of increasing productivity by relying on existing solutions to common problems. Ruby frameworks generally ...
PHP’s JSON_Encode Function: Convert PHP to JSON PHP is a server-side scripting language for creating your website’s backend system that can serve webpages, communicate with databases, and exchange data over the internet. A decent backend framework like PHP needs to be capable of providing and processing data in any format ...
Lambdas are a powerful feature of the Ruby language. They allow you to wrap logic and data into a portable package. In this post, we’ll cover how and when to use lambdas. You’’ll also learn about the difference between lambdas and Procs, and the performance profile of lambda functions. The ...
Introduction Elixir describes itself as "a dynamic, functional programming language designed for building scalable and maintainable applications." Although it's a relative newcomer, Elixir is built on top of the functional programming language Erlang. Elixir is capable of using any Erlang library, and is ideal for use cases such as web ...
Go Fast: Getting Started with Sanic for Python Tired of waiting for sluggish HTTP requests to complete before your backend code can proceed with other things? Sanic is an asynchronous web framework in Python, that is built to be fast. In a world where Flask and Django are the most ...
“All code and no logging makes John a black box error-prone system.” Logging is a key aspect of monitoring, troubleshooting and debugging your code. Not only does it make your project’s underlying execution more transparent and intelligible, but also more accessible in it’s approach. In a company or a community ...
When it comes to web development, middleware is often the key to ensuring everything connects up - even if some of the pieces don’t always matchup. HTTP Middleware is a mechanism used to conveniently filter HTTP requests coming into your web application. When it comes to PHP, frameworks often help ...
This article is a continuation of Part I (A comprehensive guide to migrating from Python 2(Legacy Python) to Python 3) which details the changes, improvements in Python 3 and why they are important. This rest of the article details automated tools, strategies and role of testing in the migration from ...
In this article, we'll be comparing the features and performances of two server-side programming languages; Python and Java. The intent is to provide enough knowledge to make an informed decision about which language to pick for your use-case when faced with such a situation.
In this blog post, we'll be going through two server-side scripting languages; Python and Ruby with focus on comparing the performance and other factors that might help you in deciding which language to pick over the other for your web application.
Memory management in python: Yes, you heard it right “memory management in python”. You must be thinking: why do I need to manage the memory in any high-level language like python?
What is exception handling? Software systems can be quite prone to error conditions. Systems that involve user interaction are more vulnerable to exceptions as they attract errors at multiple fronts. Errors can take many forms - syntactical errors, network errors, form input errors, invalid authentication errors etc. I
Software systems inevitably encounter situations that can cause failures and malfunctions which affect user experience, data integrity, and security. In this blog post, we will learn how to avoid these situations though Exception handling . We will focus on software exceptions and how to address them using PHP.
Falcon aims to increase throughput of web applications by using Ruby’s Fibers to continue serving requests while other requests are waiting on IO (ActiveRecord queries, network requests, file read/write, etc).
How can you tell if page faults are slowing you down, and - above all - how can you avoid being shuffled in-and-out of the library? This blog dives into the answers to these very questions.
Most people have an inkling of what the load averages mean: the three numbers represent averages over progressively longer periods of time (one, five, and fifteen-minute averages), and that lower numbers are better. Higher numbers represent a problem or an overloaded machine.
There is no doubt that looking at response times and memory usage is essential to understanding the general health and performance of your application. But as I am sure you are aware, there is more than one way to monitor an application. Approaching monitoring from a different angle can be a powerful way of gaining new insights. If all you did was watch for high response times or areas of memory bloat, then you might overlook something far more simple: the user’s general level of satisfaction. So how can we monitor this rather broad concept of user satisfaction? Well, we can monitor this with a rather useful metric known as the Apdex score...
With the official release of Rails 6 just around the corner, we round up all the major new features coming your way. It is an exciting release due to some big features coming upstream from the Basecamp and GitHub projects. Amongst the many minor updates, useful tweaks and bug fixes, Rails 6 will ship with two completely new frameworks: ActionText and ActionMailbox, and two big scalable-by-default features: parallel testing and multiple database support. So set your Gemfile to get Rails 6.0.0.rc1 and let’s get started!
The Ruby app server ecosystem has consolidated around three app servers: Unicorn, Puma, and Passenger 5. What specific problems must an app server solve for Ruby? How do you pick the right app server?
Software development has changed rapidly over the last ten years. Many companies have moved away from the traditional waterfall development model to an agile methodology, and this has meant embracing continuous integration and continuous delivery practices. But how about taking it one step further with continuous deployment? Are you deploying to production automatically, without any human intervention? Some of the major products we rely on everyday are. We take a look at some of the best continuous deployment tools and put them head-to-head.
Like a pair of jumper cables, ActiveRecord's joins , includes , preload , and eager_load methods are incredibly useful, but also very dangerous when used incorrectly. Knowing when and where to use each approach - and even when to combine them - can save you considerable trouble.
If you are hosting your application with Heroku, and find yourself faced with an unexplained error in your live system. What would you do next? Perhaps you don’t have a dedicated DevOps team, so where would you start your investigation? With Scout APM of course! We are going to show you how you can use Scout to find out exactly where the problem lies within your application code. We are going to walk through two of the most common Heroku error codes and show you how to diagnose the problem with Scout quickly and efficiently.
In our previous post we looked at how to set up and use Mint to make a simple GET request to fetch the contents of a README file from a Github repository. In this post let us continue building our Awesome Toolbox and add some more functionality.
What Are We Doing Here? Coming back from Monitorama last week, I had a chance to sit back and start playing with some tools to see how they worked. Prometheus is a pretty ubiquitous tool in the monitoring space, is pretty easy to spin up, and most importantly (for this ...
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 ...
Having the ability to drive your development using just a keyboard is very productive. However, when you are using a terminal and have to copy the output of a command to use it somewhere else, it breaks your flow, you need to move your hands away from your keyboard, use ...
Your Linux server is running slow, so you follow standard procedure and run top . You see the CPU metrics: But what do all of those 2-letter abbreviations mean? The 3 CPU states Let's take a step back. There are 3 general states your CPU can be in: Idle , ...
How are you deploying your applications in 2019? Are you using containers yet? According to recent research over 80% of you are . If you are within this group, were you initially sold on the idea of containers but found that in reality, the complexity involved with this approach makes it a difficult trade-off to justify? The community is aware of this and has come up with a remedy to ease the pain, and it’s called container orchestration. So whether you are using containers or not, let’s take a closer look at container orchestration and find out what you need, what its used for and who should be using it.
These days Docker is everywhere! Since this popular, open-source container tool first launched in 2013 it has gone on to revolutionize how we think about deploying our applications. But if you missed the boat with containerization and are left feeling confused about what exactly Docker is and how it can benefit you, then we’ve put together this post to help clear up any confusion you might have. What are Docker Containers? We take a look at the 8 things that you should know about Docker containers. We'll cover everything from Dockerfiles to Docker Compose to Docker Hub.
Richard Schneeman (better known as Schneems) recently wrote about how he reduced his database server load by 80% ...with one simple trick . In the Hacker News discussion that followed, much of the debate was on the merits of using an ORM like ActiveRecord...or not: In every case I can ...
How much memory is really available on your Linux box? Don't use /proc/meminfo to find out, use free -m instead. You may have more memory available than you thought. Here's an example. /proc/meminfo says about 330MB is free: ~ $cat /proc/meminfo MemFree: 340996 kB .. free -m gives the following: ...
Mint is a shiny new elixir package which allows you to make HTTP requests using the HTTP 1, and HTTP 2 protocols. Let us see how we can start using it to improve our web apps performance.
When I do a code review, one of the scariest things I see is logic like this: if Rails.env.production? do_additional_work end Why? Your beautiful tests and tightly integrated CI system won't execute that code. You won't see that code execute as you refresh your browser in development. From syntax errors ...
Rails dominates Ruby web frameworks: the next most popular framework, Sinatra, has 5% of the popularity of Rails . However, that doesn't mean non-Rails frameworks like Sinatra and Grape don't have their place. When does it make sense to step away from ActionController and use another framework? What are the ...
There are at least three ways in which you can control how much CPU time a process gets:
Use the nice command to manually lower the task's priority; use the cpulimit command to repeatedly pause the process so that it doesn't exceed a certain limit; use Linux's built-in control groups, a mechanism which tells the scheduler to limit the amount of resources available to the process.
A couple of years ago I visited Argentina. I have trouble enough pronouncing my limited English vocabulary and I don't speak Spanish, but after a bit of time, it was pretty easy to order food, buy groceries, and use a taxi. However, occasional hangups that happen during my regular life ...
Once your Rails app begins seeing consistent traffic, slow SQL queries will likely rear their ugly head, but how can you easily tell where your app is slowing down?
Prior to adding Python performance monitoring , we'd written monitoring agents for Ruby and Elixir . Our Ruby and Elixir agents had duplicated much of their code between them, and we didn't want to add a third copy of the agent-plumbing code. The overlapping code included things like JSON payload ...
If you've followed along with our previous episodes, we've covered many different aspects of setting up a production service. We've used many different products to simplify the day-to-day operations of running and maintaining an application. We've used Scout for monitoring our application, LogDNA for aggregating our logs, HoneyBadger for our ...
Looking for a fresh, 2018 approach to deploying a Rails app to AWS? We've partnered with DailyDrip on a series of videos to guide you through the process. We're covering how to Dockerize a Rails app, AWS Fargate, logging, monitoring, setting up load balancing, SSL, CDN, and more. In the ...
> We've partnered with DailyDrip on a two-part series guiding you through Automated Backups and Disaster Recovery on AWS. This is part 1. Read part 2 , which covers read replicas and multi-az. Have you ever lost data? It can make for a bad day. Now, imagine you lose your ...
Looking for a fresh, 2018 approach to deploying a Rails app to AWS? We've partnered with DailyDrip on a series of videos to guide you through the process. We're covering how to Dockerize a Rails app, AWS Fargate, logging, monitoring, setting up load balancing, SSL, CDN, and more. In our ...
It's a lot harder connecting the dots of the request lifecycle when the final response is built from a number of separate microservices. However, distributed tracing - which connects a transaction trace across microservices - is getting a lot easier. In this short tutorial, I'll show how to add distributed ...
Prior to releasing our Python Performance Monitoring agent, we took a look at the Python ecosystem to see how Scout can compliment the existing landscape. What follows is a summary of our internal report. The Python ecosystem has a wealth of monitoring tools. That said, making sense of each tool's ...
Looking for a fresh, 2018 approach to deploying a Rails app to AWS? We've partnered with DailyDrip on a series of videos to guide you through the process. We'll be covering how to Dockerize a Rails app, AWS Fargate, logging, monitoring, and CDN support. Today, we're configuring application performance monitoring ...
A transaction trace is a GPS system for web performance: it paints a rich picture of the flow of a web request through your code. So, why doesn't everybody trace? I believe there are two reasons: Complex instrumentation : Adding in-app tracing instrumentation is more involved than calling logger.info() for ...
Looking for a fresh, 2018 approach to deploying a Rails app to AWS? We've partnered with DailyDrip on a series of videos to guide you through the process. We'll be covering how to Dockerize a Rails app, AWS Fargate, logging, monitoring, and CDN support. In our last video , we ...
The latest release (0.3.0) of Scout's Elixir APM package adds the ability to monitor GenServer calls. What is GenServer and how do you monitor it? A short intro to GenServer If you're coming from a Ruby background, you've probably used Sidekiq or similar to do background work outside of the ...
This is a guest post by Tomasz Kowal, a software developer currently working full time with Elixir at ClubCollect. He started with Erlang 6 years ago and is still amazed by the power functional languages provide. In his free time he likes tinkering with flying robots. Have you ever reached ...
Most Ruby developers use Git for their version control system of choice. Git is a wonderful tool that can save you countless hours of lost productivity and makes collaborating with others a cinch. Git's distributed nature also allows devs to work anywhere with or without an internet connection without fear ...
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 ...
If I was teaching Server Health 101, I'd start with four key metrics: CPU Usage Memory Usage Network I/O Disk Utilization The approach for fetching these metrics on Linux hosts is tried-and-true (hint: look in the /proc folder). However, I was curious about Docker Containers: where do I access these ...
Migrating backend search technologies on a high-throughput production site is no easy task, but Vector Media Group was recently faced with this decision. With a popular client site struggling under the load of complex MySQL full-text search queries, they recently switched to Elasticsearch . I spoke with Matt Weinberg to ...
You try creating a file on a server and see this error message: No space left on device ...but you've got plenty of space: df Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 10321208 3159012 6637908 33% / Who is the invisible monster chewing up all of your space? Why, ...
During a team camp among the lofty peaks of Breckenridge, Colorado, we talked a lot about the future of Scout and monitoring in general. Big mountains and nature have a way of doing that. One thing that was getting our nerd juices flowing: Go . At Monitorima in May, it ...
A big thanks to Eric Lindvall of Papertrail for adding steal time to Scout's CPU Usage Plugin and helping out on this blog post! Netflix tracks CPU Steal Time closely. In fact, if steal time exceeds their chosen threshold, they shut down the virtual machine and restart on a different ...
If you’ve used Major Hayden’s MySQLTuner before, you know it’s a great source of MySQL optimization tips. Now you can get MySQLTuner reports automatically delivered through Scout. All you need to do is install the MySQL Stats w/MySQLTuner plugin , or update the plugin if you already have it installed. ...