LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

Zipkinを導入してみた(PHP編)

こんにちは。技術基盤部の磯野です。 先日に引き続きZipkinです。 今回は PHP + Symfony で動いている Webアプリケーションへのトレーサーの導入です。

前回の記事 → Zipkinを導入してみた(サーバー編)

  • 構成
  • 処理の流れ
  • 処理の流れを追跡するためのリクエストヘッダ
  • fluentdの設定
  • PHP(Symfony)側の実装
    • クライアントライブラリ
      • Hoopak
      • Apache Thrift
    • ソースコード
      • DI用設定ファイル(抜粋)
      • イベントリスナクラス
      • サービスコンテナクラス(イベントリスナにDIする用)
      • 足りない機能を補充するためのラッパークラス
      • WebAPI呼び出しのロギング追加
  • 出力

構成

PHPは非同期に処理ができないので直接Zipkinサーバーにに投げるのではなくローカルのfluentdを利用してできるだけ短時間で処理が終わるようにしています。

f:id:nextdeveloper:20160704145103p:plain 画像のアプリケーション・フレームワーク → Zipkin Symfony2 Fluentd Sinatra

続きを読む