こんにちは。技術基盤部の磯野です。 先日に引き続きZipkinです。 今回は PHP + Symfony で動いている Webアプリケーションへのトレーサーの導入です。
前回の記事 → Zipkinを導入してみた(サーバー編)
- 構成
- 処理の流れ
- 処理の流れを追跡するためのリクエストヘッダ
- fluentdの設定
- PHP(Symfony)側の実装
- クライアントライブラリ
- Hoopak
- Apache Thrift
- ソースコード
- DI用設定ファイル(抜粋)
- イベントリスナクラス
- サービスコンテナクラス(イベントリスナにDIする用)
- 足りない機能を補充するためのラッパークラス
- WebAPI呼び出しのロギング追加
- クライアントライブラリ
- 出力
構成
PHPは非同期に処理ができないので直接Zipkinサーバーにに投げるのではなくローカルのfluentdを利用してできるだけ短時間で処理が終わるようにしています。
画像のアプリケーション・フレームワーク → Zipkin Symfony2 Fluentd Sinatra
続きを読む