티스토리 뷰

공부

Xcode ) Instruments - Common Tasks (1)

Zedd0202 2018. 5. 5. 22:23
반응형

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

본격적으로 Instruments사용법을 알아봅시다.

<About Instruments>글을 읽고와주세용

아래와 같이 파란색 제목?은 한 챕터챕터의 주제?에요!!! 검정색은 그 챕터 안의 소주제?..



Launch Instruments


Instruments앱은 Xcode 앱 내부에 있으므로, 가장 직접적인 방법은 Xcode에서 시작합니다. Dock, LaunchPad또는 Command line을 통해 간접적으로 실행 할 수도 있습니다.



Launch Instruments from Xcode

Instruments을 실행하는 가장 직접적인 방법은 Xcode의 메뉴를 사용하는 것입니다.



Xcode에서 작업하고 있는 앱을 프로파일링 하기 위해 Instruments를 시작할 수 있습니다.





이것도 가능 ㅎ 저 버튼 꾹 누르면 저 옵션?들이 나옵니다.





Dock에서 Xcode누르고 클릭해서 열수도 있는 부분 




이렇게 해서 열린 Instruments을 Dock에 고정할 수도 있겠죠?



Getting Around Instruments


Profiling Template Selection Dialog

Instruments가 시작되면, 


이러한 화면을 보실 수 있을겁니다. 그리고 아무거나 눌러도




이러한 형태일건데요,


  • Profiling controls: 데이터 수집을 기록, 일시중지, 정지 할 수 있습니다.


  • Target device list: 프로파일링 할 디바이스를 선택 할 수 있습니다. 


  • Target process list: 프로파일링 할 프로세스를 선택 할 수 있습니다. 


  • Activity viewer: Timeline Pane에서, 현재 trace의 경과 시간 또는 검사 헤드의 위치를 표시합니다. trace document에 여러개의 데이터가 연결되어 있으면, 여기에 표시됩니다. 


  • Add Instrument button (+): 사용가능한 instruments의 전체 목록을 포함하는 instruments팔레트를 표시하거나 숨깁니다. 여기에서 개별 instruments를 선택하여 trace document에 추가할 수 있습니다. 


  • Strategy buttons: Timeline Pane에 표시되는 정보의 타입을 제어합니다. 


    • CPU (image: ../Art/instruments_icon_cpu_strategy_2x.png): 수집된 데이터와 함께 CPU 코어목록을 Timeline Pane에 표시합니다. trace document에 CPU데이터를 기록하는 instruments가 있는 경우에만 사용 할 수있습니다. 

    • Instruments (image: ../Art/instruments_icon_instruments_strategy_2x.png): 타임라인 창에 instruments 및 해당 데이터 목록을 표시합니다. 

    • Threads (image: ../Art/instruments_icon_threads_strategy_2x.png): Timeline Pane에 쓰레드목록과 해당 데이터를 표시합니다. trace document에 쓰레드 데이터를 기록하는 instruments가 있는 경우에만 사용 할 수 있습니다. 


  • View buttons (image: ../Art/inline_instruments_view_buttons_2x.png): Detail pane과 inspector pane을 숨기거나 표시합니다. 


그러합니다.

Timeline Pane

Timeline Pane에 대해 설명할 건데요, 다들 Timeline Pane이 어딨는지 아시죠?

요기 있습니당

이 Timeline Pane에 대해 자세히 볼게요.

Timeline Pane에는 주어진 trace(추적)에 대해 기록된 데이터의 그래픽 요약이 표시됩니다. 이 pane에서 각 instrument, CPU코어 또는 쓰레드에 수집된 데이터의 그래픽 차트를 제공하는 자체 "트랙(track)"이 있습니다. 툴바에서 strategy 버튼을 클릭하여 instrument, CPU코어 또는 쓰레드 데이터를 표시합니다.


