애플리케이션 프로파일링

프로파일러 클래스는 페이지 하단에 벤치마크 결과, 실행한 쿼리, $_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>를 볼 수 없습니다.