ソモサン

私rohkiによる活動や読書の記録をつらつらと書くページです

OpenCensus meetup vol.1 に参加してきました!! #opencensusjp

参加してきました

https://opencensus.connpass.com/event/123885/

いやー面白かった。
自分が気になって見積もりに時間かけてるところがやっぱりネックになっていて、みんな気にしてるという同じ認識を持てたのもよかったです。
京都からきてよかった。
資料リンクだけ並べてるので、感想は後ほど。 -> 書いた!

なぜに京都から???

rohki.hatenablog.com 前に調べたり、Scala 関西で @grimrose さんの話きいたりしてました。僕にとって今一番面白いところだからです。
面白さの背景を書くと、Managed Service を使っていてメトリクスやログがとりやすくても追跡はひたすらしんどいってのを何度か味わってるからです。
ロードバランサーのエラーコードの発生個所や遅延の発生、HTTP のアクセスログ、アプリケーションログ、サーバーのリソース消化具合、DB のクエリの遅延やトランザクションの待ち、キャッシュのヒット率、Disk IO、Disk Queue、などなどなど。
AWS の Managed を使ってるとこの辺りは取れます。取れますが、これらを組み合わせてサービスを構築しているのは自分たちで、各メトリクス・ログの因果関係を追っていく必要があります。
僕は CloudWatch/Elaticsearch を使って追ってます。追っていますが、ひっっっっっっじょうに疲れるんです。
インフラ構成を脳裏に置きながら、みんなで仮説を立てて、関連するメトリクスを洗い出し、同じグラフに描画して、まず相関があるかを確認する。
これ繰り返すだけでお腹が一杯になってしまって、原因らしきものを特定したときにはすでにグロッキーなのです。
この特定までの負荷を安くして、一次対応とか根本対応どうするにもっと時間をかけたい、ってのがきっかけです。

本編

イベント主旨説明 / Opening / @ymotongpoo

資料 URL: https://bit.ly/20190403-oc-intro-update

アンケート見ながら、やっぱり StackDriver つよいなーという。場の問題? それはあり得るw
書きながら改めてみると Zipkin や Jaeger が少ないのも面白いです。やはりこの辺りを自前でやるのはつらいというこうとでしょうか。
運用の運用で奔走させられそうな雰囲気を感じます。

Session 1: OpenCensus Intro and Status Update / @ymotongpoo

資料 URL: https://bit.ly/20190403-oc-intro-update

会場の雰囲気としては、Service への期待が大きかった気がしてます。というか僕が期待してます。
Reverse Proxy や Service Mesh に tracing 機能もこちらによるか、ないしは連携できると色々はかどるのかなぁと思ったりしてます。
OpenTracing とのマージの話は後にも出てきますが、うん。ちょっとごまかそう。うん。

Session 2: OpenCensusを実際に使ってみて、便利なところと、困ってるところ / @sinmetal

資料 URL: https://docs.google.com/presentation/d/1J0fh9_C-Juhy1N3EB1G9PqR8NRWgwJjb0VCy7VfRbXI/
趣味のゲーム https://github.com/metal-tile

まさしく聞きたかったお話でした。Sampilng rate と追跡性のお話。
低すぎると取りこぼしがでて、高いと負荷とお値段があれで、じゃあ一時的に全取得ってやってみたら Buffer full で捨てられて…
特に最後かなぁ。全取得が難しいケースもあると分かったのはとても大きいです。この辺りは実装と設定によりそう。

Session 3: Distributed Tracing with OpenCensus at Wantedly / @munisystem

資料 URL: https://speakerdeck.com/munisystem/distributed-tracing-with-opencensus-at-wantedly-inc

Wantedly さんで投入されたお話。
これも聞きたかった話ですねー、Sampling rate とか性能問題とかAWS X-ray と比べてのところとか。
X-ray の導入で悩ましいのが、AWS 色が強すぎるところなんですよね。
OpenCensus の Partners & Contributors でも GoogleMicrosoft は入っていて AWS は入ってないというところがあります。
Library の話は強い!!という感想。場合によってはそういうこともありますよね。うーむ。

あと、バックエンドへの最適化が話に上がっていて、抽象度あげたいから OpenCensus を入れたけど痒いところに手が届かないという、バランスの難しさもわかりました。
ここでも OpenCensus Service の話題。期待たかいっすよね。

Session 4: OpenCensus Javaで始めるOpenCensus / @grimrose

資料 URL: https://docs.google.com/presentation/d/1i3LYjz26lz8WWuIqcwBpc8d0I-8_kTu7hnDWvdnOZEE/edit#slide=id.p

Java 実装 Android で動くんかい!! 元クライアントエンジニアとして確かに知りたいときはある。あるものの、どうやって送るんだそれ???
通信負荷考えると Sampling rate もっと考えなきゃ云々。
閑話休題
Java は Exporter のサポートが厚めですよね。対応状況も Beta ですし。 Spring Cloud は知らなかった…調べてみよう。
ちょいちょい Scala 実装の話があって個人的に非常にありがたいw try with resource の話がちょっと盛り上がっていたかも? golang の defer の話が上がっていたからかもです。

LT1: JavaのCustom Exporterを書いてみた / Writing custom exporter for Java / @r_rudi

資料 URL: https://docs.google.com/presentation/d/e/2PACX-1vRMNdvFdqwHlyfgj8fAQA-sU391UooWegR2s87rpUD9RzOsPzxnycoH3LkZDt12v48kxmphq68qa-Y_/pub?start=false&loop=false&delayms=3000&slide=id.p
https://github.com/shirou/opencensus-exporter-trace-xray

Session 4 と関連が強い、ということで順番をいれかえて LT トップバッターへ。
そうそうこれこれ。X-ray との話。というか強い。
スライド 11 にある対応表とかめっちゃありがたいです。なるほどなぁ。

LT2: TracingとLoggingの連携 / Tracing and logging correlation / @ladicle

資料 URL: https://speakerdeck.com/ladicle/integration-with-tracing-and-logging
https://github.com/Ladicle/opencensus-and-jaeger

gopher くんの好みの話でざわっとなって途中から気になるところが変わってしまいましたw そうか、ニンジンがすきで魚が嫌いなのか… デモもそれにそってやられてて思わず笑ってしまいました それはさておき。
Tracing と Metrics と Logging の関係図よいすよね。この図を念頭に置いて設計してきたい
OpenTracing との話は、うん。

LT3: OpenCensus Stats で PaaS のメトリクスを補完する / Interpolate PaaS metrics with OpenCensus Stats / @apstdnb

資料 URL: https://docs.google.com/presentation/d/17E5TqNuq46_8B62beMOg_1bHY_jDVBTdmzSJYrqKLgs/edit

自己紹介が強すぎるw
当然ながら GCP は本家本元に近いので連携が強いですよね。資料も豊富だ。
悩ましい…

LT4 : Ruby実装についてひと言 / Ruby implementation / @kawasy

資料 URL: https://speakerdeck.com/kawasy/current-status-of-opencensus-ruby-number-opencensusjp

良かった。なぜかいまいちな Ruby 対応に関してひとことでした。
というより Erlang/Elixir の強さが何でそんなに強いのという。Beta にはいってますやん。
やっていく宣言はかっこいい!!

LT5 : ウェブフロントエンドからサーバーまでの一気通貫のトレーシングに挑戦してみる / Try consistent tracing from web frontend to backend servers / @shibukawa

資料 URL: https://docs.google.com/presentation/d/145vr-ouZFxlLub5dGyl3TkJmxqWqPMvmuZObUMgRzEg/edit
https://github.com/shibukawa/opencensus-sample

これもこれで面白いですやつ。僕個人の話でいうと、フロントエンド周りの知識がよわいんですよね。
確かにここきっかけでリクエストとか描画のタイミングが追えるようになるかも? 性能問題が出ないように気を付けながらですが。

Observablility は港区用語。港区用語とは…(関西在住 エンジニアの感想)
Real っては確かによい表現。その時の Real が知りたいのです。

おわりに

雰囲気よかったです。
なんとなくみんなの興味の根っこが同じでありつつ、いろんなアプローチがされていました。
vol. 2 も参加できるかな?