DLight 소개

솔라리스/개발자코너 2009/06/29 21:07 Posted by Sun
Ann Rice, 2009년 6월  

DLight 는 솔라리스 운영체제에서 DTrace 디버깅, 퍼포먼스 분석 기능의 이용을 활용할 수 있는 다양한 방법을 제공합니다.

순서
  • 시스템 요구사항
  • 필요한 유저 권한
  • DLight 기본 워크플로우
  • 실험 끝내기 및 분석하기
  • 디스플레이 변경하기
시스템 요구사항

DLight 는 솔라리스10 과 오픈솔라리스 상에서 실행됩니다.

DLight 를 자바 어플리케이션과 함께 사용하기 위해서, 툴을 실항하는 시스템에는 반드시 DTrace 가 활성화된 자바 런타임(JRE) 6 혹은 그 이후 버전이 존재해야 합니다.

DLight 는 또한 리눅스 운영체제에서도 실행됩니다, 그러나 시계 프로파일러(Clock Profiler) 와 자바 티커(Java Ticker) 만이 사용 가능합니다.

필요한 유저 권한

DLight 툴을 실행하기 위해서, 여러분의 계정은 반드시 dtrace_user, dtrace_proc, dtrace_kernel 권한을 가지고 있어야 합니다. 모든 도구들이 이러한 권한을 모두 필요로 하는 것은 아닙니다. 만약 여러분의 계정이 해당 도구에 필요한 권한을 가지고 있지 않다면 이 도구는 사용이 불가능 할 것입니다

여러분의 권한을 확인하기 위해서는 /bin/ppriv -v $$ | grep dtrace 를 쉘 프롬프트에서 입력합니다. 만약 여러분의 계정이 필요로하는 권한을 가지고 있지 않다면, 시스템 관리자와 의논하시기 바랍니다. 만약 시스템의 루트 권한을 가지고 있다면, 필요로하는 권한들을 지정하실 수 있습니다.

영구적으로 Dlight 에 필요한 권한들을 사용자 계정에 지정하기:

1.권한을 수정하고자 하는 유저 계정이 시스템에서 로그아웃 했는지를 확인 한다.
2.
슈퍼 유저가 된다 (root).
3.
다음의 커맨드를 입력한다:
$ usermod -K defaultpriv=basic, dtrace_user,dtrace_proc user-name

DLight 에 필요한 권한들을 임시적으로 사용자 계정에 지정하기:
1.쉘 프로세스의 프로세스 ID 를 얻기 위해 다음의 커맨드를 입력한다.
$ echo $$

2.슈퍼 유저가 된다 (root).
3.다른 쉘에서 다음의 커맨드를 입력한다
$ ppriv -s I+dtrace_user,dtrace_proc,dtrace_kernel process-ID
프로세스 아이디(process-id) 와 함께 쉘에서 입력되는 모든 커맨드들은 필요로 하는 권한들을 상속합니다.

DLight 기본 워크플로우

DLight 툴을 시작시키기 위해서, 툴바의 DLight 버튼 DLight button 을 클릭합니다. 툴은 IDE 에 3가지 창을 엽니다.:

  • 오른쪽 상위에 메인 DLight 윈도우
  • 왼쪽 상위에 도구 윈도우
  • 왼쪽 하위에 이벤트 상세 윈도우

기본적인 DLight 워크플로우는 다음으로 구성되어 있습니다:

  • DLight 도구를 위한 타겟 어플리케이션 선택
  • 타겟 어플리케이션이 실행됨으로써 툴이 모니터링 할 도구 선택
  • 툴이 리턴한 데이타 분석
  • 리턴된 데이타를 이용하여 실험의 정제

분석하고 있는 어플리케이션의 동작이 명료해 질때 까지 이 싸이클을 반복합니다.

DLight 툴을 썬 스튜디오 프로젝트 상에서 실행하기

썬 스튜디오 프로젝트 상에서 툴을 실행하기:

  1. 툴을 실행하고자 하는 프로젝트가 여러분의 메인 프로젝트 (메인 프로젝트는 프로젝트 윈도우에서 굵게 표시됨) 인지를 확인합니다. 프로젝트를 메인 프로젝트로 만드려면 프로젝트 노드에서 우클릭을 한 후에 Set as Main Project 를 선택합니다.
  2. 썬 스튜디오 툴바 상의 DLight 버튼에 드롭다운 리스트에서 DLight Main Project 를 선택합니다.
  3. 도구 선택하기
  4. Run 버튼 을 클릭하여 프로젝트를 실행하고 DLight 메인 윈도우에서 도구들을 모니터 합니다.

    사용자 삽입 이미지

DLight 를 원격 시스템에서 실행하기

여러분이 어려분의 코드를 로컬 시스템에서 개발하고 어플리케이션을 원격 시스템에서 실행할 때, 프로젝트를 원격 개발 모드로 설정함으로써 원격 시스템상에서 DLight 도구를 실행할 수 있습니다.

원격 호스트를 추가하기 위해서:


1.Tools > Options 을 선택합니다.

2.옵션 창의 상위 페인에서 C/C++ 을 선택합니다.

3.Build Tools 탭을 선택합니다.

사용자 삽입 이미지

4.Edit 버튼을 클릭해서 Development Hosts Manager 대화 박스를 엽니다.

5.원격 호스트를 추가하기 위해서 Add 를 클릭합니다. Add New Server 대화 박스에서 Development Server 필드에 호스트 이름을 입력 합니다. 필요에 따라서 기본 로그인 이름 및 패스워드를 변경합니다. 여러분의 패스워드를 패스워드 필드에 입력하고 OK 를 클릭합니다.

사용자 삽입 이미지

6.Development Hosts Manager 대화 박스에서 OK 를 클릭합니다.

여러분의 프로젝트를 원격 개발 환경으로 설정하기:

1.프로젝트 윈도우 창에서 프로젝트 노드를 우클릭하고 Properties 를 선택합니다.
2.Project Properties 대화 박스에서, Categories 목록중에 Build 노드를 선택합니다.
3.
Development Host 드롭 다운 리스트 중에서 원격 호스트를 선택합니다.

사용자 삽입 이미지

4.OK 를 클릭합니다.

C, C++ 혹은 포트란 실행파일 상에서 DLight 실행하기

C, C++ 혹은 포트란 실행파일 상에서 툴을 실행하기 위해서:

1.
썬 스튜디오 툴바의 DLight 버튼 드롭다운 리스트에서 DLight Executable to browse 메뉴를 선택합니다.
2.
Select Executable Target 대화 박스에서 Executable 필드에 실행파일의 경로를 입력하거나 Browse 버튼을 이용해서 실행파일을 선택합니다.
3.
Arguments 필드에 실행파일에 전달할 매개변수들을 입력합니다.
4.
Working 디렉토리 필드에 작업 디렉토리의 경로를 입력하거나 Browse 버튼을 통해서 디렉토리를 선택합니다.

사용자 삽입 이미지

5.
OK 를 클릭합니다.
6.
도구를 선택합니다
7.Run 버튼 을 클릭하여 어플리케이션을 실행하고 메인 DLight 윈도우상의 도구들을 모니터링 합니다.

DLight 툴을 자바 실행파일 상에서 실행하기

자바 실행파일 상에서 툴을 실행하기 위해서:

1.DLight 버튼의 드롭다운 리스트에서 DLight Java Executable 을 선택하여 JAR 파일의 경로를 선택할 수 있도록 합니다.
2.
Select Java Application 대화 박스에서 JVM Path 필드가 여러분의 자바 가상 머신(JMV) 설치 버전의 경로를 제대로 포함하고 있는지 확인 하고, 혹은 직접 Browse 버튼을 클릭하여 이 디렉토리를 선택하도록 합니다.
3.
JVM Options 필드에 JVM 에 전달하고자 하는 옵션들을 입력합니다.
4.
JAR File 필드에 JAR 파일의 경로를 입력하거나 Browse 버튼을 이용해서 JAR 파일을 선택 합니다.
5.
Working Directory 필드에 작업 디렉토리를 입력하거나 Browse 버튼을 이용해서 디렉토리를 선택합니다.
6.
Main Class 드롭 다운 리스트에서 메인 클래스를 선택하거나 메인 클레스 이름을 적어 줍니다.

사용자 삽입 이미지

7.OK 를 클릭합니다.
8.
도구를 선택합니다
9.
Run 버튼Run button 을 클릭하여여러분이 JAR File 필드에서 지정한 자바 실행파일을 실행하고 메인 DLight 윈도우상의 도구들을 모니터링 합니다.

참고: JDK DTrace 프로브를 이용하기 위해서는 -XX:+ExtendedDTraceProbes 를 JVM Options 필드에 옵션으로 지정해야 합니다.

참고: 용어 "자바 가상 머신" 과 "JVM" 은 자바 플랫폼을 위한 가상 머신을 의미 합니다.

도구 선택하기

DLight 는 여러분의 어플리케이션 동작을 분석하는데에 사용할 수 있는 몇가지 도구들을 제공 합니다. 여러분은 IDE 의 상위 왼쪽의 도구 윈도우에서 이들을 선택 가능합니다.

도구 윈도우를 열기 위해서는 Alt-L 을 누르거나, 혹은 DLight 툴의 메인 윈도우의 상위 왼쪽 구석에 있는 Show DLight Instruments Panel 버튼 Show DLight Instruments Panel
button 을 클릭합니다.

여러분은 개별 도구들을 DLight 툴 윈도우의 횡적인 푸른색 바 위에 드래그앤드롭 할 수 있습니다. 또한 도구를 더블클릭하여 선택할 수도 있습니다.

실험 끝내기 및 분석하기

타겟 어플리케이션을 실행할때, 개별 도구들이 리턴하는 데이타는 실시간으로 보여집니다. DLight 툴바의 Stop 버튼 Stop button 을 이용해서 종료하거나 어플리케이션이 끝날때 까지 기다릴 수 있습니다.

어플리케이션의 동작을 검사하고 해석 하기 위해, 개별 타임라인으로 들어가서, 이벤트들을 살펴보고 동시에 발생된 이벤트들 간의 연관성을 찾아 봅니다. 화면상에 이벤트를 클릭하면 DLight 이벤트 윈도우 상에서 이벤트에 관한 자세한 정보를 보실 수 있습니다.

사용자 삽입 이미지


디스플레이 변경하기

도구에 의해 리턴된 정보들은 메인 DLight 윈도우 상에서 보여 집니다. 여러분은 다양한 방법으로 이 디스플레이를 변경할 수 있습니다:

  • 데이타를 줌인 하고, 자세히 보기 위해서는 Fit to Screen 버튼 Fit to Screen button 을 클릭하거나 Alt-F 를 누릅니다.
  • 특정 타임라인만을 확대해서 보고 싶을때, 타임라인 윈도우에서 보고자 하는 지역을 클릭하고 드래그 합니다.
  • DLight 툴바의 위, 아래 버튼을 클릭하여 서로 다른 도구들에 의해 보고되어 지는 디스플레이들을 변경 합니다. 또한 Alt-U (위) 그리고 Alt-W(아래) 를 누르실 수 있습니다.
  • 특정 도구와 관련된 D-스크립트 코드를 보기위해서는 도구 아이콘에서 우클릭을 하고 드롭다운 리스트에서 D-Script 를 선택합니다.
  • 타임라인을 재설겅 하기 위해서는 DLight 툴바의 Reset Collected Data 를 클릭하거나 Alt-R 을 누릅니다.

    Reset Collected Data button

    참고: 여러분은 윈도우가 기존에 데이타를 보여주고 있을때 메인 DLight 윈도우의 도구들을 변경할 수 없습니다. 반드시 수집된 데이타들을 도구를 변경하기 전에 정리해 주어야 합니다.

  • 리스트에서 도구의 타임라인을 위로 혹은 아래로 움직이기 위해서, 도구 리스트 상에서 도구의 아이콘을 다른 장소로 드래그 앤 드롭 합니다.
  • 도구의 타임라인에서 보고된 이벤트와 연관된 색상 마스크를 변경하기 위해서는, Show Color Masks Dialog Show Color Masks Dialog button 를 DLight 툴바에서 클릭하거나 Alt-C 를 누릅니다.
  • 특정 모니터링된 이벤트와 연관된 소스 코드를 보기 위해서는, 도구의 타임라인 상의 스택 요소를 더블클릭 합니다. C, C++ 소스코드는 반드시 어플리케이션을 -g 옵션을 주고 컴파일 해야 합니다.

이 글의 영문 원본은
DLight Tutorial
에서 보실 수 있습니다.

"개발자코너" 카테고리의 다른 글

2009/06/29 21:07 2009/06/29 21:07

TRACKBACK :: http://blog.sdnkorea.com/blog/trackback/798

댓글을 달아 주세요

[로그인][오픈아이디란?]

◀ Prev 1  ... 76 77 78 79 80 81 82 83 84  ... 806  Next ▶