Open3

Prometheusのメトリクスに付与されたラベルをdeprecatedにして新しいラベルを使いたい

fujiwofujiwo

シナリオ

  • metricsA の ラベルbefore を廃止して、代わりにラベルafter を付与したい
  • ラベルbeforeとafterは呼び名は変わるがほぼ同一のもの

解決候補

  • 既存のメトリクスをそのまま運用する
  • 新しくメトリクスを作成する
fujiwofujiwo

既存のメトリクスをそのまま運用する

  • ラベルbeforeに加えて、ラベルafterも追加する
  • あるタイミングになるまで、両方のラベルをサポートしておき、途中からラベルbeforeのサポートを落とす

懸念点

  • deprecatedラベルを使ったクエリを以下のようにor演算子で重複させて定義する必要がある
    • metricsA{before="test"} or metricsA{after="test"}
  • ラベルを元にしたクエリの集計が難しそう
  • 古いバージョンに切り替えても、同じメトリクスを確認できる
fujiwofujiwo

新しくメトリクスを作成する

  • metricsAに加えて、新たにmetricsNewA を提供する
  • metricsAのラベルbeforeが、metricsNewAのラベルafterに相当する
  • あるタイミングになるまで、metricsAをサポートしておき、途中からmetricsAのサポートを落とす

懸念点

  • ユーザは両方のメトリクスを監視しておく必要がある
    • metricsA、metricsNewA をそれぞれ表示しておいて、監視しておく
  • 新しいバージョンから古いバージョンへ切り替えた時に、確認しておくメトリクスも切り替える必要がある