chuan-yun / Molten

php probe for zipkin and opentracing
Apache License 2.0
793 stars 160 forks source link

requestid如何与我的个人日志关联的 #65

Open daiqichun opened 6 years ago

daiqichun commented 6 years ago

比如与我的php框架里 ,如何把trace_id 集成到php的日志里,便于关联排查日志

daiqichun commented 6 years ago

php curl_init我能在php代码里获取追加header的'x-b3-traceid': 'd3a62c099abebca5', 'x-b3-spanid': '6ddad4de766b594c', 'x-b3-parentspanid': '581088c3e2620546',么,并且我自己处理写到日志里

daiqichun commented 6 years ago

搞定了,echo get('http://10.1.10.1:9411/test');exit; function get($url) { $ch = curl_init();

curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出。

$header = ['User-Agent: php test']; //设置一个你的浏览器agent的header
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

curl_setopt($ch, CURLOPT_HEADER, 1); //返回response头部信息
curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 时追踪句柄的请求字符串,从 PHP 5.1.3 开始可用。这个很关键,就是允许你查看请求header

curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);

echo curl_getinfo($ch, CURLINFO_HEADER_OUT); //官方文档描述是“发送请求的字符串”,其实就是请求的header。这个就是直接查看请求header,因为上面允许查看

curl_close($ch);

return $result;

}

php可以获取到curl_getinfo,并且里面有x-b3-traceid

GreedyPirate commented 6 years ago

你是怎么添加b3header的呢?我也按照文档里说的./configure --enable-zipkin-header=yes,但是调用我的java服务的时候,header还是x-w-traceid,你是怎么设置为x-b3的 @daiqichun

silkcutKs commented 6 years ago

@GreedyPirate 估计是没有make clean 或者是没有重启server