Over 350,000 users receive faster and more effective training with Lessonly's employee-focused learning management system. Founded in 2013, companies such as Stripe, Birchbox, and ModCloth rely on Lessonly to educate their workforce.

Debugging performance issues took too much time

As Lessonly's success and application usage climbed, debugging application performance issues was eating up development time. Their monitoring solution let them see their basic performance stats, but only at a high level. When issues were reported, Lessonly's generic monitoring could not identify causes, and problems could not be reproduced outside of production.

One particular issue led the Lessonly engineering team to look for a deeper monitoring solution. Customers began increasingly reporting "the application just feels slower" to support staff. Lessonly's team was unable to replicate the issue or find any monitoring data that indicated a problem. After this final frustration, Lessonly decided they needed monitoring that would actually help them understand what was happening inside their application.

Monitoring specific code paths in production, in real-time

After discovering Instrumental, and with help from @jnunemaker's Instrumental-based Nunes gem, Lessonly added code-level metrics and visualizations to cover their entire Ruby on Rails application in a few hours. Where their old monitoring provided general data, Instrumental let them measure specific code paths in production, in real-time.

Using Instrumental's powerful query language, they were able to quickly identify and isolate the load time issue. By grouping the load time of various template partials over a two-week period, it became obvious that one particular partial was the cause of Lessonly's problem. Further exploration of that partial's Instrumental data showed the issue stemmed from a single database query.

Solving performance problems in minutes

Instrumental's ecosystem and powerful query language now lets Lessonly track down performance problems in minutes, instead of hours or days. At a glance, Lessonly can see a breakdown of the execution time of any application component. Lessonly uses Instrumental's graphing and alerting capabilities to monitor critical components so they are aware of regressions before their customers have a problem.

Lessonly plans to expand their Instrumental usage to include marketing and customer usage metrics. Instrumental's query language will allow for easy comparison of different metric sources. For example, marketing conversion rates can be compared with website load times and lesson completion rates can be compared across feature releases.

Questions? We can help!