Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fluentdが新Plugin API実装においていかに自由すぎる旧APIとの互換性を確保したかの話 #39

Open
tagomoris opened this issue May 26, 2016 · 2 comments

Comments

@tagomoris
Copy link

tagomoris commented May 26, 2016

表記するお名前、SNSアカウント

tagomoris
https://twitter.com/tagomoris
https://github.com/tagomoris

概要

Fluentd v0.14はプラグイン向けの新しい(より整理された)Plugin APIを持っていますが、その一方で旧APIを使用しているプラグインをすべて無効にすることはもちろんできず、新APIの上に互換性を担保するレイヤを用意することで旧APIのプラグインも動作させられるような仕組みを持っています。

しかしFluentdのプラグインは従来から「なんでもできる」(何も整備されていない……)が特徴でもあったため、互換性を維持するということはつまり、なんでもやっている実装を相手にするということでもあります。
このため、実際の互換性レイヤにおいては考えられる限りのメタプログラミングの手腕が発揮されることとなりました。

このトークでは、大きな齟齬のあるAPI間で互換性を維持するためにどのように魔術的な手法がとられたか、どのように想定外な実装のプラグインが降臨して苦しめられたか、黒魔術万歳と言いながら性能を諦められないときに何をどのように妥協せざるをえなかったかについて、実際のコードとcommit履歴を見せながら話します。

要求トーク時間

A/15:40/30min

想定聴講者層

中〜上級者
黒魔術に少しでも親しんだことがあると良い

録画や写真撮影と、その後の公開

OK

日付の希望

両日問題無し

あなたは暴言などをしない常識を持っていて、このトークで人や法人を悲しませたり怒らせたりせず、平たく言ってネット等でダメな方向に炎上するような行動は慎むことを誓えますか?

誓います!

お知らせとなる #1 お知らせスレをSubscribeするなどしてちゃんと読みますか?

Sure!

@tagomoris
Copy link
Author

@uzulla
Copy link
Member

uzulla commented Jul 15, 2016

動画を公開しました!
https://youtu.be/tDYZTs3naGE

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

No branches or pull requests

3 participants