機能フラグの導入

2021年2月17日筆者: Ganesh Vernekar

これまで、SemVerモデルに従い、安定性と破壊的変更に関して厳格な約束をしてきました。今後もそれは変わりません。

実験をより大胆に行いたいと考えているため、機能フラグをさらに活用する予定です。

v2.25.0から、無効化された機能という新しいセクションを導入しました。このセクションには、--enable-featureフラグの背後に隠された機能が含まれています。今後のリリースでは、このセクションに追加される機能がますます増えることが予想されます。

このリストにある機能は実験的なものと見なされ、--enable-featureで無効化されている間は、以下の考慮事項が適用されます。

  1. 機能がAPI(Web API、コードインターフェースなど)を持っている場合、API仕様が変更される可能性があります。
  2. 機能の動作が変更される可能性があります。
  3. Prometheusに関して、あなたが持っていたであろういくつかの想定を覆す可能性があります。
    • 例えば、クエリがサンプルについて評価時間を先読みしないという想定は、@修飾子と負のオフセットによって覆されるでしょう。
  4. 不安定になる可能性がありますが、もちろん安定性を維持するように努めます。

これらの考慮事項により、実験をより大胆に行い、より迅速に革新することができます。いずれかの機能が広く使用され、API、動作、実装に関して安定していると見なされると、無効化された機能リストから移行され、デフォルトで有効になる可能性があります。もし機能が価値がない、または破損していると判断された場合、完全に削除される可能性があります。ある機能の有効化がPrometheusにとって大きな破壊的変更と見なされる場合、次のメジャーリリースまで無効化されたままになります。

すべてのリリースでこのリストに注目し、ぜひ試してみてください!