[Instruments 맛보기] HTTP 트래픽 분석

2025. 9. 20. 23:09·iOS/Instruments
반응형

🏁 학습할 내용기본 개념

  • Task와 Transaction 차이
  • Tool Tip

🤷 Task와 Transaction 차이

 

🔨 Task

  • Task는 URL 로딩 시스템의 API 상호작용 방식을 나타낸다.
  • Task는 하나 이상의 트랜잭션으로 구성된다.
  • resume이 호출되면 작업 interval이 실행된다.
  • taskDescription을 이용해, 의미적 이름을 지정할 수 있으며, Instruments Interval 레이블에 붙는다.
  • taskIdentifier를 속성을 이용해, 작업 식별자를 표시할 수 있다.
  • error로 끝날 시, 레이블에 디버깅에 유리하게 error가 표시된다.

[taskIdentifier] taskDescription

 

Task가 여러개의 Transaction으로 구성된 이유

  • 대표적인 예가, redirect가 될 때
  • 예를 들어 apple.com으로 접속을 시도할 때, 
  • appl.com에서 , 301 redirect응답을 반환하면, 바로 https://www.apple.com/으로 tofhdns Transaction생성
  • 이게 하나의 Task, 최종 Task 응답은 https://www.apple.com의 응답

 

✈️ Transaction

  • HTTP 요청과 응답의 조합
  • URLSesion이 작업을 처리하기 위해 내부적으로 수행되는 작업
  • 요청된 URL, 전송된 데이터 정보 등 HTTP 계층의 모든 정보를 포함
  • Task와 마찬가지로, Label에 디버깅에 필요한 다양한 정보가 표시됨
    • Request
      • Query
      • Path
      • HTTP Version
      • HTTP Method
      • HasAuthorization header (소유 여부)
      • HasCookieHeader (소유 여부)
    • Respnose
      • Status Code
      • HasCookie
      • Content-Type

 

Transaction State

 

1. Start

  • URL  로딩 시스템이 요청을 생성하기위한, 트랜잭션 생성 시점
  • 유효한 캐시된 응답이 있는 지확인
  • 그렇지 않으면 연결을 통해 요청 스케쥴링 시도

2. Blocked

  • 연결을 기다리며, 기다리는 상태

3. Sending Request

  • 요청을 전송하는 상태
  • 요청의 첫 바이트 전송을 시작한 후, 요청의 마지막 바이트를 전송하면 종료되는 상태

4. Wating for Respnose

  • 응답 도착까지 대기 상태

5. Receiving Respnose

  • 마지막 상태
  • 마찬가지로, 서버로부터, 응답의 첫 바이트 ~ 마지막 바이트 까지 받을 때 종료됨 (시간 추적)

마지막 수신 바이트를 수신 ㅎ, 해당 바이트가 성공인지 실패인지 판단 후, 트랜잭션이 완료됨

 

실제로, GET 요청의 캐시 조회 및 전송 상태는 일반적으로 훨씬 짧기 때문에, 아래와 같이 표시될 수 있음


🧰 Tool 관련 몇 가지 Tip

 

Track Display 변경하기

  • Task를 보다가, Transaction만 보고 싶다면, Domain Name 아래 화살표를 눌러 바꿔줄 수 있다.

 

Track 보기

  • Transaction은 Connection별로 그룹화 되어있다.

출처

https://developer.apple.com/videos/play/wwdc2021/10212

 

Analyze HTTP traffic in Instruments - WWDC21 - Videos - Apple Developer

Learn to use the Instruments Network template to record and analyze your app's HTTP traffic. We'll show you how to explore and visualize...

developer.apple.com

 

반응형

'iOS > Instruments' 카테고리의 다른 글

[Instruments 맛보기] SwiftUI 성능 최적화  (0) 2025.10.19
[Instruments 맛보기] Swift Concurrency 시각화 및 최적화하기  (0) 2025.09.23
[Instruments 맛보기] 훌륭한 프로파일링 경험  (0) 2025.09.18
[Instruments 맛보기] 배터리 수명 및 성능 향상시키기  (0) 2025.09.15
[Instruments 맛보기] 프롤로그  (0) 2025.09.13
'iOS/Instruments' 카테고리의 다른 글
  • [Instruments 맛보기] SwiftUI 성능 최적화
  • [Instruments 맛보기] Swift Concurrency 시각화 및 최적화하기
  • [Instruments 맛보기] 훌륭한 프로파일링 경험
  • [Instruments 맛보기] 배터리 수명 및 성능 향상시키기
Hamp
Hamp
남들에게 보여주기 부끄러운 잡다한 글을 적어 나가는 자칭 기술 블로그입니다.
  • Hamp
    Hamp의 분리수거함
    Hamp
  • 전체
    오늘
    어제
    • 분류 전체보기 (325) N
      • CS (30)
        • 객체지향 (2)
        • Network (7)
        • OS (6)
        • 자료구조 (1)
        • LiveStreaming (3)
        • 이미지 (1)
        • 잡다한 질문 정리 (0)
        • Hardware (2)
        • 이론 (6)
        • 컴퓨터 그래픽스 (0)
      • Firebase (3)
      • Programing Langauge (41)
        • swift (34)
        • python (6)
        • Kotlin (1)
      • iOS (133) N
        • UIKit (37)
        • Combine (1)
        • SwiftUI (33) N
        • Framework (7)
        • Swift Concurrency (22)
        • Tuist (6)
        • Setting (11)
        • Modularization (1)
        • Instruments (6)
      • PS (59)
        • 프로그래머스 (24)
        • 백준 (13)
        • LeetCode (19)
        • 알고리즘 (3)
      • Git (18)
        • 명령어 (4)
        • 이론 (2)
        • hooks (1)
        • config (2)
        • action (7)
      • Shell Script (2)
      • Linux (6)
        • 명령어 (5)
      • Spring (20)
        • 어노테이션 (6)
        • 튜토리얼 (13)
      • CI-CD (4)
      • Android (0)
        • Jetpack Compose (0)
      • AI (9)
        • 이론 (9)
        • MCP (0)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    투포인터
    dispatch
    property
    dfs
    GIT
    lifecycle
    UIKit
    프로그래머스
    Tuist
    백준
    AVFoundation
    SwiftUI
    concurrency
    IOS
    boostcamp
    CS
    protocol
    dp
    Swift
    Spring
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
Hamp
[Instruments 맛보기] HTTP 트래픽 분석
상단으로

티스토리툴바