이 pane의 정보는 읽기전용이지만, 데이터를 스크롤하고, 더 자세히 조사할 특정 영역을 선택하고, 플래그를 삽입하여, 관심영역을 강조표시 할 수 있습니다. 확대/축소 레벨을 조정하거나, inspector에서 개별 instrument의 레코드 설정을 변경하여 그래픽 정보가 표시되는 방법을 변경 할 수 있습니다. 



Instruments strategy view

이것(Instruments strategy view)은 수집된 데이터와 함께 trace document에 포함된 모든 개별 instruments의 목록입니다. 


Library palette에서 새 instruments를 목록으로 끌어올 수 있습니다. 목록에서 instruments를 선택한 경우에는 inspector pane에서 삭제하거나 구성할 수 있습니다. trace document를 만들 때, instruments목록이 기본적으로 표시됩니다. 


CPU strategy view

trace document에 CPU관련 데이터를 기록하는 instruments가 있는 경우, CPU코어 목록과 시간에 따른 사용(usage)이 여기(CPU strategy view)에 표시됩니다.



Threads strategy view

trace document에 쓰레드 관련 데이터를 기록하는 instruments가 있으면, 쓰레드 목록과 그 사용률이 여기에 표시됩니다.


네 이때까진, Timeline pane에 표시되는 것?들을 봤어요. 아까 Timeline pane설명할 때 뭐가 표시된다고 그랬죠? 
"툴바에서 strategy 버튼을 클릭하여 instrument, CPU코어 또는 쓰레드 데이터를 표시합니다."
이때까지 Instruments strategy view, CPU strategy view, Threads strategy view를 봤죠? XD
사실 지금 instruments를 켜놓고 막 이게 뭔지 보고 계실텐데, 지금 봐도 아무것도 모릅니다. 저는 그래요.....문서에서 지금 이걸 설명하는 것도 물론 이걸 먼저 설명해야하는게 맞는데!!!!!! 1도 모르니 뭔소린지 아직까진 모릅니당.....근데 꼮꼮ㄲ 알아야해요. 왜냐면 뒤에가서 뭐 엄청 instruments에서만 사용되는 단어?...들이 마구 나올 것 같은 예감이라 이걸 모르면 안될 것 같은 예감이 ㅎ 지루하더라도 꼭 읽어보세용

Detail Pane

요기였죠?

이 pane은 trace document에서, instruments로 수집된 데이터에 대한 자세한 정보를 표시합니다. 프로파일링 하는 동안, 수집한 데이터를 보려면 Timeline pane에서 개별 instrument를 클릭하세요.



Navigation bar

Detail pane의 맨 위에 있는 Navigation bar을 사용하면, 수집 된 데이터를 탐색 할 수 있습니다. 이를 사용하여 데이터 타입을 전환하고, 다양한 level의 데이터를 탐색 할 수 있습니다.


  • Instrument: Timeline pane에서 현재 선택한 instrument의 아이콘입니다. instrument콘솔을 보려면 클릭하세요. 

    누르면 저거 뜸;

  • Detail type list: 다양한 타입의 데이터를 탐색 할 수 있습니다. 여기에 표시된 옵션은 선택된 instrument에 따라 다릅니다. 많은 instrument의 경우, 목록에는 데이터 요약, 호출 트리 및 콘솔과 같은 항목이 포함됩니다. 

  • Detail tree: Detail pane에서 데이터를 탐색 할 때, 계층 구조의 현재 위치를 추적합니다. 계층구조를 해당 데이터로 다시 이동하려면, 트리의 branch를 클릭하세요. 

  • Filter field: 특정 용어(specific term)에 대해 수집된 데이터를 필터링 할 수 있습니다. 몇가지 추가 필터링 옵션을 보려면, Filter field의 메뉴를 클릭하세요. 또한 inspector창에서 디스플레이 설정을 조정하여 수집된 데이터를 더 광범위하게 필터링 할 수 있습니다.




Collected data area

수집된 데이터 영역(data area)에는 선택한 instrument의 모든 데이터가 표 형식으로 표시됩니다. 여기에 표시된 내용은, instrument마다 다릅니다. 예를들어, Activity Monitor instrument는 프로세스, CPU 및 쓰레드 정보 등을 표시합니다.

Figure 5-9The collected data area in the trace document detail pane


종종 이 영역내의 개별 symbol과 데이터 포인트에는 네비게이션 버튼(image: ../Art/icon_detail_pane_gotoarrow_2x.png) 이 포함되어 있습니다. 이 버튼을 클릭하면, 데이터를 더 깊이 들여다 볼 수 있습니다. 이렇게 하면, navigation bar의 세부 트리가 업데이트 되어 다음과 같이 계층 구조의 위치를 반영합니디ㅏ. 


Figure 5-10The trace document detail pane’s hierarchy navigation

Inspector Pane


이 pane에는 Timeline및 Detail pane에서 녹화 동작과 가시정보?(visible information)를 제어하기 위해 조정 할 수 있는 instrument별 설정(instrument-specific settings )이 포함됩니다. 

또한 이 pane에는 Detail pane에서 데이터를 탐색 할 때 유용한 추가 정보가 표시되기도 합니다.

Figure 5-11The areas of the trace document inspector pane

그럼 하나씩 봅시다. 먼저 Record.



Record settings area

이 영역에서 사용가능한 설정은 활성 instrument에 따라 다릅니다. instrument는 다음 그림에서 볼 수 있듯ㄹ이, 샘플 속도(sample rate) 또는 수집할 통계 타입과 같이 데이터 기록 방법과 관련된 특정 속성을 조정 할 수 있는 설정을 제공합니다.

Figure 5-12The record settings area of the trace document inspector pane



Display settings area

이 영역의 설정은 instrument에 따라 다릅니다. 이 설정은 다음과 같은 이점을 제공합니다.


● Detail pane에 나타나는 데이터를 제어하세요. 예를 들어, instrument를 사용하여 호출 트리를 탐색 할 때, 시스템 ㅇ라이브러리를 숨길 수 있습니다. 


● 필터링 및 데이터 마이닝을 통해, 기록된 데이터를 보다 효율적으로 탐색하세요. 


● Timeline pane에서 기록된 정보가 표시되는 방식을 조정하세요. 예를들어, instrument를 사용하면, 수집된 데이터를 나타내는 데 사용되는 그래프의 스타일을 변경 할 수 있습니다.




Figure 5-13The display settings area of the trace document inspector pane

Extended detail area

마지막 부분이네요!

이 영역에서는 설정이 없습니다. 오히려 다음 그림과 같이 전체 스택 추적과 같이, Detail pane에서 선택한 데이터에 대한 추가 information별 정보(instrument-specific information )를 표시하는데 사용됩니다. 

Figure 5-14The extended detail area of the trace document inspector pane



Library Palette

라이브러리 팔레트(그냥 이렇게 말할게요?...)는 사용가능한 instruments의 전체 목록을 제공하고, trace document에 추가 할 수 있게 합니다. 여기서 instruments설명을 보고, 특정 instruments를 필터링 할 수 있습니다. 라이브러리 팔레트를 표시하려면, Window > Library를 선택하고 Command-L을 누르거나, trace document 툴바에서 Add Instrument 버튼 (+)을 클릭하세요. 

Figure 5-15The Library palette


그냥 Instruments창에서 Command-L누르거나 저 +누르면 나옵니당.



Flags Palette

플래그 팔레트(이것도 그냥 이렇게 부를게요?..)는 활성 trace document의 Timeline pane에 적용한 플래그 목록을 표시합니다. 이 팔레트에서 플래그를 선택하여 Timeline에서 플래그를 빠르게 탐색 할 수 있습니다. 특정 플래그에 대한 큰 목록을 필터링하고, 플래그 표시 및 숨김, 플래그에 대한 타임스탬프 정보를 볼 수 있습니ㅏㄷ.

이건

이렇게 들어 갈 수 있답니당


Preferences Window

preferences  window는 Instruments의 동작과 관련된 다양한 설정을 제어하는데 사용됩니다. 여기서 시작, 저장 등과 관련된 일반 설정을 조정 할 수 있습니다. 녹화 설정, CPU 설정 및 symbol preferences를 조정 할 수 도 있습니다. 이 window에서 수정 할 수 있는 설정 및 옵션의 전체목록을 보려면  Preferences를 참고하세요. (엄청 뒤에 있는 챕터?네요..)






Create, Save, and Open Trace Documents


6개중에 3번째입니다. 

지금까지 저도 뭐 Instruments를 어떻게 다루고 막 그럴줄 아는것도 아니구요...그냥 저도 지금 아무것도 모르고...그냥 Instruments에 뭐가 있나 살펴보는거니까 지금까지 아 이렇게 설명했는데 어떻게 써야할지 하나도 모르겠어.......라고 하실필요 없습니당!!!! \

그럼 시작할게요.


Instruments에서, 모든 작업은 Instruments set, 구성된 설정 및 수집한 데이터가 있는 trace document에서 수행됩니다.

(자꾸 trace document거려서 trace document가 뭐여,..하실 수도 있느넫

이겁니당)


trace document로 앱의 프로파일을 작성 한 후에는, 수집한 추적 데이터를 보존하고, 나중에 다시 보며 분석을 하기 위해 trace document를 저장할 수 있습니다. 


About Profiling Templates

Instruments가 처음 시작되면, 프로파일링 템플릿 목록을 제공합니다. 각 템플릿에서는 앱을 분석하고 유용한 정보를 수집하여 문제를 확인하거나 앱을 더욱 효율적으로 만드는데 함께 사용되는 Instruments 모음이 포함되어 있습니다.

특정 목적을 위해 데이터를 수집해야 할 때 마다, 프로파일링 템플릿을 시작점으로 사용하도록 계획해야합니다. 예를들어, 앱에 메모리 문제가 있는지 확인하려는 경우, Allocations, Leaks, 또는 Zombies와 같은 메모리 관련 템플릿을 선택해야합니다. 템플릿을 사용하여 trace document를 만든 후에는, 필요에 따라 개별 Instruments를 추가 또는 제거하거나, Instruments를 재구성 할 수 있습니다.


Create a Trace Document

(이걸 읽으면서 생각드는 건데, 이게 Getting Around Instruments보다 먼저 나왔으면,...이해가 더 쉬웠을 텐데ㅎㅎ.....왜 굳이 이 안에 있는 것들을 먼저 설명한거지? XD..)

그럼 이제 바로 그!!!! 이때까지 Trace Document라고 말로만 그랬는데 이제 진짜 만들어 봅시다.

Instruments로 프로파일링을 시작하려면, trace document를 작성해야합니다.


To create a trace document(trace document를 만들려면)
1. Launch Instruments.(Instruments를 실행하세요.)
2. In the profiling template selection dialog that appears, select a target device and process.(프로파일링 템플릿 선택 dialog가 나타나면, 대상 device와 process를 선택하세요.) 
3. Select the desired profiling template. (원하는 프로파일링 템플릿을 선택하세요.)
4. Click Choose. ("Choose"를 클릭하세요.)

이건 뭔가 중요해보이니깐,,ㅎ

네!! trace document를 만들려면 일단 Instruments를 열라고 하네요!!!!

열어씀

그리고 device와 process를 선택하라고 하죠?



그리고 원하는 프로파일링 템플릿을 고르라고 하네요.



그리고 "Choose"버튼을 누르라고 하는데..


걍 더블ㄹ클릭하셈ㅎ


선택한 템플릿에서 사전 구성된(preconfigured) instruments를 사용하여 새 document가 만들어집니다.


네!!! 이때까지 trace document가 뭔지 모르셨다면..이제 아시겠죠>? 우리는 지금 trace document를 하나 만든거에요!



TIP: trace document를 만든 직후에, 앱 프로파일링을 시작하려면, 프로파일링 템플릿 선택 dialog에서, Option키를 누릅니다. 이렇게 하면 Choose버튼이 Profile로 변경됩니다. Profile을 클릭하여 document를 만들고, 바로 프로파일링을 시작하세요.

필요에 맞는 템플릿을 찾을 수 없거나 템플릿을 처음부터 새로 만들려면, 프로파일링 템플릿 선택 dialog에서 Blank템플릿을 선택하세요. 

이게 참 옵션을 누르고 캡쳐를 할 수가ㅣ;;; 



으악 기껏 녹화했는데 잘 안보이는..아무튼 옵션키를 누르면, Choose버튼이 Profile버튼으로 바뀌고, 그, 상태에서 누르면 바로 이렇게 프로파일링을 시작하는 것을 볼 수 있습니당



Save a Trace Document

다른 앱을 프로파일링 하는데, 다시 필요할 수도 있다고 생각되는 trace document를 만들면, 사용자 정의 템플릿으로 "저장" 할 수 있으므로 Instruments를 실행 할 때 마다 재생성하지 않아도 됩니다.


To save a trace document as a profiling template
1. Create or open a trace document. (trace document를 만듭니다. 만드는 방법은 방금 위에서 했죠?)
2. Choose File > Save As Template. (File >  Save As Template을 클릭)


3. Enter a name for the template.(템플릿 이름을 입력하세요.)


4. Save your template in the /Users/<username>/Library/Application Support/Instruments/Templates directory to make it available in the custom section of the Instruments template window. This is the default directory in the Save As Template dialog. (템플릿을 템플릿을 / Users / <사용자 이름> / Library / Application Support / Instruments / Templates 디렉토리에 저장하여 Instruments 템플릿 window의 사용자 정의 섹션에서 사용 할 수 있도록 하세요. 이 디렉토리는 템플릿이 저장되는 Default directory입니다.)


5. Select an icon for the template. (템플릿 아이콘을 선택하세요.)


6. Enter a description for the template.(템플릿에 대한 설명을 입력하세요.)


7. Click Save.(Save를 클릭하세요.)


템플릿을 저장하면, 사용자 정의 템플릿으로 그룹화 된 프로파일링 템플릿 선택 dialog에 자동으로 나타납니다. 다음 trace document를 만들 때, 시작지점(starting point)로 선택할 수 있습니다.


Close a Trace Document

닫는법까지;;;;;; 
그 왼쪽 위에있는 평범한 x버튼이나 Command-W를 눌렀는데, 저장안된 데이터가 있으면

이게 뜨게 됩니다. 저장할거면 저장하고 저장 안할거면 안해두댐


Open a Trace Document

;;;;여는법까지;;
만약에 내가 trace document를 저장했다!

더블클릭 고

이 외에도 여는 방법이 더 있는데.. 굳이...다른점도 없고..ㅎㅎ걍 이렇게 여시는게 젤 편해용

아 너무 길어져서 제가 다 지침.. 3챕터가 더 남았는데 이건 2편으로 쓸게용!

아무리 생각해봐도 "Create or open a trace document. See To create a trace document." 이 챕터가 "Getting Around Instruments"보다 먼저 나왔으면..좋았을 것 같네요 :) 아무튼 도움이 되었길 바랍니당







반응형

'공부' 카테고리의 다른 글

Xcode ) Instruments - Navigate Collected Data  (0) 2018.05.07
Xcode ) Instruments - Common Tasks (2)  (0) 2018.05.06
다른 컴퓨터에서 내 repo로 push했는데..  (1) 2018.05.05
Xcode ) About Instruments  (0) 2018.04.29
Xcode ) Simulator Custom  (4) 2018.04.14