티스토리 뷰

공부

Xcode ) About Instruments

Zedd0202 2018. 4. 29. 19:01
반응형

안녕하세요 :) Zedd입니다.

iOS개발하면서.. Instruments을 사용해본게 손에 꼽을 정도네요. 저번에 우아한테크캠프 하면서 한번 써본 것 같은데...흠 기억이 잘 안나네요.

아무튼 공부 ㄱㄱ 아 물론 문서..instruments를 바로 사용하기 보다는 일단 instruments이 뭔지 부터 정확히 알아야겠죠?!?!



About Instruments



Instruments는 강력하고 유연한 성능 분석 및 테스트도구로서 Xcode tool 집합의 일부입니다. OS X 및 iOS앱, 프로세스 및 디바이스 장치를 프로파일링하여 사용자의 행동(behavior) 및 성능을  보다 잘 이해하고 최적화 할 수 있도록 도와줍니다. App 개발 초기 프로세스부터 Workflow에 Instruments를 통합하면 나중에 개발주기 초기에 문제를 찾을 수 있으므로 시간을 절약 할 수 있습니다.

Instruments에서는 “instruments”라고 하는;;; 특수한 tool을 사용하여 시간경과에 따른 앱, 프로세스 및 디바이스의 다양한 측면을 추적합니다. instruments는 프로파일링 할 때 데이터를 수집하고, 분석을 위해 결과를 상세히 제시합니다.


다른 성능 및 디버깅 도구와 달리, instruments 는 광범위하게 다른 타입의 데이터를 수집하여 나란히 볼 수 있습니다. 이를 통해 간과할 수 있는 추세를 쉽게 식별 할 수 있습니다. 예를들어, 여러개의 열린 네트워크 연결로 인해 앱 메모리가 크게 증가 할 수 있습니다. Allocations and Connections 도구를 사용하여 메모리가 빠르게 증가하는 닫히지 않은(not closing ) ㄴ연결을 식별 할 수 있습니다. (그니까 네트워크 통해서 데이터 다 주고받으면 닫혀야되는데 안닫혀서 자꾸 메모리를 먹는??그런 상황 말하는 것 같아요)


Instruments를 효과적으로 사용하면, 다음을 수행 할 수 있습니다. 


  • 하나 이상의 앱 또는 프로세스의 동작(behavior)를 검사(Examine)합니다.

  • Wi-Fi및 블루투스와 같은 device-specific한 기능들을 검사합니다.

  • 시뮬레이터 또는 physical device에서 프로파일링 수행

  • 사용자 정의 DTrace instruments를 만들어 시스템 및 앱 동작 측면을 분석합니다. 

  • 소스코드의 문제점 추적

  • 앱 성능 분석 수행

  • 누수(leaks), 버려진 메모리(abandoned memory,) 및 좀비와 같은 앱 메모리 문제를 찾습니다.

  • 더 큰 전력 효율성을 위해 앱을 최적화하는 방법을 식별화

  • 일반적인 시스템 수준의 문제 해결 수행

  • instrument configurations을 템플릿으로 저장(?..Save instrument configurations as templates)


Xcode에베디드 되어있으며, Xcode와 함께 사용 될 수 있지만, 필요에 따라 독립적으로 사용 할 수 있습니다. 

 

The Instruments Workflow


Instruments는 복잡한 앱처럼 보일 수 있습니다. 그것은 당신의 앱에 대한 모든 종류으이 유용한 정보를 수집하고, 문제를 진단하고, 해결하는데 도움이 될 수 있습니다. 그러나 전반적인 instrument workflow는 비교적 간단합니다. 



높은 수준에서 다음과 같은 주요 단계로 구성됩니다.


1. 원하는 instruments 및 설정을 포함하는 trace document를 설정하세요.

2. 프로파일링 할 기기와 앱을 타겟팅 합니다.

3. 앱 프로파일링

4. 프로파일링 중에 캡쳐된 데이터를 분석.

5. 소스코드의 문제 해결.



Know When to Use Instruments

Xcode로 앱을 테스트 하는 동안, Instruments로 들어가기 전에, debug navigator gauges(게이지)를 참조하세요.

이 게이지는 앱의 CPU, 메모리, 에너지 사용량 등에 대한 상위수준의 정보를 제공합니다. 종종 성능 향상과 일반적인 문제 해결에 필요한 모든 정보를 제공합니다. 더 자세한 분석을 수행해야하는 경우 Instruments 를 사용하세요.


저거 게이지 어케 보냐??그냥 평소처럼 실행하고



저 오른쪽에서 3번째 있는 debug navigator를 열어주고 CPU를 클릭해주면 오른쪽에 CPU사용량? 그런게 뜹니다.

 근데 저 메모리가 어느정도가 높은거고..그런걸 잘 모르겠네요.



이거 보고 와 나 앱 진짜 이상하게 만들었나보다...진짜..했는데



?...진짜 아무것도 없는 프로젝트 실행시키니까...왜 넌 41.2가 나와?...진짜 아무것도..업슨ㄴ데...저 밑에 ㅂ파랑색은 시간에 따라서 그냥 계속..늘어남

..........그래도 제가 앱을 이상하게 만든건 아닌가봐요?..ㅈㅅ

아무튼 다음글에서 본격적인 사용법을 봅시다.


출처 : https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html#//apple_ref/doc/uid/TP40004652-CH3-SW1

반응형