Skip to content

Instantly share code, notes, and snippets.

@repeatedly
Last active January 4, 2016 08:08
Show Gist options
  • Select an option

  • Save repeatedly/8593033 to your computer and use it in GitHub Desktop.

Select an option

Save repeatedly/8593033 to your computer and use it in GitHub Desktop.

Revisions

  1. repeatedly revised this gist Jan 24, 2014. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions merge_fluentd_v10_and_v11.md
    Original file line number Diff line number Diff line change
    @@ -24,6 +24,10 @@ v10の段階で`log`や`emit`を実装し,移行を促す.`Engine.emit`や`$

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

    ## フィルタ系のヘルパー

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

    ## ラベル

    emit streamを実装するには必要なので,こっそり入れる.
  2. repeatedly revised this gist Jan 24, 2014. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion merge_fluentd_v10_and_v11.md
    Original file line number Diff line number Diff line change
    @@ -34,9 +34,13 @@ emit streamを実装するには必要なので,こっそり入れる.

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

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

    ## ServerEngineへの置き換え

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

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

    ## 内部的な改善

  3. repeatedly created this gist Jan 24, 2014.
    43 changes: 43 additions & 0 deletions merge_fluentd_v10_and_v11.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,43 @@
    v11のいくつかの機能はそんなに互換性を壊さずにv10にマージ出来ることが分かったので,マージプランを考える.

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

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

    # あった方が良い

    ## 新しい設定ファイル

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

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

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

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

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

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

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

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

    ## ラベル

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

    # やったら今後便利

    ## Actorの導入

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

    ## ServerEngineへの置き換え

    後々シグナルのハンドリング周り含め楽になる

    ## 内部的な改善

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