Optimiser les performances des applications avec New Relic pour iOS

New Relic a acquis le nom et la renommée pour être la solution numéro un pour la surveillance des performances des applications. Il vous indique ce que vous devez savoir sur vos applications pour améliorer les performances en réduisant les temps de réponse et en augmentant le débit des applications. Il vous aide à localiser les goulots d'étranglement et à surveiller votre infrastructure de serveur..

Cependant, vous lisez cet article, car le mobile vous intéresse. Ne vous inquiétez pas, New Relic couvre également votre dos. New Relic Mobile vous permet de surveiller les performances des applications iOS et Android. Alan a récemment écrit sur New Relic pour Android, je vous suggère donc de consulter son tutoriel si vous êtes intéressé par Android.

Dans ce tutoriel, je vais vous montrer comment intégrer New Relic dans une application iOS. Vous apprendrez à quel point il est facile de configurer New Relic et ce que cela peut faire pour votre application iOS en termes de performances et vous assurer que vos utilisateurs obtiennent la meilleure expérience possible avec votre produit..

Est-ce nécessaire?

Si vous pensez que la surveillance des performances des applications n'est utile que si vous gérez une application Web à grande échelle telle que Facebook ou Twitter, vous êtes surpris. Contrôler les performances des applications est toujours utile si vous vous souciez de l'expérience utilisateur de votre produit et de ses utilisateurs..

Cas d'utilisation

La surveillance des performances est essentielle au succès de votre application pour plusieurs raisons. Quelle que soit la fréquence à laquelle vous parlez aux utilisateurs de votre application ou la taille de votre groupe de testeurs, vous ne savez pas comment chacun de vos utilisateurs utilise votre application et quels problèmes ils rencontrent..

Il n'y a pas si longtemps, j'ai développé et mis à jour une application iPad intégrée à Aperture et iPhoto. Même s’il s’agissait d’un concept assez simple, j’étais souvent déconcerté par la façon dont les gens utilisaient mon application. Croyez-moi, je vous dirai que votre application sera utilisée d'une manière que vous n'aviez pas anticipée ou même envisagée. Ceci est correct et parfaitement normal, mais assurez-vous de disposer d'une solution vous indiquant ce que vous devez savoir sur la santé et les performances de votre application afin de pouvoir optimiser les cas d'utilisation que vous n'avez pas pris en compte lors du développement..

Problèmes de réseau

Une autre idée fausse commune est que les appareils mobiles sont ultra-rapides et que tout le monde a accès à une connexion LTE ultra rapide. Je crains que la vérité ne soit moins rose. New Relic vous permet de surveiller les demandes d'API de votre application, leur temps de traitement et l'impact sur l'expérience utilisateur de votre application..

Si votre application récupère les données d'une API et que la demande prend plusieurs secondes, vos utilisateurs peuvent abandonner votre application la deuxième ou la troisième fois qu'ils l'utilisent. Les gens n'aiment pas attendre et s'attendent à ce que tout soit rapide.

Comme David Smith l’a récemment souligné dans An Botnet inattendu, votre application peut parfois afficher un comportement imprévisible, même si vous connaissez bien la base de code et les cadres système avec lesquels votre application interagit. N'attendez pas que vos utilisateurs vous signalent des problèmes ou, pire encore, qu'ils recherchent une solution de rechange sans même vous informer du problème qui les a fait basculer..

1. Créer une application dans une nouvelle relique

Débuter avec New Relic est gratuit. Rendez-vous sur le site Web de New Relic et créez un compte pour pouvoir le suivre. Dans votre compte New Relic, sélectionnez le Mobile onglet à gauche et choisissez iOS de la liste des plates-formes.

Donnez un nom à votre application et cliquez sur Continuer commencer à intégrer New Relic à votre application iOS.

2. Installation du nouveau SDK Relic

La prochaine étape consiste à intégrer le nouveau SDK Relic à votre application iOS. Pour vous donner une longueur d'avance, j'ai créé un exemple d'application que vous pouvez utiliser, que vous pouvez trouver dans les fichiers source de ce didacticiel. L'exemple d'application est un client météo simple que j'ai créé pour un autre tutoriel. C'est une solution idéale pour New Relic Mobile.

Vous avez deux options pour installer le kit de développement de New Relic, manuellement ou par l’intermédiaire de CocoaPods. Étant donné que l'exemple d'application utilise déjà CocoaPods, j'utiliserai CocoaPods pour installer le nouveau SDK Relic..

Ouvrez le fichier podfile du projet à la racine du projet et mettez à jour la liste des dépendances comme indiqué ci-dessous..

plate-forme: ios, pod '6.0' 'ViewDeck', '~> 2.2.11' pod 'AFNetworking', '~> 1.2.1' pod 'SVProgressHUD', '~> 0.9.0' pod 'NewRelicAgent', '~ > 3.289 '

Pour installer le nouveau SDK Relic, ouvrez une fenêtre de terminal, accédez à l'emplacement du fichier podfile du projet et exécutez pod update. La beauté de CocoaPods réside dans le fait qu’il associe également le projet aux cadres et bibliothèques nécessaires. Le nouveau SDK Relic dépend de la Téléphonie de base et Configuration du système cadres ainsi que le libz bibliothèque. Si vous utilisez CocoaPods, vous n'avez pas à vous en préoccuper.

Générez le projet pour vérifier que tout fonctionne comme prévu et qu'aucune erreur n'est renvoyée par le compilateur.

Si vous êtes nouveau sur CocoaPods, prenez quelques minutes pour lire mon tutoriel sur CocoaPods. CocoaPods est devenu l'outil de gestion de la dépendance de facto pour le développement iOS et OS X.

