Sidekiq実行SLI(サービス・レベル・インジケータ)

GitLab 16.0で導入されました。このバージョンのSidekiq実行SLIは、ステージグループのApplication SLI Violationsダッシュボードで作業者ごとにドリルダウンできるようになった旧バージョンのSLIを置き換えるものです。

note
このSLIはサービスモニタリングに使われます。しかし、デフォルトではステージグループのエラーバジェットには使われません。

Sidekiq実行Apdexは、アプリケーション・パフォーマンスの指標として、成功したジョブの完了時間を測定します。

エラー率は、サーバーの誤動作を示す指標として、例外が発生した場合にジョブが完了しなかった時間を測定します。

  • gitlab_sli_sidekiq_execution_apdex_total:このカウンタは、例外が発生しなかったジョブが正常に実行されるたびにインクリメントされます。これは、エラーSLIにすでにカウントされているため、遅いジョブが2回カウントされないことを保証します。

  • gitlab_sli_sidekiq_execution_apdex_success_total:このカウンタは、ジョブの緊急度に応じて定義された目標時間よりも速く実行されたジョブが成功するたびにインクリメントされます。

  • gitlab_sli_sidekiq_execution_error_total:このカウンタは、例外が発生したジョブごとにインクリメントされます。

  • gitlab_sli_sidekiq_execution_total:このカウンタはジョブが実行されるたびにインクリメントされます。

これらのカウンタには

  • worker:作業者の識別。

  • feature_category:そのワーカーに指定された特徴カテゴリー。

  • urgency:そのワーカーに指定された緊急度属性。

  • external_dependencies:外部依存属性に基づく、yes またはno のブール値。

  • queue:ジョブが実行されているキュー。

これらのSLIの詳細については、ランブックのSidekiq SLIのドキュメントを参照してください。

ジョブの緊急度の調整

すべてのワーカーが同じ種類の仕事をするわけではないので、ジョブごとに異なる緊急度を定義することが可能です。緊急度の低いジョブは、緊急度の高いジョブよりも長い実行期間を持つことができます。

実行待ち時間の要件とジョブの緊急度の設定方法の詳細については、Sidekiqワーカー属性ページを参照してください。

エラーバジェットの帰属と所有権

この SLI は、サービス・レベル・モニタリングに使用されます。ステージグループのエラー予算に反映されます。

SLIのワーカーは、宣言された機能カテゴリに基づいてグループのエラー予算に投入されます。

グループにどのワーカーが含まれているかを知るには、グループのダッシュボードにあるSidekiq Completion Rateパネルを参照してください。Budget Attribution行のSidekiq Execution Apdexログリンクでは、10秒または300秒の目標を達成していないジョブの数を確認できます。

外部依存関係のあるジョブ

外部依存関係のあるジョブは、Apdexとエラー比率の計算から除外されます。