New Relic har fått navn og berømmelse for å være nummer én løsning for å overvåke applikasjonsytelsen. Den forteller deg hva du trenger å vite om programmene dine for å forbedre ytelsen ved å redusere responstid og øke applikasjons gjennomstrømning. Det hjelper deg med å spore flaskehalser og overvåke din serverinfrastruktur.
Du leser imidlertid denne artikkelen, fordi du er interessert i mobil. Ikke bekymre deg, New Relic har ryggen din dekket også. New Relic Mobile lar deg overvåke ytelsen til iOS og Android-applikasjoner. Alan skrev nylig om New Relic for Android, så jeg foreslår at du sjekker ut hans opplæringsprogram hvis du er interessert i Android.
I denne opplæringen vil jeg vise deg hvordan du integrerer New Relic i et iOS-program. Du vil lære hvor enkelt det er å sette opp New Relic og hva det kan gjøre for ditt iOS-program når det gjelder ytelse og sørge for at brukerne får best mulig opplevelse med produktet ditt.
Hvis du tror at applikasjonsovervåking er kun nyttig hvis du opprettholder et stort webapplikasjon som Facebook eller Twitter, så er du inne for en overraskelse. Overvåking av applikasjonsytelse er alltid nyttig hvis du bryr deg om brukeropplevelsen til produktet og dets brukere.
Det er flere grunner til at ytelsesovervåking er viktig for suksessen av søknaden din. Uansett hvor ofte du snakker med brukerne av søknaden din eller hvor stor gruppen av testere er, vet du ikke hvordan hver enkelt bruker bruker applikasjonen din og hvilke problemer de kjører inn i.
Ikke for lenge siden utviklet og vedlikeholdt jeg et iPad-program som ble integrert med Aperture og iPhoto. Hendelse, selv om konseptet var ganske greit, ble jeg ofte forvirret av hvordan folk brukte søknaden min. Tro meg når jeg sier at søknaden din vil bli brukt på måter du ikke hadde forventet eller tenkt på. Dette er greit og helt normalt, men sørg for at du har en løsning på plass som forteller deg hva du trenger å vite om programmets helse og ytelse, slik at du kan optimalisere for brukstilfeller som du ikke har vurdert under utviklingen.
En annen vanlig misforståelse er at mobile enheter er lynrask, og alle har tilgang til en lynrask rask LTE-tilkobling. Jeg er redd sannheten er mindre rosenrød. New Relic lar deg overvåke API-forespørslene som programmet gjør, hvor lang tid de tar for å fullføre, og hvordan dette påvirker programmets brukeropplevelse.
Hvis søknaden henter data fra en API, og den forespørselen tar flere sekunder å fullføre, kan brukerne dine grøfte programmet ditt andre eller tredje gang de bruker det. Folk liker ikke å vente og de forventer at alt skal være raskt.
Som David Smith nylig påpekte i et uventet botnet, kan søknaden din noen ganger vise uforutsigbar atferd, uansett hvor godt du kjenner kodebase og systemrammer søknaden din samhandler med. Ikke vent på at brukerne rapporterer problemer til deg, eller enda verre, for at de skal lete etter et alternativ uten å fortelle deg om problemet som gjorde dem til å bytte.
Komme i gang med New Relic er gratis. Gå over til New Relics nettsted og opprett en konto slik at du kan følge med. I New Relic-kontoen din velger du Mobil fanen til venstre og velg iOS fra listen over plattformer.
Gi søknaden et navn og klikk Fortsette for å komme i gang med å integrere New Relic i ditt iOS-program.
Det neste trinnet er å integrere New Relic SDK i ditt iOS-program. For å gi deg en start, har jeg laget et eksempelprogram som du kan bruke, som du finner i kildefilene i denne opplæringen. Prøveprogrammet er en enkel værklient jeg opprettet for en annen opplæring. Det passer perfekt til New Relic Mobile.
Du har to alternativer for å installere New Relic SDK, manuelt eller gjennom CocoaPods. Fordi prøveapplikasjonen allerede bruker CocoaPods, bruker jeg CocoaPods til å installere New Relic SDK.
Åpne prosjektets Podfile ved roten til prosjektet, og oppdater listen over avhengigheter som vist nedenfor.
plattform: IOS, '6.0' pod 'ViewDeck', '~> 2.2.11' pod 'AFNetworking', '~> 1.2.1' pod 'SVProgressHUD', '~> 0.9.0' pod 'NewRelicAgent' > 3,289 '
For å installere SDK for nye relikvier, åpne et terminalvindu, navigere til plasseringen av prosjektets Podfile, og kjør pod oppdatering
. KakaoPods skjønnhet er at den også knytter prosjektet til de nødvendige rammebetingelser og biblioteker. The New Relic SDK er avhengig av Kjernetelefoni og Systemkonfigurasjon rammeverk samt libz bibliotek. Hvis du bruker CocoaPods, trenger du ikke å bekymre deg for dette.
Bygg prosjektet for å kontrollere at alt fungerer som forventet, og ingen feil blir kastet av kompilatoren.
Hvis du er ny til CocoaPods, ta deretter noen minutter å lese min veiledning på CocoaPods. CocoaPods har blitt de facto dependence management verktøyet for iOS og OS X utvikling.
Når du har installert New Relic SDK, er det enkelt å integrere New Relic som kake. Åpne prosjektets forkompilerte headerfil og legg til følgende importoppgave.
#importere
Den forkompilerte headerfilen er plassert i Støtter filer og slutter i -Prefix.pch. Den forkompilerte headerfilen til prøveapplikasjonen, for eksempel, er oppkalt Regn-Prefix.pch.
Hvis du vil angi New Relic, åpner du programmets programdelegate og legger til følgende utdrag til applikasjons: didFinishLaunchingWithOptions:
. Pass på at du sender ditt eget program token som argumentet til startWithApplicationToken:
.
[NewRelicAgent startWithApplicationToken: @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];
Du finner søknadens token i New Relic-dashbordet.
Prøveapplikasjonen bruker Forecast for å hente værdata, så erstatt API-nøkkelen inn MTConstants.m med din egen API-nøkkel. Du kan opprette en gratis Forecast-konto på Forecast-nettsiden.
#pragma mark - #pragma mark Forecast API NSString * const MTForecastAPIKey = @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
Når du har opprettet New Relic for ditt iOS-program, begynner det automatisk å sende data til New Relics servere. Mengden data som SDK samler inn for deg, er forbløffende, og detaljnivået kan til og med være litt overveldende. La oss ta et øyeblikk for å se hvilke data New Relic har samlet inn for vårt værprogram.
Logg inn på Ny relic-kontoen din og velg Mobil faneblad til venstre for å se en liste over mobilapplikasjoner New Relic overvåker for deg. Denne listen gir deg en ide om statusen til søknaden din ved å vise deg antall aktive økter, nettverksytelse og mulige problemer som New Relic har oppdaget. Klikk Regn For å undersøke dataene New Relic samler inn for oss.
De Oversikt Siden viser deg et høyt nivå bilde av hvordan applikasjonen din utfører. Den viser deg en rekke sentrale ytelsesstatistikker, for eksempel kjøretid for ulike operasjoner, inkludert lasting av visninger og utførelse av HTTP-forespørsler.
Du ser på live data, men du kan justere tidsskala øverst til høyre på siden for å bla gjennom historiske data.
Selv om nettverksytelsen er viktig for de fleste mobile applikasjoner, samler ytelsesdataene New Relic ikke seg til det. Hvis du åpner interaksjoner fanen øverst, ser du hvor lenge bestemte interaksjoner tar, og enda viktigere, New Relic viser deg bekvemt hvilke interaksjoner som er tregeste.
Jeg har testet Rain på en gammel iPhone 3GS som kjører iOS 6.1.3, og det bør ikke overraske deg at New Relic uten problemer viser oss at programmet vår går sakte på denne enheten og på iOS 6.
Selvfølgelig er det opp til deg å bestemme hvordan du bruker dataene New Relic samler inn for deg. IPhone 3GS ble introdusert i 2009, og iOS 7 har overgått en markedsandel på 80%, så det kan ikke være verdt å tilpasse søknaden din for å forbedre ytelsen på en iPhone 3GS som kjører iOS 6. Det er imidlertid viktig å forstå at dette også er verdifull informasjon og det gir deg mulighet til å ta riktige beslutninger når det gjelder utvikling og fokus.
I tillegg til å samle inn data om applikasjonsytelse, samler New Relic også informasjon om applikasjonsbruk, for eksempel antall aktive brukere, enhetsinformasjon, etc. New Relic er mye mer enn en programovervåkingsløsning.
New Relic er en flott løsning for å overvåke ytelsen til nettverksoperasjoner på mobilen. Det viser deg nøyaktig hvilke forespørsler søknaden din gjør, hvor lenge de tar for å fullføre, og hvis det oppstår feilmeldinger.
Dette kan ikke virke nyttig hvis du ikke kjører din egen backend, men det hjelper til med å avgjøre hvilke forespørsler som sendes i hvilket øyeblikk søknaden blir snappier og mer responsiv. Utviklere tar ofte feilaktig ut at ingenting kan gjøres hvis et program er avhengig av en tredjepart for sine data. Dette er rett og slett ikke sant, og New Relic hjelper deg med å unngå slike problemer.
Advarsler er en av de mest kraftige og nyttige funksjonene i New Relic. I innstillinger fanen, kan du angi en eller flere tilpassede varsler, noe som er spesielt nyttig hvis programmet kobles til en backend som du vedlikeholder og kontrollerer.
I det neste eksemplet har jeg opprettet et varsel om å varsle meg når forespørsler til prognoseprogrammet blir svært sakte, og tar mer enn fem sekunder å fullføre.
Som utvikler må du alltid huske på at du ikke vet hvordan søknaden din blir brukt og under hvilke omstendigheter. Dette innebærer at du ikke kan forutsi atferden til søknaden din for alle brukere av søknaden din.
New Relic er en verdifull tjeneste for hvert iOS-program som har litt kompleksitet til det. Folk laster ned mange applikasjoner hver dag, noe som betyr at de ikke nøler med å dike søknaden din for det nest beste. Det er derfor viktig å sikre at søknaden din fungerer bra, slik at brukerne dine er glade brukere. New Relic hjelper deg med dette.