PHP Agent 0.6.0
2020-02-08
업데이트
공유메모리
PHP extension(whatap.so) 와 whatap-php service 간에 공유메모리를 이용한 IPC 기능을 추가했습니다.
shm_key의 값으로 설정된 키로 생성합니다. 이미 키가 사용되고 있다면 다른 키를 설정할 수 있습니다.
whatap-php service에서 공유메모리 생성 및 삭제를 관리합니다. PHP extension 에서는 조회기능만 수행합니다.
- whatap.shm_enabled
-
Default : true
Type : Boolean
공유메모리 사용 여부를 설정합니다.
Apache 또는 PHP-FPM의 재시작 후 적용됩니다. |
- whatap.shm_key
-
Default : 6600
Type : Long
공유메모리를 생성할 때 필요한 키 정보입니다.
Apache 또는 PHP-FPM의 재시작 그리고 whatap-php 서비스도 재시작해야 적용됩니다. |
공유메모리 확인 및 삭제
ipcs 명령어를 통해 공유메모리를 확인할 수 있습니다.
# ipcs ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x000019c8 131074 root 666 80 0 ------ Semaphore Arrays -------- key semid owner perms nsems 0x000019c8 425984 root 666 1 ------ Message Queues -------- key msqid owner perms used-bytes messages
ipcrm 명령어를 통해 공유메모리를 삭제할 수 있습니다.
# -m : remove shared memory by shmid # ipcrm -m 131074 # -s : remove semaphore by semid # ipcrm -s 425984
액티브 스테이터스
공유메모리를 통해 진행중인 요청의 현재 상태를 5초 간격으로 수집합니다.
대시보드 화면에 액티브 스테이터스 그래프가 표기됩니다. 상태는 일반 함수, SQL, DB connection, 외부 HTTP 연결, 소켓 연결이 있으며 각 상태별로 진행중인 요청 개수를 표시합니다.
Apache 또는 PHP-FPM가 재시작되면 진행중인 프로세스가 처리 중에 종료되면, 정상적인 액티브 스테이터스 완료 처리가 되지 않아 오차가 발생할 수 있습니다. 액티브 트랜잭션 수와 많은 차이가 발생하는 경우, 설정에서 whatap.active_stat_enabled를 false로 설정한 후, 대시보드에서 0건으로 초기화 되면 다시 true로 설정합니다. |

동적 설정 기능
기존에 사이트 에이전트 설정 메뉴에서 설정을 추가 또는 변경하여도 Apache 또는 PHP-FPM을 재시작해야만 적용되는 설정을 공유메모리를 통해서 재시작 없이 적용가능합니다.
옵션 | 설명 |
---|---|
whatap.ext.error_enabled |
PHP 확장 모듈(PHP Extension module) 에서 오류(Error) 정보를 수집하는 기능을 활성화 합니다. |
whatap.ext.exception_enabled |
PHP 확장 모듈(PHP Extension module) 에서 예외 처리(Exception) 정보를 수집하는 기능을 활성화 합니다. |
whatap.trace_user_enabled |
실시간 사용자 집계 여부를 지정합니다. 이 값을 활성화 하는 경우 아이피 또는 PHP 기본 쿠키(PHPSESSID) 및 프레임워크 쿠키(ci_session, Laravel_session)를 기준으로 사용자를 추적합니다. |
whatap.trace_user_using_ip |
실시간 사용자의 구분을 IP로 하고자 하는 경우 설정합니다. 이 데이터는 Real Time User에서 확인 가능합니다. |
whatap.trace_user_set_cookie |
사용자의 구분을 하기 위해 쿠키에 “WHATAP” 키 이름으로 사용자 구분 값을 설정한다. trace_user_using_ip 설정 되는 경우 반영되지 않습니다. |
whatap.profile_method_enabled |
실행시간이 1초(whatap.profile_method_time)를 초과하는 사용자 함수의 정보를 트랜잭션 상세 정보에서 확인 할 수 있습니다. |
whatap.profile_method_stack_enabled |
사용자 함수의 스택정보를 트랜잭션 상세 정보에서 확인할 수 있습니다. |
whatap.profile_internal_method_enabled |
PHP 내부 함수의 추적 여부를 설정합니다. 실행시간의 기준을 설정합니다. 설정한 시간을 초과하여 실행되는 경우만 정보를 수집합니다. |
whatap.profile_internal_method_param_enabled |
PHP 내부함수에 전달되는 인수의 정보를 같이 출력합니다. 숫자형, 문자형만 값이 출력됩니다. Default: false (true,false) |
whatap.profile_http_header_enabled |
프로파일 내역에 http 헤더 정보를 기록하고자 할 때 사용합니다. |
whatap.profile_http_parameter_enabled |
프로파일 내역에 http 파라미터 정보를 기록하고자 할 때 사용합니다. 파라미터는 별도 보안키를 입력해야 조회 할 수 있습니다. |
whatap.whatap.profile_compile_file_enabled |
compile_file, compile_string 함수의 추적 여부를 설정합니다. |
트랜잭션 리퍼러
통계로 수집되는 referer의 형식을 지정합니다.
도메인 형식으로 지정하면 트랜잭션 리퍼러의 도메인으로 통합된 건수를 확인할 수 있습니다.
- whatap.stat_referer_format
-
Default : 0
Type : Int
값 | 설명 |
---|---|
0 |
전체 (도메인 + 경로 + 쿼리 파라메터) |
1 |
도메인 (http://www.aa.com) |
2 |
도메인 및 경로(http://www.aa.com/aa.php) |
3 |
경로 (/aa.php) |