Network Inspector — шта је то, принцип рада и мониторинг мрежних захтева

Аутор: IT Sectr Објављено: 2026-05-07 Време читања: 8 мин

Network Inspector у Android Studio је уграђени алат за профилисање, намењен за мониторинг и анализу мрежног саобраћаја мобилне апликације у реалном времену. Према званичној документацији Android Developers (2025), алат омогућава праћење времена извршења захтева, обима пренесених података и HTTP статуса сваког позива. Алат не захтева измене у коду апликације и ради „из кутије” са сваким пројектом на API Level 14 и вишем.

Главне тачке

  • Network Inspector — је компонента Android Profiler-а за мониторинг мрежних захтева са могућношћу прегледа заглавља и тела одговора
  • Пресретање саобраћаја се одвија аутоматски за све HTTP позиве из апликације, укључујући OkHttp, Retrofit, Ktor и WebView
  • Временска линија приказује редослед захтева са навођењем трајања, величине и статуса сваког позива
  • Детаљан преглед сваког захтева укључује заглавља, тело захтева и одговора, cookies и време извршења по фазама
  • Извоз података у HAR формату омогућава преношење мрежне интеракције колегама или чување за каснију анализу

Шта је Network Inspector?

Network Inspector је алат за профилисање мрежне активности уграђен у Android Studio. Омогућава програмерима да у реалном времену прегледају све HTTP и HTTPS захтеве које шаље апликација, укључујући заглавља, тело захтева и одговора, статусне кодове и трајање извршења. Доступан је преко панела Android Profiler од Android Studio 3.0.

Намена и област примене

Основни задатак Network Inspector-а је отклањање грешака мрежне интеракције мобилне апликације са сервером. Алат се користи за проверу исправности пренесених података, анализу времена одговора, тражење API грешака, као и за откривање неоптималних мрежних образаца — на пример, вишеструких захтева приликом учитавања једног екрана. Network Inspector ради на сваком уређају са API Level 14.

Компатибилност и библиотеке

Алат подржава све главне Android HTTP клијенте: OkHttp (од верзије 2.x), Retrofit, Ktor (KMM), UrlConnection, Apache HttpClient (застарео) и WebView. За OkHttp и Retrofit је потребна библиотека OkHttp Profiler — додаје се аутоматски при коришћењу Android Studio 4.1+. За Ktor је потребно посебно подешавање пресретача.

Како ради Network Inspector

Network Inspector пресреће мрежне позиве на нивоу система, користећи механизам Profiler Agent, који се уграђује заједно са Android Profiler-ом. За исправан рад потребна је debug верзија апликације. Алат не мења код апликације и не захтева додавање зависности за основну функционалност.

Механизам пресретања саобраћаја

При покретању профилисања, Network Inspector се повезује са Debug процесом апликације и ослушкује све HTTP позиве који пролазе кроз OkHttp Client, UrlConnection или друге подржане библиотеке. Сваки захтев се бележи са временском ознаком, што омогућава изградњу временске линије мрежне активности. За HTTPS се користи системски посреднички слој, који чува шифровање током преноса, али омогућава преглед декодираног садржаја у Studio-у.

Архитектура прикупљања података

Прикупљање података се одвија кроз Profiler Service Android Studio-а, који ради у засебном процесу на хосту. На уређају ради лагани агент који преноси метаподатке захтева преко ADB канала. Ово минимизира утицај на перформансе апликације — додатно оптерећење је мање од 3% према Google подацима. Сами подаци захтева (тело, заглавља) се преносе само при активном прегледу детаља.

kotlin
// Повезивање OkHttp за интеграцију са Network Inspector-ом
val client = OkHttpClient.Builder()
    .addInterceptor(HttpLoggingInterceptor().apply {
        level = HttpLoggingInterceptor.Level.BASIC
    })
    .build()

// Network Inspector аутоматски пресреће све позиве преко client-а
client.newCall(Request.Builder()
    .url("https://api.example.com/data")
    .build()).execute()

Основне могућности Network Inspector-а

Network Inspector пружа скуп алата за свеобухватну анализу мрежног саобраћаја. Свака функција је усмерена на решавање одређеног задатка отклањања грешака — од провере заглавља до анализе перформанси API-ја.

