zhaqq/zipkin

There is no license information available for the latest version (v0.1.0) of this package.

the zipkin for fastd

v0.1.0 2019-01-23 07:21 UTC

This package is auto-updated.

Last update: 2024-04-23 19:29:23 UTC


README

zipkin链路分析

install

composer require zhaqq/zipkin

Example

FastD

  • 配置
cp vendor/fastd/zipkin/src/Config/zipkin.php config/zipkin.php

vim config/app.php
    'services' => [
        \FastD\ServiceProvider\CacheServiceProvider::class,
        \FastD\ServiceProvider\LoggerServiceProvider::class,
        \FastD\ServiceProvider\RouteServiceProvider::class,
        
        // add Zipkin
        \Zhaqq\Zipkin\Provider\ZipkinProvider::class,
    ],
  • usage
    
    // use callback
    $response = app()->get('zipkin')->childSpan(
        function () use () {
            // do something
            return something
    
            return $response;
        }, 'server name', 'SERVER or CLIENT or ...', annotate[string or array], tag[array]
    );

    //or use method
    app()->get('zipkin')->child($name, $kind = Zipkin::SERVER, $annotate = null, array $tag = [])
    // do something
     app()->get('zipkin')->childFinished()
     

other

require __DIR__ . '/vendor/autoload.php';

use Zhaqq\Zipkin\Span;

$span = new Span();

$span->instance(string $name, $options = [], $isParent = true);

// do something

$span->childSpan(callable $request, $name, $kind = Zipkin::SERVER, $annotate = null, array $tag = [])

// do something

register_shutdown_function(
    function () use ($span) {
        $span->finised();
    }
);