Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Building a Performance Analytics Tool with ActiveSupport by Christian Bruckmayer "Setting up a performance analytics tool like NewRelic or Skylight is one of the first things many developers do in a new project. However, have you ever wondered how these tools work under the hood? In this talk, we will build a basic performance analytics tool from scratch. We will deep dive into ActiveSupport instrumentations to collect, group and normalise metrics from your app. To persist these metrics, we will use a time series database and visualise the data on a dashboard. By the end of the talk, you will know how your favourite performance analytics tool works." __________ "Christian Bruckmayer originally from Nuremberg, Germany, but now calls Bristol, UK, his home. In his day job, he makes everyday cooking fun at Cookpad, the best place to find and share home cooked recipes. Since 2014 he is an avid open source contributor hacking for instance on JRuby, openSUSE Linux or various gems. If he's not hacking Ruby, he's out doing what 'young' people do: traveling the world, skiing in the alps or going to concerts of his favourite band."
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 this talk titled "Building a Performance Analytics Tool with ActiveSupport" presented by Christian Bruckmayer at RailsConf 2020 CE, the speaker delves into the creation of a performance monitoring tool inspired by popular SaaS platforms like New Relic and Skylight. The aim is to enhance understanding of how such tools operate internally by constructing a simple analytics solution from scratch, leveraging Ruby on Rails' ActiveSupport for instrumentation. ### Key Points: - **Introduction to Performance Monitoring:** Performance monitoring is essential for identifying bottlenecks within applications, and the speaker emphasizes that the talk will focus on creating a tool called "active monitoring". The covered metrics include response time and database operations, implemented through a Ruby on Rails plugin, a data storage solution, and a dashboard for visualizations. - **ActiveSupport Instrumentation:** Bruckmayer introduces ActiveSupport’s instrumentation framework, explaining how it captures metrics by implementing an event-stream-like structure. He highlights important events within Rails that help extract useful data to monitor performance effectively. - **Data Storage in Time Series Database:** A critical decision discussed is the choice of data storage for metrics. The speaker opts for a time series database, such as InfluxDB, due to its efficiency in handling high write volumes and built-in data retention policies. He compares it to relational databases and discusses the advantages of using time series databases for performance metrics. - **Data Normalization and Grouping:** The process of normalizing and cleaning the metrics data is outlined, including regular expressions to simplify SQL queries for effective grouping and analysis. The importance of filtering out unhelpful queries is also emphasized. - **Visualizing Performance Metrics:** Visualization is discussed as a critical aspect of performance monitoring. The speaker illustrates how visual dashboards can help identify performance problems effectively and prioritize performance improvement efforts. Metrics like average response time, median, and histograms are highlighted as useful tools for analysis. ### Conclusion: By the end of the presentation, attendees will have a comprehensive understanding of how to build a performance monitoring tool using ActiveSupport, from data collection to visualization, enabling developers to better utilize existing analytics tools. The speaker underscores collaboration and contributes to open-source services, inviting others to participate in development efforts in performance monitoring tools. The session emphasizes the famous quote from Richard Feynman, "What I cannot create, I do not understand", suggesting that through the act of building, one can achieve a deeper understanding of the subject matter.
Suggest modifications
Cancel