Временска линија захтева

Главни екран Network Inspector-а приказује хронологију свих захтева у облику временске линије. Сваки захтев је представљен обојеном траком: зелена — успешан одговор (2xx), плава — преусмеравање (3xx), жута — грешка клијента (4xx), црвена — грешка сервера (5xx). Дужина траке одговара времену извршења захтева од повезивања до пријема потпуног одговора. Ово омогућава тренутно откривање спорих или захтева са грешком.

ПараметарОписПример вредности
URLПуна адреса захтеваhttps://api.example.com/v2/users
MethodHTTP метода захтеваPOST
StatusHTTP код одговора200 OK
SizeВеличина захтева + одговора у бајтовима12.4 KB
TimeУкупно време извршења342 ms

Детаљан преглед захтева

При избору одређеног захтева отвара се панел са детаљима: Headers (сва заглавља захтева и одговора), Request Body (тело захтева у текстуалном или бинарном формату), Response Body (тело одговора са могућношћу форматирања JSON-а), Cookies (послати и примљени), Timing (подела времена по фазама: DNS, Connection, TLS Handshake, Request, Response).

Филтрирање и претрага

Network Inspector подржава филтрирање захтева по URL-у, HTTP методи, статусном коду и типу садржаја. Могу се искључити захтеви ка одређеним доменима како би се фокусирало само на потребни API. Претрага ради у свим пољима захтева, укључујући тело и заглавља, што је згодно при отклањању грешака одређене функције апликације. Комбиновани филтери омогућавају креирање скупа правила који се аутоматски примењује при сваком покретању профилисања.

Груписање и поређење захтева

