Skip to content

Instantly share code, notes, and snippets.

@repeatedly
Last active January 4, 2016 08:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save repeatedly/8593033 to your computer and use it in GitHub Desktop.
Save repeatedly/8593033 to your computer and use it in GitHub Desktop.
v10とv11のマージプラン

v11のいくつかの機能はそんなに互換性を壊さずにv10にマージ出来ることが分かったので,マージプランを考える.

個人的には,以下の「あった方が良い」を全てマージして少し走らせた段階でv1としてリリースしたい.

この辺は開発者陣で考えがまとまったら,issueやMLに移行して,英語でもやりとりする.

あった方が良い

新しい設定ファイル

配列やハッシュが使えるようになったり,Rubyのコードが使えるようになったりする.

そのまま移行すると"a"[a]で問題が起きるので,--use-new-configのようなオプションを用意する.v10ではデフォルトfalseで,v1からはtrueにする.

Gemfileによるプラグインの管理

移行のしやすさのためにはあった方が良い.オプション追加して処理するだけなので,多分早めに実装出来る

プラグインが利用しているグローバルなAPI

v10の段階でlogemitを実装し,移行を促す.Engine.emit$logも実装しておき,どちらからでも使えるようにしておく.

開発者はlogなどを使うためにマイナーバージョンアップと,依存するFluentdのバージョンを上げる必要があるが,主要プラグインにはパッチを投げまくればなんとかなりそう.

td-agentは勝手にバージョンがあがるので,その辺は問題無いと考える

フィルタ系のヘルパー

中にmatchを持てるようにするとか,その手の機能

ラベル

emit streamを実装するには必要なので,こっそり入れる.

やったら今後便利

Actorの導入

JRubyとかでイベント駆動を抽象化するには必要だが,今のところそれほどでもない.

SocketManagerでも必要になるので,その時には入れる必要がある.

ServerEngineへの置き換え

後々シグナルのハンドリング周り含め楽になる.後Workerとかのマルチコア向けの機能とかを実装出来るようになる.

Actor入れる時に一緒に入れることになる?

内部的な改善

Bufferプラグインとかその他気になる所.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment