New Relic Session Replay is a powerful tool that helps you identify and fix issues in your app's performance. It records user sessions, allowing you to replay and analyze them to see exactly what's going on.
This feature is particularly useful for troubleshooting issues that users report but can't reproduce. By replaying the session, you can see the exact sequence of events that led to the issue.
One of the key benefits of New Relic Session Replay is that it provides a detailed, step-by-step view of user interactions. This includes mouse clicks, keyboard inputs, and other interactions that can help you diagnose the root cause of a problem.
With this level of visibility, you can pinpoint the exact moment when an issue occurred and identify the factors that contributed to it.
Troubleshooting
New Relic Session Replay can be a powerful tool for debugging issues, but sometimes it can be tricky to get it working correctly.
Make sure you've properly instrumented your application with the New Relic agent. Without proper instrumentation, Session Replay won't be able to capture any data.
If you're still having trouble, check the Session Replay settings in your New Relic account. Ensure that Session Replay is enabled and that the recording settings are set to capture the desired data.
If the issue persists, try checking the browser console for any errors related to Session Replay. This can help you identify if there's a problem with the plugin or the browser.
New Relic provides a troubleshooting guide that includes steps for resolving common issues with Session Replay.
Configuration
To configure New Relic Session Replay, you can start by setting sampling rates. This means that a random sample of all user sessions will be recorded, and all errored sessions will be recorded regardless of the sample rate. For example, if you set the session sampling rate to 50% and the error sampling rate to 100%, half of all user sessions will be recorded, and all errored sessions will be recorded.
You can also use NerdGraph to configure replay settings. This method is helpful if you need to make bulk changes, such as applying sampling rates to multiple browser entities. To do this, you can use an example mutation and variables to create a new browser application with default settings.
If you need to prioritize specific actions over automatic sampling, you can disable automatic session replay tracking by setting the API configuration option autoStart to false. This will instruct the agent to defer its initialization until explicitly called using the .start() API.
Configure Sampling Rates
To configure sampling rates, you can record a random sample of all user sessions.
User sessions records a random sample of all user sessions. If you set the session sampling rate to 50%, it means that half of all user sessions will be recorded.
Errored sessions are recorded differently. Errored session records a random sample of all errored sessions, and the agent buffers a sliding window of data for up to 30 seconds on the client-side.
If an error occurs, the buffered data will be harvested and the remainder of the session will be recorded. If an error does not occur, the replay is never harvested.
Here's a breakdown of what happens when you set the session sampling rate to 50% and the error sampling rate to 100%:
Manually Update JavaScript Snippet
If you've deployed the browser agent using the copy/paste method, you'll need to update the JavaScript snippet when you enable session replay.
To do this, go to the Application Settings page and copy the new JavaScript snippet. This is because the JavaScript snippet updates to include the new config updates.
You'll need to paste the new snippet in your code where the old snippet was. Make sure to deploy your app afterwards.
Here's a step-by-step guide to update your agent code:
- Copy the new JavaScript snippet from the Application Settings page.
- Paste it in your code where the old snippet was.
- Deploy your app.
Manually Record
Manual recording of session replays is a powerful feature that gives you control over when and how replays are recorded.
To start a session replay manually, you can use the `newrelic.recordReplay` API method. This method allows you to programmatically force a session replay to start recording.
You can also use the `newrelic.pauseReplay` API method to stop a session replay from recording. This is useful if you need to pause the recording for any reason.
If you want to prevent session replays from automatically starting, you can set the `autoStart` API configuration option to `false`. This ensures that session replays will not be created at all, even if the backend samples your application for recording.
Here are the API methods you can use to manually control session replays:
- newrelic.recordReplay
- newrelic.pauseReplay
By using these methods, you can take control of your session replays and customize the recording process to suit your needs.
System Integration
System Integration is a crucial aspect of configuration, allowing Session Replay Software to work seamlessly with existing systems and processes. This integration can include web analytics tools, CRM systems, project management tools, and other applications.
Seamless integration ensures a consistent and efficient workflow, which is a significant technical feature of Session Replay Software. This is achieved through automation of tasks, such as the synchronization of user data with the company's CRM system.
The software can be flexibly deployed and expanded to meet the growing needs of the company, regardless of its size or the number of projects. This scalability is a key benefit of Session Replay Software.
Creating a List
Creating a List is the foundation of selecting the right Session Replay Software. This begins with comprehensive research to compile a list of potential vendors and solutions.
Using various sources such as industry reports, online reviews, recommendations from business partners, and trade journals is key to creating a long list of potential solutions.
The goal is to identify a wide range of solutions that could meet the basic requirements of the company, regardless of whether there are already specific preferences.
Defining Requirements
Defining Requirements is a crucial step in the configuration process. It involves determining the specific requirements that the Session Replay Software must meet.
A detailed list of requirements helps to review the long list and filter out vendors that do not meet the established criteria. This list should include the desired features such as recording and replaying user sessions, heatmaps, data security, real-time analysis, and integration with existing systems.
Budgetary guidelines should also be considered to ensure that the chosen software fits within the allocated budget. Scalability and support requirements should not be overlooked either, as they are essential for the software's long-term success.
A thorough review of the requirements will help to ensure that the chosen software meets the needs of the organization.
Performance and Optimization
Session replay minimizes impact on your app's performance with minimal initial impact, loading asynchronously after full page load, ensuring no interference with early page load performance metrics.
Session replay uses performance optimization techniques to reduce payload size, such as monitoring DOM changes and reporting them as compressed payloads. The size of these payloads correlates with the complexity of the DOM tree.
Here's a look at how session replay handles payload size:
After implementation, the use of the Session Replay Software should be continuously monitored, and feedback from users should be collected.
Data Consumption
The amount of bytes produced by session replay depends on the count, length, and user-activity levels of sessions, as well as the complexity of your site's DOM.
You can project your cost per replay by enabling the feature for a short test period and measuring your actual consumption.
A rough approximation is using an average of 5.3 MB per replay, but keep in mind that your actual cost may vary significantly.
To control your consumption, you can adjust your sampling rates, which is a simple way to reduce your data usage.
The formula to project your approximate costs is: sessions x sampling_rate x gb_per_replay x cost_per_gb.
Your App's Performance
Your app's performance is crucial to providing a seamless user experience. Session replay can actually minimize its impact on your app's performance.
It loads asynchronously after full page load, ensuring no interference with early page load performance metrics. This means your app's initial load speed won't be affected.
Session replay monitors DOM changes and reports them as compressed payloads. The size of these payloads correlates with the complexity of the DOM tree.
Payload size can increase if the DOM is large, but session replay uses techniques to reduce it. These techniques include minimizing initial impact, DOM mutation tracking, and performance optimization techniques.
Here are some ways session replay optimizes payload size:
- DOM mutation tracking
- Performance optimization techniques
By using these techniques, session replay can help ensure your app's performance isn't compromised.
Features and Benefits
New Relic Session Replay offers a range of features and benefits that can help you optimize your application's performance.
With Session Replay, you can record and replay user sessions, allowing you to see exactly what users are experiencing on your application. This feature helps you identify and fix issues that are causing frustration and abandonment.
One of the key benefits of Session Replay is its ability to capture user interactions, including clicks, scrolls, and form submissions. This allows you to pinpoint the exact moments where users are experiencing problems.
By using Session Replay, you can reduce user frustration and improve the overall user experience.
Works
Session replay takes a snapshot of the Document Object Model (DOM) when a user loads your web page, representing the page's structure and visual elements. This snapshot includes any changes made to the DOM as the user interacts with the page.
The browser agent accesses your CSS files to ensure accurate styling information, and integrates these styles directly into the replay recording, eliminating the need to reference external CSS files during playback.
Browser event data is stored for 8 days by default, but actual data retention depends on your account.
Here are some key benefits of session replay's technical setup:
- Data is stored securely in New Relic's database.
- CSS files are accessed directly for accurate styling information.
- External CSS files are not referenced during playback.
Solution
To troubleshoot issues with session replays, let's start by checking the basics. Make sure your sampling rates are correct, as there are separate settings for replays and errors. Also, ensure you have permission to view replays, as this is a requirement for the feature to work.
If you're using the browser agent, make sure it's the Pro or Pro+SPA version, as session replay doesn't work with the Lite version. Additionally, verify that your browser agent meets the necessary requirements, including support for browser-level APIs needed to record session replays.
When filtering your views in the Errors inbox, make sure to always see a replay. By default, browser event data is stored for 8 days, but actual data retention may vary depending on your account.
If you're using the copy/paste deployment method, ensure you've updated your agent code. If you're using the APM deployment method, you may need to wait a while for session replay to be enabled, and if you're still not seeing data, try restarting the agent.
Here are the key deployment method requirements:
- Copy/paste deployment: Update your agent code.
- APM deployment: Wait for session replay to be enabled, or restart the agent if necessary.
Features of Software
The features of software are what make it so useful and versatile. One of the key features is data security, which is essential for protecting sensitive information.
Cloud-based software offers automatic backups, ensuring that data is safely stored and easily recoverable. This feature provides peace of mind for users, knowing their data is secure.
User-friendly interfaces are another crucial feature, allowing individuals to navigate and use the software with ease. This is particularly important for those who may not be tech-savvy.
Real-time collaboration is a feature that enables multiple users to work together on a project simultaneously. This feature is perfect for teams, facilitating communication and productivity.
Customization options allow users to tailor the software to their specific needs, making it a more efficient tool. This feature is especially beneficial for businesses with unique requirements.
Recording User
Recording User Sessions is a powerful feature that allows you to track all interactions of a visitor on your website. This can be done through various interfaces such as desktop applications, mobile devices, or APIs.
Session replay records only the essential DOM state changes needed to reconstruct user interactions, significantly reducing the amount of data stored. This means you can focus on what matters most – understanding how users interact with your website.
To record user sessions, you can use the newrelic.recordReplay API method. This allows you to programmatically force a session replay to start or stop recording.
By default, browser event data is stored for 8 days, but actual data retention depends on your account. You can customize data retention settings to meet your specific needs.
Session replay works by rebuilding the user's DOM, which includes your website's structure and visual elements. To achieve this, our agent needs to access your CSS files to accurately capture styling information.
Here are some possible fixes for session replay issues:
- Check your sampling rates and make sure you have permission to view replays.
- Ensure you're using the Pro or Pro+SPA version of the browser agent, as session replay does not work with the Lite browser agent.
- Verify that your browser agent meets the requirements for recording a session replay.
- Allow users to opt in for interaction recording, for example, by asking "Allow this session to be recorded for performance analysis?"
Heatmaps and Click Analysis
Heatmaps and click analysis provide valuable insights into how users interact with your website. This feature helps companies understand which areas of their website receive the most attention.
By analyzing user behavior, you can identify the most frequently clicked areas and user dwell time. This information can be presented in visual representations, making it easy to see where users are focusing their attention.
Heatmaps and click analysis improve visual attractiveness and visitor engagement by allowing targeted optimization of the website. This can lead to a better user experience and increased conversions.
Benefits of Software
Software can greatly improve productivity by automating repetitive tasks, freeing up time for more important tasks. This is especially true for businesses that rely on manual data entry, where software can reduce errors and increase efficiency by up to 90%.
Having access to a wide range of software applications can also enhance collaboration and communication among team members. For example, project management software can help teams stay organized and on track, even when working remotely.
By automating routine tasks, software can also reduce costs associated with manual labor. This can be seen in industries such as customer service, where chatbots can handle basic inquiries, reducing the need for human customer support agents.
Software can also provide real-time data and analytics, enabling businesses to make informed decisions and stay ahead of the competition. This is particularly useful for e-commerce businesses, where software can help track sales trends and customer behavior.
In addition, software can also provide a competitive edge by enabling businesses to innovate and adapt quickly to changing market conditions. This can be seen in the tech industry, where software is constantly evolving and improving.
Frequently Asked Questions
How does session replay work?
Session replay logs user interactions as 'events', which are then reconstructed to provide a detailed view of the user's experience. This allows for a precise understanding of how users interact with your website or application.
Sources
- https://docs.newrelic.com/docs/browser/browser-monitoring/browser-pro-features/session-replay/
- https://newrelic.com/press-release/20230926
- https://www.apmdigest.com/new-relic-launches-session-replay
- https://channellife.com.au/story/new-relic-launches-session-replay-to-optimise-digital-experiences
- https://omr.com/en/reviews/category/session-replay
Featured Images: pexels.com