Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2017: What’s my App *Really* Doing in Production? by Daniel Azuma When your Rails app begins serving public traffic, your users will make it behave in mysterious ways and find code paths you never knew existed. Understanding, measuring, and troubleshooting its behavior in production is a tough but crucial part of running a successful Rails app. In this talk, you’ll learn how to instrument, debug, and profile your app, using the capabilities of the Rails framework and the Ruby VM. You'll also study techniques for safely instrumenting a live running system, keeping latency to a minimum and avoiding side effects.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "What’s my App *Really* Doing in Production?", presented at RailsConf 2017 by Daniel Azuma, the focus is on understanding, measuring, and troubleshooting the behavior of Ruby on Rails applications in production environments. Azuma emphasizes the importance of gathering real-time data to address issues that arise when an application is under load, as user behavior can reveal unexpected code paths and performance challenges. Key points from the talk include: - **Importance of Measurement**: Throughout his career, Azuma has recognized that effective measurement and data analysis are fundamental in making informed decisions about application performance. - **Challenges in Production**: He shares an anecdote about a traffic spike his application faced unexpectedly due to national television exposure, illustrating the chaos that can ensue when systems are unprepared for sudden load increases. - **Instrumentation Techniques**: Azuma discusses different ways to instrument Rails applications for monitoring, such as utilizing the Active Support Notifications API, which allows developers to inject measurement code directly into the application code: - Examples of instrumentation include measuring cache hits and misses, and tracking latency for requests. - **Keeping Performance Penalties Low**: Implementing monitoring should be done carefully without introducing significant latency or affecting application behavior. Techniques such as sample data collection and focusing on critical areas of the application are recommended. - **What to Measure**: He underscores the need to keep track of responses sizes, error rates (including 400-level errors), rendering times, and interaction with external systems like databases and APIs. All of these metrics can provide insight into the application's health and performance. - **Decoupling Trends and Side Effects**: Importance is placed on not just retaining data but understanding how it can influence application behavior and avoid introducing side effects through monitoring processes. - **Instrumenting for Actionable Data**: Emphasizing the need for actionable data, Azuma encourages start-ups and seasoned developers to adopt continuous measurement processes as an established practice to preemptively mitigate issues. In conclusion, Azuma calls for developers to adopt measurement practices early in their application lifecycle, encouraging them to experiment with instrumentation and monitor the health of their applications continuously to avert major production headaches in the future.
Suggest modifications
Cancel