PHP Agent 0.4.5

2018-12-11

업데이트

멀티 서버 트랜잭션 (트랜잭션 연계 추적) 기능 추가

서비스(업무) 별로 분리 되어 있는 애플리케이션 서비스들간의 호출을 추적할 수 있습니다.
와탭에 등록되어 있는 프로젝트라면 프로젝트에 등록된 애플리케이션 서비스들간의 호출에 대한 추적을 말합니다.
멀티서버 트랜잭션 추적 옵션을 설정한 경우에 한하여 트랜잭션 연계 추적이 가능합니다.

외부 호출 시에 지정된 헤더를 추가하는 것으로 트랜잭션 연계 추적이 가능합니다.

에이전트 설치시 같이 제공되는 PHP 라이브러리를 통해서 설정 가능합니다.
/usr/whatap/php/lib/WhaTap.php
/usr/whatap/php/lib/sample_mtrace.php
아래 예제는 cURL의 사용자 헤더를 설정하는 소스 입니다.
<?php
//==================================================================
// 와탭 라이브러리를 추가합니다.
include_once './WhaTap.php';
//==================================================================

$url = "http://localhost/sample.php";
$ch = curl_init();
$headers = array();

//==================================================================
// 와탭 라이브러리에서 트랜잭션 연계추적에 필요한 헤더 정보를 가져옵니다. key,value 형식의 배열 입니다.
echo "Get Mtrace opt and set curl header(x-wtap-mst, x-wtap-inf, x-wtap-tx) <hr/>";
$whatap_mtrace = WhaTap::whatap_get_mtrace();

// cURL에 추가할 사용자 헤더 배열에 와탭 헤더를 추가합니다.
foreach ($whatap_mtrace as $key => $value){
	//echo $key."=".$value."<br/>";
	array_push($headers, "$key:$value");
}
unset($value);
//==================================================================

// 헤더를 cURL에 설정하고 외부 호출을 진행합니다.
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, TRUE);

$ret = curl_exec($ch);

curl_close($ch);

트랜잭션 상세보기에서 확인할 수 있습니다.

mtrace_tx_detail
Figure 1. 트랜잭션 상세보기
mtrace detail
Figure 2. 멀티 트랜잭션 상세보기

멀티 서버 트랜잭션 통계

멀티 서버 트랜잭션 통계를 확인할 수 있습니다.

아래 옵션 설정 시 조회 가능합니다. 기본값은 false 입니다.

whatap.stat_mtrace_enabled=true

통계 > 트랜잭션 통계 > 트랜잭션 호출자

mtrace stat
Figure 3. 멀티 서버 트랜잭션 통계