Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

@castaneai
 GitHub castaneai
 Twitter castanea
 ● OpenCensus for PHP Contributor
 ● ゲームのサーバーやさん
 ● GCPの同人誌などを書いてます


Slide 3

Slide 3 text

突然ですが アンケート

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

PHPにもある! OpenCensus Instrumentation

Slide 8

Slide 8 text

census-instrumentation/opencensus-php

Slide 9

Slide 9 text

使い方

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

[5] Done!!

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

OpenCensus PHP Extension

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

[4] Done!!

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

OpenCensus for PHP 最近の動向

Slide 31

Slide 31 text

OpenCensus Stats

Slide 32

Slide 32 text

OC Agent 対応も