PHP Agent 2.5.0

2022-05-18

버그

액티브 트랜잭션의 트랜잭션 목록에서 cpu, memory가 음수로 표기되는 문제를 수정했습니다.

PHP 모니터링은 트랜잭션이 완료 되는 시점에 cpu, memory가 계산됩니다.
진행 중에 조회하는 트랜잭션의 cpu, memory의 음수값을 0으로 조정했습니다.

php 8.0 이상 resource 타입이 object 타입으로 변경된 사항을 적용합니다.

php8.0 버전 이후 부터 일부 라이브러리의 Resource 타입의 핸들이 Object 타입의 핸들로 변경되었습니다.
기존 Resource 타입의 핸들로 상세 정보를 수집 못하는 문제를 수정했습니다.

curl 라이브러리를 예로 들면,
curl_init 함수는 php7.4 버전 까지는 resource id 를 반환하고,
php8.0 이상 부터 CurlHandle Object 타입을 반환합니다.

트랜잭션 URI 정규화 중 /로 끝나는 URI 의 경우에도 정규화 되는 문제를 수정했습니다.

트랜잭션 URI 정규화 중 설정상에 /{AAA} 로 등록하면,

/aaa.php
/
두 URI 모두 /{AAA} 로 정규화되는 문제를 수정했습니다.
이후 /aaa.php/{AAA} 로 정규화 됩니다.

user_agent, referer 수집 문제를 수정합니다.

PHP Extension 내부의 수집 제한 옵션을 삭제 했습니다.
whatap-php 서비스 데몬에서 수집데이터에 대한 처리 여부를 결정합니다.

업데이트

bind parameter 수집

DB 관련 라이브러리들의 bind parameter를 수집합니다.

whatap.profile_sql_param_enabled 옵션을 활성화하면 수집됩니다.

최대 수집 개수는 20개 입니다.

파라메터 이름

  • 256 bytes 까지 수집합니다.

파라메터 값 :

  • String 타입의 경우 256 bytes 까지 수집합니다.

  • Array 타입의 경우 "ARRAY" 문자열로 표기만 합니다.

  • 숫자형, 문자형 데이터 외에는 수집하지 않습니다.

odbc_do 함수 추가

odbc_exec 와 동일한 기능을 하는 별칭 함수를 추가했습니다.

지정한 Uri와 HTTP Method를 대상으로 트랜잭션 수집을 제외합니다.

ignore_http_method_urls
Default : ""
Type : String

ignore_http_method
Default : ""
Type : String

whatap.ignore_http_method_urls=/index, /path
whatap.ignore_http_method=options, connect

query_string_keys 옵션을 추가합니다.

query_string_enabled로 URI 에 Get 파라메터를 추가해서 서비스 URL로 표기할 수 있습ㄴ디ㅏ..
Get 파라메터가 많을 경우, 파라메터 순서가 매번 달라질 수 있고 너무 긴 경우가 있어서 표기할 파라메터 이름을 지정할 수 있도록 수정했습니다.

지정한 파라메터만 수집하면 서비스URL이 단순화 되어 통계정보에서 더 정확한 정보를 확인 할 수 있습니다.

query_string_keys
Default : ""
Type : String

콤마로 구분해서 여러개의 파라메터를 지정합니다. 설정 순서와 동일하게 수집된 파라메터정보가 표시됩니다.

파라메터 이름을 지정하지 않으면 기존과 동일하게 모든 Get 파라메터를 추가해서 서비스 URL로 표기합니다.

전체 파라메터가 수집됩니다.

whatap.query_string_enabled=true
;whatap.query_string_keys=

/aaa.php?aaa=2&bbb=3&cccc=4&dddd=5 로 수집됩니다.

cccc 파라메터만 수집됩니다.

whatap.query_string_enabled=true
whatap.query_string_keys=cccc

/aaa.php?ccc=4 로 수집 됩니다.

cURL header 자동 설정 변경.

2.4.0 에서 멀티트랜잭션 추적을 위한 WhaTap Header를 수동으로 설정하도록 변경된 기능을
다시 자동 추가 방식으로 수정했습니다.

curl_setopt, curl_setopt_array 함수를 통해 HTTP Header 설정(CURLOPT_HTTPHEADER)을 하는 경우,
중복 설정이 되면 이전 정보는 초기화 되고 새로운 정보만 설정됩니다.

사용자의 cURL Header 설정 이후에 Whatap Header 가 없는 경우 추가합니다.

멀티 트랜잭션(whatap.mtrace_enabled=true) 설정이 활성화 되면,

curl_init() 함수 호출 후에 WhaTap Header를 설정합니다. (x-wtap-mst, x-wtap-sp1, x-wtap-po)
curl_exec() 함수 호출 전에 Header를 확인해서 WhaTap Header 가 없는 경우 추가 합니다.