Workflow guide

Stage 1. Development

We recommend using Raygun APM while building on your local machine.

Setup

  • Set up a Dev application in Raygun. We do not limit the number of applications you have, so set up a Dev application per developer or per team.
  • Set up a Slack integration for your Dev application to post into a special channel or to send you a direct message.

Workflow

  • Make it a part of your day-to-day work by checking traces in Raygun APM periodically as you are working on a new feature or making an improvement to an existing area of the application. This helps you identify behaviour that is not in line with your expectations about how execution would occur.
  • Include a trace in your pull requests to show how you’ve improved a request, query or method.
  • Sort the issues list by trace count to see issues occurring the most. Pick top issues from the issues list to include a fix for in your next sprint.
  • Review or get notified about n+1 queries or time-consuming methods to get an idea on how long database queries and external API calls are taking.
  • Identify unwanted method capture in the output and use code filtering to remove this from view for future captures.

Stage 2. Test Environment

We strongly recommend running load tests in the test environment to spot performance problems earlier.

Setup

  • Setup an additional Raygun application for your test environment.
  • Copy the code filtering settings from your dev application to this new application.
  • Setup a Slack integration for issue notifications.

Workflow

  • When your code is ready and deployed to the test environment run manual/automated testing.
  • Check the metrics you are interested in - Apdex, request execution speeds etc to assess the performance of the build relative to production measures.
  • If running load tests use Raygun APM to check slow queries, methods and other issues found on the issues tab in the UI or reported in the Slack channel.

Stage 3. Staging / Production

Setup

  • Setup an additional Raygun application for your production environment(s).
  • Copy the code filtering settings from your dev application to this new application.
  • Configure one or more dashboards to provide a high-level overview of your application activity.
  • Specify custom rules that are more targeted to your application to alert you to issues, and possibly disable default rules if they are too broad.
  • Setup Slack integration for notifications.
  • Configure sampling to reduce the volume of capture if required for high volume routes.
  • Configure deployments to track where deployment was made when viewing APM dashboard metrics.

Workflow

  • Use the dashboard to have a high-level track of page execution speeds and database call times.
  • Regularly review the discover section to identify slow running pages, queries and external calls.
  • When working on a specific performance issue identify the trace associated with the request(s) and review the flame chart view to understand what occurred.
  • Use the issues workflow to triage and resolve issues, mark any issues that are not deemed to be relevant as permanently ignored to remove them from your view.
  • Monitor the Slack channel or the UI for issues and changes in the important metrics.

Next steps

Now that you’re all set up it’s time to learn how to get the most out of Raygun APM.