$30 off During Our Annual Pro Sale. View Details »

PHPでもTraceがしたい!! / Introduction of OpenCensus for PHP

PHPでもTraceがしたい!! / Introduction of OpenCensus for PHP

OpenCensus/OpenTelemetry meetup vol.2 での発表資料です
https://opencensus.connpass.com/event/132588/

castaneai

June 27, 2019
Tweet

More Decks by castaneai

Other Decks in Programming

Transcript

  1. PHPでも
    Traceがしたい!
    OpenTelemetry meetup vol.2

    View Slide

  2. @castaneai

    GitHub castaneai

    Twitter castanea

    ● OpenCensus for PHP Contributor

    ● ゲームのサーバーやさん

    ● GCPの同人誌などを書いてます


    View Slide

  3. 突然ですが
    アンケート

    View Slide

  4. PHPをメインで
    使っている人?

    View Slide

  5. View Slide

  6. View Slide

  7. PHPにもある!
    OpenCensus
    Instrumentation

    View Slide

  8. census-instrumentation/opencensus-php

    View Slide

  9. 使い方

    View Slide

  10. [1] Install opencensus package
    $ composer require opencensus/opencensus:~0.2

    View Slide

  11. [2] Create Exporter
    $exporter = new StackdriverExporter();

    View Slide

  12. [3] Start Tracing
    $exporter = new StackdriverExporter();
    Tracer::start($exporter);

    View Slide

  13. [4] Create Span
    $exporter = new StackdriverExporter();
    Tracer::start($exporter);
    Tracer::inSpan(['name' => 'test-span'], function () {
    sleep(1);
    echo 'hello';
    });

    View Slide

  14. [5] Done!!

    View Slide

  15. OpenCensus
    for PHP
    のさらにすごい
    ところ

    View Slide

  16. PHPインタプリタに
    直接踏み込む
    Tracing

    View Slide

  17. OpenCensus
    PHP
    Extension

    View Slide

  18. [1] Install opencensus extension
    $ pecl install opencensus-alpha

    View Slide

  19. [2] Enable the extension in php.ini
    extension=opencensus.so

    View Slide

  20. [3] Watching for function invocation
    $exporter = new StackdriverExporter();
    Tracer::start($exporter);
    sleep(1);
    echo 'hello';
    opencensus_trace_function('sleep');

    View Slide

  21. [4] Done!!

    View Slide

  22. ライブラリ内の関数でも
    built-in関数でも
    直接手を加えずに
    Traceできる

    View Slide

  23. よく使いそうなライブラリは Integration あり
    ● curl (Guzzle)
    ● gRPC
    ● PDO (Database driver)
    ● Laravel
    ● Wordpress
    ● etc...

    View Slide

  24. View Slide

  25. (Alpha) ...
    productionで使えないのでは…?

    View Slide

  26. ライブラリのチューニングに役立った!

    View Slide

  27. うおおお!!
    OpenCensus
    for PHP!!
    すごい!今すぐ試し
    たい!

    View Slide

  28. でもPHPの
    環境構築
    面倒くさい…
    nginx?? fpm??

    View Slide

  29. castaneai/php-opencensus-example
    docker-compose で
    すぐに試せるセット
    作りました!!!

    View Slide

  30. OpenCensus for
    PHP
    最近の動向

    View Slide

  31. OpenCensus Stats

    View Slide

  32. OC Agent 対応も

    View Slide