DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Software Design and Architecture
  3. Performance
  4. Improve User Experiences on Any Platform With Pulse for Mobile

Improve User Experiences on Any Platform With Pulse for Mobile

Raygun is officially releasing full support for mobile applications to go alongside existing support for web-based applications. So you can now enjoy real user monitoring on either platform!

Freyja Spaven user avatar by
Freyja Spaven
·
Nov. 10, 16 · Opinion
Like (2)
Save
Tweet
Share
2.28K Views

Join the DZone community and get the full member experience.

Join For Free

Pulse Real User Monitoring from Raygun gives you the power to take a deep dive into exactly how your end users are navigating through your applications, and where they may be experiencing problems like slow page load speeds or problematic scripts.

Today we are officially releasing full support for mobile applications to go alongside existing support for web-based applications. So you can now enjoy real user monitoring on either platform!

pulse

During our open beta of Pulse for mobile, we’ve received great feedback and suggestions that allowed us to refine and enhance Pulse for mobile. The insights you gain from Pulse will cut down the time spent wondering what to improve and will take you straight to the real problems your end users are facing.

See how to get started with Pulse for web or Pulse for mobile.

What we’ve added since our Pulse for mobile beta launch:

  • New automatic network logging for Android
  • Expanded iOS automatic network logging coverage
  • Added filtering for view and network information
  • Updated Pulse for mobile dashboards

Automatic Network Performance Logging for Android

Raygun4Android will now automatically report the time it took to make a successful network request using java.net.HttpURLConnection and javax.net.ssl.HttpsURLConnection classes.

The duration of the network request will be tracked and reported in the performance tab of your application under network calls:

networklogging in Pulse for mobile aplications

Expanded Automatic Network Performance Logging for iOS

We have expanded our coverage of automatic network logging to include NSURLSession methods that make use of NSURLSessionDelegate callbacks. Below is the full list of methods that are automatically logged on iOS.

[NSURLSession dataTaskWithURL:] [NSURLSession dataTaskWithURL:completionHandler:] [NSURLSession dataTaskWithRequest:] [NSURLSession dataTaskWithRequest:completionHandler:] [NSURLSession downloadTaskWithURL:] [NSURLSession downloadTaskWithURL:completionHandler:] [NSURLSession downloadTaskWithRequest:] [NSURLSession downloadTaskWithRequest:completionHandler:] [NSURLSession uploadTaskWithRequest:fromData:] [NSURLSession uploadTaskWithRequest:fromData:completionHandler:] [NSURLSession uploadTaskWithRequest:fromFile:] [NSURLSession uploadTaskWithRequest:fromFile:completionHandler:] [NSURLConnection sendAsynchronousRequest:queue:completionHandler] [NSURLConnection sendSynchronousRequest:returningResponse:error:]

Filtering View and Network Information

A few updates have been made to the mobile providers to allow a more customizable Pulse experience. Not all information Pulse for mobile reports share the same importance, so we make it easy to filter out that information before it’s sent to us.

You can filter out the reporting of view information by view name. For iOS this will be the name of the controller class and on Android it is the activity’s name.

Raygun4iOS:

[[Raygun sharedReporter] ignoreViews:[[NSArray alloc]initWithObjects:@"RootViewController", nil]];

Raygun4Android:

RaygunClient.ignoreViews(new String[]{ "MainActivity" });

If you don’t wish the performance of certain network requests to be logged, you can filter them out by URL.

Raygun4iOS:

[[Raygun sharedReporter] ignoreURLs:[[NSArray alloc]initWithObjects:@"raygun.com", nil]];

Raygun4Android:

RaygunClient.ignoreURLs(new String[]{ "raygun.com" });

We also provide the option to disable network performance logging entirely when attaching Pulse.

Raygun4iOS:

[[Raygun sharedReporter] attachPulseWithNetworkLogging:false];

Raygun4Android:

boolean withNetworkLogging = false; RaygunClient.attachPulse(this, withNetworkLogging);

Updates to the Pulse for Mobile Dashboard

We have updated and added new modules to the Pulse for mobile dashboard. In the performance tab you will find new modules for the slowest views and average load time.

You can now see at a glance which of your views may need some performance optimizations and how they are performing over time. For example, below in the slowest views module image we can see that ‘DataViewController’ may require the most attention to improve the user’s experience as it has the longest load time in your application:

slowest views ios module in Pulse for mobile applications

The image below shows the average load times for sessions during a certain time period. This is a useful way to see the differences between the fastest and slowest load times, and to check whether any actions should be taken to reduce the load differences:

performance load time distribution shown in Pusle for mobile applications

Modules in the view tab have also been updated to include the average load time for a view, giving you a chance to spot frequently seen views with poor performance:

most viewed with loadt imes ios - shown in the module inside Pulse for Mobile applications

The frequent last views module shows the last view the user saw before leaving your application. Adding the load duration helps to highlight the possibility that long load times is the reason why users end their session on this view:

frequent last views with load time ios shown in Pulse for mobile applications

We have continued the same improvements when inspecting a user session in more detail. We added an overall session average for view load times to the session overview:

session over view new load time ios shown in Pulse for mobile

The session trace blocks now include the individual view load times, giving you a clearer breakdown on where users are spending their time:

session detail load time ios - shown in Pulse for mobile applications

PULSE (P2PTV) mobile app Network Network performance Real user monitoring

Published at DZone with permission of Freyja Spaven, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Unlocking the Power of Elasticsearch: A Comprehensive Guide to Complex Search Use Cases
  • Real-Time Analytics for IoT
  • Steel Threads Are a Technique That Will Make You a Better Engineer
  • Building a Real-Time App With Spring Boot, Cassandra, Pulsar, React, and Hilla

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: