애플리케이션 프로파일링¶
프로파일러 클래스는 페이지 하단에 벤치마크 결과, 실행한 쿼리, $_POST 데이터를
표시합니다. 이 정보는 디버깅 및 최적화에 도움이 되므로 개발 중에 유용할 수 있습니다.
클래스 초기화¶
중요
이 클래스는 초기화할 필요가 없습니다. 아래에 표시된 대로 프로파일링이 활성화되면 Output 라이브러리가 자동으로 로드합니다.
프로파일러 활성화¶
프로파일러를 활성화하려면 컨트롤러 메소드 내 어디에나 다음 줄을 배치하세요:
$this->output->enable_profiler(TRUE);
활성화되면 보고서가 생성되어 페이지 하단에 삽입됩니다.
프로파일러를 비활성화하려면 다음을 사용하세요:
$this->output->enable_profiler(FALSE);
벤치마크 포인트 설정¶
프로파일러가 벤치마크 데이터를 컴파일하고 표시하려면 특정 구문을 사용하여 마크 포인트에 이름을 지정해야 합니다.
Benchmark 라이브러리 페이지에서 벤치마크 포인트 설정에 관한 정보를 읽어보세요.
프로파일러 섹션 활성화 및 비활성화¶
프로파일러 데이터의 각 섹션은 해당 config 변수를 TRUE 또는 FALSE로 설정하여 활성화하거나 비활성화할 수 있습니다. 두 가지 방법 중 하나로 할 수 있습니다. 먼저 application/config/profiler.php config 파일을 사용하여 애플리케이션 전체 기본값을 설정할 수 있습니다.
예시:
$config['config'] = FALSE;
$config['queries'] = FALSE;
컨트롤러에서 Output 라이브러리의 set_profiler_sections()
메소드를 호출하여 기본값과 config 파일 값을 재정의할 수 있습니다:
$sections = array(
'config' => TRUE,
'queries' => TRUE
);
$this->output->set_profiler_sections($sections);
사용 가능한 섹션과 이에 접근하는 데 사용되는 배열 키는 아래 표에 설명되어 있습니다.
키 |
설명 |
기본값 |
|---|---|---|
benchmarks |
벤치마크 포인트의 경과 시간과 총 실행 시간 |
TRUE |
config |
CodeIgniter Config 변수 |
TRUE |
controller_info |
요청된 컨트롤러 클래스와 메소드 |
TRUE |
get |
요청에서 전달된 GET 데이터 |
TRUE |
http_headers |
현재 요청에 대한 HTTP 헤더 |
TRUE |
memory_usage |
현재 요청에서 소비된 메모리 양 (바이트) |
TRUE |
post |
요청에서 전달된 POST 데이터 |
TRUE |
queries |
실행 시간을 포함한 실행된 모든 데이터베이스 쿼리 목록 |
TRUE |
uri_string |
현재 요청의 URI |
TRUE |
session_data |
현재 세션에 저장된 데이터 |
TRUE |
query_toggle_count |
쿼리 블록이 기본적으로 숨겨지는 쿼리 수 |
25 |
참고
데이터베이스 설정에서 save_queries 설정을
비활성화하면 데이터베이스 쿼리에 대한 프로파일링도 효과적으로 비활성화되고 위의
‘queries’ 설정이 쓸모없게 됩니다. 선택적으로 $this->db->save_queries = TRUE;로
이 설정을 재정의할 수 있습니다. 이 설정 없이는 쿼리나
last_query <database/helpers>를 볼 수 없습니다.