3. Intégration de la nouvelle relique

Étape 1

Une fois que vous avez installé le SDK de New Relic, l’intégration de New Relic est simple et facile. Ouvrez le fichier d'en-tête précompilé de votre projet et ajoutez l'instruction d'importation suivante..

#importation 

Le fichier d’en-tête précompilé se trouve dans Fichiers de support et se termine dans -Prefix.pch. Le fichier d’en-tête précompilé de l’exemple d’application, par exemple, est nommé Rain-Prefix.pch.

Étape 2

Pour définir New Relic up, ouvrez le délégué d’application de votre application et ajoutez le fragment de code suivant à application: didFinishLaunchingWithOptions:. Assurez-vous de passer votre propre jeton d’application comme argument de startWithApplicationToken:.

[NewRelicAgent startWithApplicationToken: @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];

Vous pouvez trouver le jeton de votre application dans le tableau de bord de New Relic..

4. Lancer l'application

L’exemple d’application utilise Forecast pour extraire les données météorologiques; remplacez donc la clé API dans MTConstants.m avec votre propre clé API. Vous pouvez créer un compte Forecast gratuit sur le site Web Forecast..

#pragma mark - #pragma mark API de prévision NSString * const MTForecastAPIKey = @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

5. Explorer le nouveau tableau de bord Relic

Vue d'ensemble

Une fois que vous avez correctement configuré New Relic pour votre application iOS, il commence automatiquement à envoyer des données aux serveurs de New Relic. La quantité de données que le SDK collecte pour vous est stupéfiante et le niveau de détail peut même être un peu écrasant. Prenons un moment pour voir quelles données New Relic a collectées pour notre application météo.

Connectez-vous à votre compte New Relic et sélectionnez le Mobile Cliquez sur l'onglet à gauche pour voir une liste des applications mobiles que New Relic surveille pour vous. Cette liste vous donne immédiatement une idée du statut de votre application en vous indiquant le nombre de sessions actives, les performances du réseau et les problèmes éventuels détectés par New Relic. Cliquez sur Pluie pour explorer davantage les données que New Relic recueille pour nous.

le Vue d'ensemble Cette page vous montre une vue d'ensemble de la performance de votre application. Il vous montre un certain nombre de statistiques de performances clés, telles que les temps d'exécution de diverses opérations, y compris le chargement de vues et l'exécution de requêtes HTTP..

Vous consultez des données en temps réel, mais vous pouvez ajuster l’échelle de temps en haut à droite de la page pour parcourir les données historiques..

Même si les performances du réseau sont importantes pour la plupart des applications mobiles, les données de performance recueillies par New Relic ne se limitent pas à cela. Si vous ouvrez le Les interactions onglet en haut, vous verrez combien de temps prennent certaines interactions et, plus important encore, New Relic vous indique les interactions les plus lentes.

J'ai testé Rain sur un vieil iPhone 3GS sous iOS 6.1.3 et rien ne vous surprendra que New Relic nous montre sans effort que notre application fonctionne lentement sur cet appareil et sur iOS 6..

Bien entendu, il vous appartient de décider de votre utilisation des données que New Relic collecte pour vous. L'iPhone 3GS a été introduit en 2009 et iOS 7 ayant dépassé les 80% de parts de marché, il ne serait peut-être pas utile de peaufiner votre application pour améliorer les performances sur un iPhone 3GS exécutant iOS 6. Cependant, il est important de comprendre qu'il s'agit également d'informations précieuses et il vous permet de prendre les décisions appropriées en termes de développement et de concentration.

Outre la collecte de données sur les performances des applications, New Relic collecte également des informations sur l'utilisation des applications, telles que le nombre d'utilisateurs actifs, les informations sur les périphériques, etc. New Relic est bien plus qu'une solution de surveillance des performances des applications..

Réseau

New Relic est une excellente solution pour surveiller les performances des opérations réseau sur les mobiles. Il vous indique exactement les demandes de votre demande, leur délai de traitement et le nombre d'erreurs éventuelles..

Cela peut ne pas sembler utile si vous n'exécutez pas votre propre back-end, mais cela aide à décider quelles demandes sont envoyées à quel moment pour rendre votre application plus vive et plus réactive. Les développeurs supposent souvent à tort que rien ne peut être fait si une application s'appuie sur un tiers pour ses données. Ce n'est tout simplement pas vrai et New Relic vous aide à éviter de tels problèmes.

Les alertes

Les alertes sont l’une des fonctionnalités les plus puissantes et les plus utiles de New Relic. dans le Réglages onglet, vous pouvez définir une ou plusieurs alertes personnalisées, ce qui est particulièrement utile si votre application se connecte avec un serveur que vous gérez et gérez..

Dans l'exemple suivant, j'ai créé une alerte pour m'avertir lorsque les demandes adressées à l'API de prévision deviennent très lentes et prennent plus de cinq secondes..

Conclusion

En tant que développeur, vous devez toujours garder à l'esprit que vous ne savez pas comment votre application est utilisée et dans quelles circonstances. Cela implique que vous ne pouvez pas prédire le comportement de votre application pour chaque utilisateur de votre application..

New Relic est un service précieux pour toutes les applications iOS complexes. Les gens téléchargent de nombreuses applications tous les jours, ce qui signifie qu'ils n'hésitent pas à abandonner votre application pour la meilleure des choses. Il est donc essentiel de vous assurer que votre application fonctionne correctement pour que vos utilisateurs soient des utilisateurs satisfaits. New Relic vous aide avec ça.