demo.php 3.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
<?php


/**
 * 其他项目调用此项目会传递类似 HEADER 信息
 * $_SERVER['HTTP_SWTRACECONTEXT'] = 'Segment1504173645811.59a7de4dc618f.14768.0.0.127.0.0.1|59a7de4dc61c5|api|baidu.com|Segment1504173645811.59a7de4dc61b0.14768.0.0.127.0.0.1|1';
 *
 */
include_once ("./SkyWalking.php");
SkyWalking::getInstance("mapi");

/**
 * 定义日志目录,目前传递数据使用log方式
 * 设置log写入路径的方法:
 */
define('LOG_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'log');
SkyWalking::getInstance("api")->setLogPath(LOG_PATH)->setSamplingRate(5);


//发起B请求
sendA();
//发起B请求
sendB();
//发起B请求
sendC();


function sendA(){

    /** start 应用本身的业务代码 **/
    $headers = array(
        "Content-type: text/xml",
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Cache-Control: no-cache",
        "Pragma: no-cache",
    );
    /** end 应用本身的业务代码 **/


    SkyWalking::getInstance()->startSpanOfCurl("api.com", $headers);
    //var_dump($headers);


    /** start 应用本身的业务代码 **/
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'http://www.api.com/');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    $result = curl_exec($curl);
    $errno = curl_errno($curl);
    $error = curl_error($curl);
    /** end 应用本身的业务代码 **/


    SkyWalking::getInstance()->endSpanOfcurl($curl);


    /** start 应用本身的业务代码 **/
    curl_close($curl);
    /** end 应用本身的业务代码 **/
}


function sendB(){

    /** start 应用本身的业务代码 **/
    $headers = array(
        "Content-type: text/xml",
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Cache-Control: no-cache",
        "Pragma: no-cache",
    );
    /** end 应用本身的业务代码 **/


    SkyWalking::getInstance()->startSpanOfCurl("api.com", $headers);
    //var_dump($headers);


    /** start 应用本身的业务代码 **/
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'http://www.api.com/');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    $result = curl_exec($curl);
    $errno = curl_errno($curl);
    $error = curl_error($curl);
    /** end 应用本身的业务代码 **/


    SkyWalking::getInstance()->endSpanOfcurl($curl);


    /** start 应用本身的业务代码 **/
    curl_close($curl);
    /** end 应用本身的业务代码 **/
}

function sendC(){

    /** start 应用本身的业务代码 **/
    $headers = array(
        "Content-type: text/xml",
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "Cache-Control: no-cache",
        "Pragma: no-cache",
    );
    /** end 应用本身的业务代码 **/


    SkyWalking::getInstance()->startSpanOfCurl("api.com", $headers);
    //var_dump($headers);


    /** start 应用本身的业务代码 **/
    /** start 应用本身的业务代码 **/
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, 'http://www.api.com/');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    $result = curl_exec($curl);
    $errno = curl_errno($curl);
    $error = curl_error($curl);
    /** end 应用本身的业务代码 **/


    SkyWalking::getInstance()->endSpanOfcurl($curl);


    /** start 应用本身的业务代码 **/
    curl_close($curl);
    /** end 应用本身的业务代码 **/
}