Optimización del rendimiento de la aplicación con New Relic para iOS

New Relic ha ganado nombre y fama por ser la solución número uno para monitorear el rendimiento de la aplicación. Le indica lo que necesita saber sobre sus aplicaciones para mejorar el rendimiento al reducir el tiempo de respuesta y aumentar el rendimiento de la aplicación. Le ayuda a localizar cuellos de botella y monitorear la infraestructura de su servidor.

Sin embargo, estás leyendo este artículo, porque estás interesado en el móvil. No te preocupes, New Relic tiene tu espalda cubierta también. New Relic Mobile te permite monitorear el rendimiento de las aplicaciones iOS y Android. Alan escribió recientemente sobre New Relic para Android, así que te sugiero que consultes su tutorial si estás interesado en Android..

En este tutorial, te mostraré cómo integrar New Relic en una aplicación de iOS. Aprenderá lo fácil que es configurar New Relic y lo que puede hacer por su aplicación iOS en términos de rendimiento y asegurándose de que sus usuarios obtengan la mejor experiencia posible al usar su producto..

Es necesario?

Si crees que el monitoreo del rendimiento de la aplicación solo es útil si mantienes una aplicación web a gran escala como Facebook o Twitter, entonces te sorprenderás. La supervisión del rendimiento de la aplicación siempre es útil si le importa la experiencia de usuario de su producto y sus usuarios.

Casos de uso

Hay varias razones por las que el monitoreo del rendimiento es vital para el éxito de su aplicación. No importa con qué frecuencia hable con los usuarios de su aplicación o con el tamaño de su grupo de evaluadores, no sabe cómo cada uno de sus usuarios está utilizando su aplicación y con qué problemas se encuentran..

No hace mucho tiempo, desarrollé y mantuve una aplicación para iPad que se integró con Aperture y iPhoto. Aunque el concepto era bastante sencillo, a menudo me desconcertaba la forma en que la gente estaba usando mi aplicación. Créame cuando le digo que su aplicación se usará de maneras que usted no anticipó o ni siquiera pensó. Esto está bien y es perfectamente normal, pero asegúrese de tener una solución implementada que le indique lo que necesita saber sobre el estado y el rendimiento de su aplicación para poder optimizar los casos de uso que no tuvo en cuenta durante el desarrollo..

Problemas de red

Otro error común es que los dispositivos móviles son muy rápidos y todos tienen acceso a una conexión LTE ultrarrápida. Me temo que la verdad es menos rosada. New Relic le permite supervisar las solicitudes de API que realiza su aplicación, cuánto tardan en completarse y cómo esto afecta la experiencia del usuario de su aplicación..

Si su aplicación obtiene datos de una API y esa solicitud tarda varios segundos en completarse, entonces los usuarios podrían deshacerse de su aplicación la segunda o tercera vez que la utilicen. A la gente no le gusta esperar y espera que todo sea rápido..

Como señaló recientemente David Smith en An Unexpected Botnet, su aplicación a veces puede mostrar un comportamiento impredecible, sin importar qué tan bien sepa la base del código y los marcos del sistema con los que interactúa su aplicación. No espere a que sus usuarios le informen problemas o, lo que es peor, que busquen una alternativa sin siquiera informarle sobre el problema que los hizo cambiar.

1. Creando una aplicación en New Relic

Comenzar con New Relic es gratis. Dirígete al sitio web de New Relic y crea una cuenta para que puedas seguirla. En su cuenta New Relic, seleccione la Móvil pestaña a la izquierda y elige iOS De la lista de plataformas..

Dale un nombre a tu aplicación y haz clic Continuar para comenzar a integrar New Relic en tu aplicación iOS.

2. Instalar el nuevo SDK de Relic

El siguiente paso es integrar el New Relic SDK en su aplicación iOS. Para darle una ventaja, he creado una aplicación de muestra que puede usar, que puede encontrar en los archivos de origen de este tutorial. La aplicación de muestra es un cliente meteorológico simple que creé para otro tutorial. Es un gran ajuste para New Relic Mobile.

Tiene dos opciones para instalar New Relic SDK, manualmente o a través de CocoaPods. Debido a que la aplicación de ejemplo ya usa CocoaPods, usaré CocoaPods para instalar el SDK de New Relic.

Abra el archivo Podfile del proyecto en la raíz del proyecto y actualice la lista de dependencias como se muestra a continuación.

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

Para instalar el SDK de New Relic, abra una ventana de terminal, navegue hasta la ubicación del Podfile del proyecto y ejecute actualización de pod. La belleza de CocoaPods es que también vincula el proyecto con los marcos y bibliotecas necesarios. El New Relic SDK depende de la Telefonía central y Configuración del sistema marcos, así como la libz biblioteca. Si está utilizando CocoaPods, no tiene que preocuparse por esto..

Genere el proyecto para verificar que todo funciona como se espera y el compilador no genera errores..

Si eres nuevo en CocoaPods, tómate unos minutos para leer mi tutorial sobre CocoaPods. CocoaPods se ha convertido en la herramienta de gestión de dependencia de facto para el desarrollo de iOS y OS X.

3. Integrando Nueva Reliquia

Paso 1

Una vez que haya instalado el SDK de New Relic, la integración de New Relic es tan fácil como circular. Abra el archivo de encabezado precompilado de su proyecto y agregue la siguiente declaración de importación.

#importar 

El archivo de encabezado precompilado se encuentra en Archivos de apoyo y termina en -Prefijo.pch. El archivo de encabezado precompilado de la aplicación de ejemplo, por ejemplo, se denomina Rain-Prefix.pch.

Paso 2

Para configurar New Relic, abra el delegado de aplicación de su aplicación y agregue el siguiente fragmento de código a aplicación: didFinishLaunchingWithOptions:. Asegúrese de pasar su propio token de aplicación como el argumento de startWithApplicationToken:.

[NewRelicAgent startWithApplicationToken: @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];

Puede encontrar el token de su aplicación en el panel de control de New Relic.

4. Ejecutar la aplicación

La aplicación de ejemplo utiliza el Pronóstico para obtener datos del clima, así que reemplace la clave API en MTConstantes.m con su propia clave API. Puedes crear una cuenta gratuita de Forecast en el sitio web de Forecast..

#pragma mark - #pragma mark Forecast API NSString * const MTForecastAPIKey = @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

5. Explorando el nuevo tablero de reliquias

Visión general

Una vez que haya configurado con éxito New Relic para su aplicación de iOS, automáticamente comenzará a enviar datos a los servidores de New Relic. La cantidad de datos que el SDK recopila para usted es asombrosa y el nivel de detalle puede ser incluso un poco abrumador. Tomemos un momento para ver qué datos ha recopilado New Relic para nuestra aplicación meteorológica.

Inicia sesión en tu cuenta de New Relic y selecciona la Móvil pestaña a la izquierda para ver una lista de las aplicaciones móviles que New Relic está monitoreando. Esta lista le da inmediatamente una idea del estado de su aplicación al mostrarle la cantidad de sesiones activas, el rendimiento de la red y los posibles problemas que New Relic ha detectado. Hacer clic Lluvia para seguir explorando los datos que New Relic está recolectando para nosotros.

los Visión general La página muestra una imagen de alto nivel del rendimiento de su aplicación. Le muestra una serie de estadísticas de rendimiento clave, como los tiempos de ejecución de varias operaciones, incluida la carga de vistas y la ejecución de solicitudes HTTP.

Estás viendo datos en vivo, pero puedes ajustar la escala de tiempo en la parte superior derecha de la página para navegar por los datos históricos.

Aunque el rendimiento de la red es importante para la mayoría de las aplicaciones móviles, los datos de rendimiento que recopila New Relic no se limitan a eso. Si abres el Interacciones pestaña en la parte superior, verás cuánto duran ciertas interacciones y, lo que es más importante, New Relic te muestra convenientemente qué interacciones son las más lentas.

He probado Rain en un iPhone 3GS antiguo con iOS 6.1.3 y no debería sorprenderte que New Relic nos muestra sin esfuerzo que nuestra aplicación funciona con lentitud en este dispositivo y en iOS 6.

Por supuesto, depende de usted decidir cómo usa los datos que New Relic recopila para usted. El iPhone 3GS se introdujo en 2009 e iOS 7 ha superado una participación de mercado del 80%, por lo que puede que no valga la pena ajustar su aplicación para mejorar el rendimiento de un iPhone 3GS con iOS 6. Sin embargo, es importante entender que esto también es información valiosa. le permite tomar decisiones apropiadas en términos de desarrollo y enfoque.

Además de recopilar datos sobre el rendimiento de la aplicación, New Relic también recopila información sobre el uso de la aplicación, como la cantidad de usuarios activos, información del dispositivo, etc. New Relic es mucho más que una solución de monitoreo de rendimiento de la aplicación..

Red

New Relic es una gran solución para monitorear el desempeño de las operaciones de red en dispositivos móviles. Le muestra exactamente qué solicitudes realiza su solicitud, cuánto tardan en completarse y si aparece algún error.

Es posible que esto no parezca útil si no está ejecutando su propio backend, pero sí ayuda a decidir qué solicitudes se envían en qué momento para que su aplicación sea más ágil y receptiva. Los desarrolladores a menudo asumen erróneamente que no se puede hacer nada si una aplicación confía en un tercero para sus datos. Esto simplemente no es cierto y New Relic le ayuda a evitar tales problemas.

Las alertas

Las alertas son una de las características más poderosas y útiles de New Relic. En el Ajustes pestaña, puede configurar una o más alertas personalizadas, lo cual es especialmente útil si su aplicación se conecta con un backend que usted mantiene y controla.

En el siguiente ejemplo, he creado una alerta para notificarme cuando las solicitudes a la API de Pronóstico se vuelven muy lentas, demorando más de cinco segundos en completarse.

Conclusión

Como desarrollador, siempre debe tener en cuenta que no sabe cómo se está utilizando su aplicación y bajo qué circunstancias. Esto implica que no puede predecir el comportamiento de su aplicación para cada usuario de su aplicación.

New Relic es un servicio valioso para cada aplicación de iOS que tiene cierta complejidad. La gente descarga muchas y muchas aplicaciones todos los días, lo que significa que no dudan en deshacerse de su aplicación para obtener la mejor alternativa. Por lo tanto, es clave asegurarse de que su aplicación funcione bien para que sus usuarios sean usuarios felices. New Relic te ayuda con esto.