Временска линија подржава груписање захтева по URL шаблонима. На пример, сви захтеви облика /api/v2/users/* могу се скупити у једну групу. Ово поједностављује анализу када апликација обавља стотине захтева у кратком времену. Функција поређења суседних захтева помаже у откривању промена у одговорима сервера при поновљеним позивима.

Отклањање грешака мрежних захтева са Network Inspector-ом

Практична употреба Network Inspector-а обухвата типичне сценарије отклањања грешака: проверу формата података, откривање спорих крајњих тачака, проналажење цурења меморије услед незатворених веза и анализу кеширања.

Провера структуре JSON одговора

Чест задатак — уверити се да сервер враћа податке у очекиваном формату. Network Inspector приказује тело одговора са JSON форматирањем, укључујући истакнуту синтаксу. Ако се одговор не парсира на клијенту, у инспектору се одмах види узрок: недостатак поља, погрешан тип података (ниска уместо броја) или вишак угњежђења. Ако сервер враћа грешку, инспектор показује структуру грешке са кодом и поруком. За бинарне формате (Protocol Buffers, слике) приказује се величина и content-type.

Анализа времена извршења

Картица Timing дели извршење захтева на фазе: DNS Resolution, TCP Connection, TLS Handshake, Request Send, Response Receive. Ако укупно време прелази 1–2 секунде, на основу фазне поделе може се утврдити узрок. На пример, дуг DNS указује на проблеме са резолвером, дуг TLS Handshake — на застарелу верзију протокола на серверу, дуг Response — на спор серверски код или неефикасан захтев са сувишним подацима. Анализа Timing помаже у идентификацији уских грла и пре почетка оптимизације серверског дела.

Проналажење дуплираних захтева

Network Inspector помаже у откривању сувишних захтева — на пример, када при сваком окретању екрана Activity поново учитава податке. На временској линији, низ идентичних захтева један за другим јасно указује на проблем. Решење може бити кеширање, коришћење ViewModel-а са очувањем стања или SingleLiveEvent за једнократно учитавање.

kotlin
// Кеширање захтева са OkHttp за уклањање дуплирања
val cache = Cache(
    File(context.cacheDir, "http_cache"),
    cacheSize = 10L * 1024 * 1024 // 10 MB
)

val cachedClient = OkHttpClient.Builder()
    .cache(cache)
    .addNetworkInterceptor(CacheInterceptor())
    .build()

Ограничења Network Inspector-а и алтернативе

Упркос широким могућностима, Network Inspector има низ ограничења која је важно узети у обзир. За неке сценарије — као што је пресретање HTTPS са самопотписаним сертификатима или анализа саобраћаја библиотека трећих страна — могу бити потребни алтернативни алати.

Ограничења платформе и библиотека

Network Inspector ради само са Android апликацијама и не подржава iOS. За Kotlin Multiplatform (KMM) део захтева можда неће бити приказан ако се извршавају у native делу. Неке библиотеке — на пример, gRPC, WebSocket (не HTTP), GraphQL преко Apollo-а (до верзије 3.x) — могу се делимично или уопште не пресретати без подешавања додатних пресретача.

Алтернативни алати

За дубљу анализу мрежног саобраћаја постоје решења трећих страна: Charles Proxy (пуноправан прокси сервер са пресретањем HTTPS), Proxyman (аналог за macOS), Wireshark (анализа на нивоу пакета), Stetho by Facebook (интеграција са Chrome DevTools), Chucker (библиотека за инспекцију захтева унутар апликације). Сваки алат има своју нишу: Charles и Proxyman су незаменљиви при отклањању грешака интеракције са сервером у раним фазама развоја, а Chucker — за прикупљање информација у test верзијама.

АлатТипПлатформаHTTPSHAR
Network InspectorУграђен у Android StudioAndroidДаДа
Charles ProxyПрокси серверВишеплатформниДаДа
ProxymanПрокси серверmacOS, iOSДаДа
ChuckerIn-app инспекторAndroidДаНе
WiresharkАнализатор пакетаВишеплатформниНеНе

Често постављана питања

Зашто Network Inspector не приказује захтеве?

Уверите се да је апликација компајлирана у Debug конфигурацији и покренута са повезаним Android Profiler-ом. Ако се користи OkHttp 4.x, можда ће бити потребно ажурирати библиотеку на најновију верзију. За Ktor, захтеви се приказују само када се користи Ktor клијент са Engine-ом који подржава пресретање.

Може ли се прегледати HTTPS саобраћај?

Да, Network Inspector подржава HTTPS саобраћај без додатног подешавања. За разлику од Charles Proxy-ја, није потребна инсталација коренског сертификата. Алат користи системски механизам Android Profiler-а за декодирање саобраћаја унутар debug сесије.

Како извести податке из Network Inspector-а?

Network Inspector омогућава извоз података у HAR (HTTP Archive) формату. Кликните на дугме Export у горњем десном углу панела. HAR датотека се може отворити у било ком HAR прегледачу или увезти у Charles Proxy и Proxyman за даљу анализу.

Да ли Network Inspector утиче на перформансе апликације?

Према Google подацима, додатно оптерећење не прелази 3% при активном профилисању. Када је Network Inspector искључен, додатног оптерећења нема. Алат се не препоручује за употребу на release верзијама, али у Debug сесијама утицај је неприметан на савременим уређајима.

Шта радити ако се одговор приказује као сирови подаци?

Ако се тело одговора приказује као нечитљиви сирови подаци, то може бити повезано са gzip компресијом или бинарним форматом (Protocol Buffers, MessagePack). Network Inspector аутоматски декодира gzip. За прилагођене формате користите Content-Type назнаку у заглављима одговора.

Резиме

  • Network Inspector — је уграђени алат у Android Studio за мониторинг и отклањање грешака мрежних захтева у реалном времену без измене кода апликације
  • Аутоматско пресретање свих HTTP позива преко OkHttp, Retrofit, Ktor и UrlConnection — алат ради „из кутије” у Debug верзији
  • Временска линија са кодирањем боја статусних кодова омогућава тренутно откривање спорих, погрешних и понављајућих захтева
  • Детаљан преглед сваког захтева укључује заглавља, тело (са JSON форматирањем), cookies и фазну поделу времена извршења
  • Фазна подела Timing (DNS, TCP, TLS, Request, Response) помаже да се прецизно утврди узрок спорих захтева
  • Извоз у HAR омогућава чување сесија за преношење колегама или анализу у спољним алатима попут Charles Proxy-ја
  • За сложеније сценарије користите Charles Proxy или Proxyman — они подржавају пресретање саобраћаја на нивоу оперативног система и рад са iOS-ом

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође