機能フラグの導入

2021年2月17日筆者: Ganesh Vernekar

私たちは常に、SemVerモデルに沿った安定性と破壊的変更について厳密な約束をしてきました。これは今後も変わりません。

より大胆な実験を行いたいと考えているため、機能フラグの使用を増やす予定です。

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

このリストの機能は実験的と見なされ、--enable-featureの背後にある限り、以下の考慮事項が適用されます。

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

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

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