New Relic har fått namn och berömmelse för att vara den ledande lösningen för övervakning av programprestanda. Det berättar för dig vad du behöver veta om dina applikationer för att förbättra prestanda genom att minska svarstiden och öka tillämpningens genomströmning. Det hjälper dig att spåra flaskhalsar och övervaka din serverinfrastruktur.
Du läser dock denna artikel eftersom du är intresserad av mobilen. Oroa dig inte, New Relic har din rygg täckt också. New Relic Mobile kan du övervaka resultatet av iOS och Android-applikationer. Alan skrev nyligen om New Relic for Android, så jag föreslår att du kolla in hans handledning om du är intresserad av Android.
I denna handledning visar jag dig hur man integrerar New Relic i ett iOS-program. Du kommer att lära dig hur lätt det är att skapa New Relic och vad det kan göra för din iOS-applikation när det gäller prestanda och se till att dina användare får bästa möjliga upplevelse med din produkt.
Om du tycker att övervakning av tillämpningsprestanda endast är användbar om du behåller ett stort webbapplikationsprogram som Facebook eller Twitter, så är du in för en överraskning. Övervakning av programprestanda är alltid användbar om du bryr dig om användarupplevelsen för din produkt och dess användare.
Det finns flera anledningar till att övervakning av prestanda är avgörande för framgången med din ansökan. Oavsett hur ofta du pratar med användarna av din ansökan eller hur stor din grupp av testare är, vet du inte hur var och en av dina användare använder din ansökan och vilka problem de stöter på.
Inte för länge sedan utvecklade och underhållte jag en iPad-applikation som integrerades med Aperture och iPhoto. Händelse trots att konceptet var ganska enkelt, blev jag ofta förvirrad av det sätt som folk använde min ansökan. Tro mig när jag säger att din ansökan kommer att användas på sätt som du inte förutse eller ens tänkt på. Det här är bra och helt normalt, men se till att du har en lösning som beskriver vad du behöver veta om din ansökans hälsa och prestanda, så att du kan optimera för användningssaker som du inte funderade under utveckling.
En annan vanlig missuppfattning är att mobila enheter är blixtar snabbt och alla har tillgång till en flaskande snabb LTE-anslutning. Jag är rädd att sanningen är mindre rosig. Med New Relic kan du övervaka API-förfrågningar som din ansökan gör, hur lång tid de tar för att slutföra och hur det påverkar programmets användarupplevelse.
Om din ansökan hämtar data från ett API och den här förfrågan tar flera sekunder att slutföra, kan dina användare dölja din ansökan den andra eller tredje gången de använder den. Människor gillar inte att vänta och de förväntar sig allting att vara snabb.
Som David Smith nyligen påpekade i ett oväntat botnet kan din ansökan ibland visa oförutsägbart beteende, oavsett hur bra du känner till kodbasen och systemramarna som din applikation interagerar med. Vänta inte på att dina användare rapporterar problem till dig eller, ännu värre, för att de ska leta efter ett alternativ utan att ens berätta om problemet som gjorde att de växte.
Komma igång med New Relic är gratis. Gå vidare till New Relics hemsida och skapa ett konto så att du kan följa med. I ditt New Relic-konto väljer du Mobil fliken till vänster och välj iOS från listan över plattformar.
Ange ditt namn och klicka på Fortsätta att komma igång med att integrera New Relic i din iOS-applikation.
Nästa steg är att integrera New Relic SDK i din iOS-applikation. För att ge dig ett försprång har jag skapat ett exempelprogram som du kan använda, vilket du hittar i källfilerna i denna handledning. Provprogrammet är en enkel väderklient som jag skapade för en annan handledning. Det är en bra passform för New Relic Mobile.
Du har två alternativ för att installera New Relic SDK, manuellt eller via CocoaPods. Eftersom provapplikationen redan använder CocoaPods använder jag CocoaPods för att installera New Relic SDK.
Öppna projektets Podfile i projektets rot och uppdatera listan över beroenden enligt nedan.
plattform: IOS, '6.0' pod 'ViewDeck', '~> 2.2.11' pod 'AFNetworking', '~> 1.2.1' pod 'SVProgressHUD', '~> 0.9.0' pod 'NewRelicAgent' > 3,289 '
För att installera SDK för New Relic, öppna ett terminalfönster, navigera till platsen för projektets Podfile och kör pod uppdatering
. KakaoPods skönhet är att det också länkar projektet mot nödvändiga ramar och bibliotek. New Relic SDK beror på Kärntelefoni och Systemkonfiguration ramverk samt libz bibliotek. Om du använder CocoaPods behöver du inte oroa dig för det här.
Bygg projektet för att verifiera att allt fungerar som förväntat och inga fel kastas av kompilatorn.
Om du är ny på CocoaPods, ta några minuter att läsa min handledning om CocoaPods. CocoaPods har blivit de facto dependence management verktyg för iOS och OS X utveckling.
När du har installerat New Relic SDK, är det enkelt att integrera New Relic som paj. Öppna projektets förkompilerade headerfil och lägg till följande importdeklaration.
#importera
Den förkompilerade headerfilen finns i Stödja filer och slutar i -Prefix.pch. Den förkompilerade huvudfilen i exempelapplikationen, till exempel, heter Regn-Prefix.pch.
För att ställa in New Relic upp öppnar du programmets programdelegate och lägger till följande kod till applikations: didFinishLaunchingWithOptions:
. Var noga med att skicka din egen ansökan token som argumentet för startWithApplicationToken:
.
[NewRelicAgent startWithApplicationToken: @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];
Du kan hitta din applikations token i New Relic-instrumentpanelen.
Proverapplikationen använder prognos för att hämta väderinformation, så ersätt API-nyckeln i MTConstants.m med din egen API-nyckel. Du kan skapa ett gratis prognoskonto på prognoswebbplatsen.
#pragma markera - #pragma markera prognos API NSString * const MTForecastAPIKey = @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
När du väl har konfigurerat New Relic för ditt iOS-program börjar det automatiskt att skicka data till New Relics servrar. Mängden data som SDK samlar för dig är häpnadsväckande och detaljeringsgraden kan till och med vara lite överväldigande. Låt oss ta en stund för att se vilka uppgifter New Relic har samlat in för vår väderapplikation.
Logga in på ditt nya Relic-konto och välj Mobil fliken till vänster för att se en lista över mobilapplikationerna New Relic övervakar dig. Denna lista ger dig omedelbart en bild av statusen för din ansökan genom att visa dig antalet aktiva sessioner, nätverksprestanda och eventuella problem som New Relic har upptäckt. Klick Regn För att ytterligare undersöka de uppgifter som New Relic samlar in för oss.
De Översikt sidan visar en högupplöst bild av hur din applikation utförs. Det visar dig ett antal viktiga resultatstatistik, t.ex. körtider för olika operationer, inklusive laddning av visningar och utförande av HTTP-förfrågningar.
Du tittar på levnadsdata, men du kan justera tidsskala längst upp till höger på sidan för att bläddra i historiska data.
Trots att nätverksprestanda är viktigt för de flesta mobila applikationer, är prestationsdata New Relic samlar inte begränsat till det. Om du öppnar interaktioner fliken längst upp ser du hur länge vissa interaktioner tar och, viktigare, New Relic visar dig bekvämt vilka interaktioner som är långsammaste.
Jag har testat Rain på en gammal iPhone 3GS som kör iOS 6.1.3 och det ska inte överraska dig att New Relic visar oss utan problem att vår program går långsamt på den här enheten och på IOS 6.
Självklart är det upp till dig att bestämma hur du använder data New Relic samlar för dig. IPhone 3GS introducerades 2009 och iOS 7 har överträffat en marknadsandel på 80%, så det kan inte vara värt att anpassa din applikation för att förbättra prestanda på en iPhone 3GS som kör iOS 6. Det är dock viktigt att förstå att detta också är värdefull information och det gör att du kan fatta lämpliga beslut när det gäller utveckling och fokus.
Förutom att samla in data om applikationsprestandan samlar New Relic också information om applikationsanvändning, som antalet aktiva användare, enhetsinformation etc. New Relic är mycket mer än en lösning för övervakning av programövervakning.
New Relic är en bra lösning för övervakning av prestanda för nätverksoperationer på mobilen. Det visar dig exakt vilka förfrågningar din ansökan gör, hur länge de tar för att slutföra, och om några fel dyker upp.
Det här kanske inte verkar vara användbart om du inte kör din egen backend, men det hjälper dig att bestämma vilka förfrågningar som skickas i vilket ögonblick som helst för att göra din ansökan snabbare och mer mottaglig. Utvecklare antar ofta felaktigt att ingenting kan göras om en ansökan är beroende av en tredje part för dess data. Det här är helt enkelt inte sant och New Relic hjälper dig att undvika sådana problem.
Varningar är en av de mest kraftfulla och användbara funktionerna i New Relic. I inställningar fliken kan du ställa in en eller flera anpassade varningar, vilket är särskilt användbart om din applikation ansluter till en backend som du behåller och kontrollerar.
I det följande exemplet har jag skapat en varning för att meddela mig när förfrågningar till prognos API håller på att bli mycket långsam och tar mer än fem sekunder att slutföra.
Som utvecklare måste du alltid komma ihåg att du inte vet hur din ansökan används och under vilka omständigheter. Detta innebär att du inte kan förutsäga beteendet för din ansökan för varje användare av din ansökan.
New Relic är en värdefull tjänst för alla iOS-program som har lite komplexitet till det. Människor laddar ner massor av applikationer varje dag, vilket innebär att de inte tvekar att dölja din ansökan till nästa bästa sak. Det är därför viktigt att du ser till att din ansökan fungerar bra så att dina användare är glada användare. New Relic hjälper dig med detta.