Option to persist TraceId across the entire application session

オープン
#2,549 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 3 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
55/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
csharp, unity
領域
observability

調査の方向性

まず、issue #2210 の TraceId 永続化の変更と、Sentry Unity の設定およびトランザクションライフサイクルのコードを確認します。トランザクション終了時に TraceId がどのようにリセットされるかを追跡し、そのうえで、SDK の初期化からアプリケーションの終了まで 1 つの TraceId を保持する新しいオプションを示す関連テストを特定するか、テストカバレッジを追加します。

索引モデルが issue の本文から書いたものです。

説明

Feature Traces Unity
What problem could Sentry solve that it doesn't?

With the recent changes in #2210, TraceId persistence was improved. However, the TraceId still appears to reset whenever a Transaction ends.

In Game Development, we often have distinct transactions (e.g., "Loading Screen", "Matchmaking", "Gameplay Loop"). If an error occurs during "Loading Screen" that causes a state corruption resulting in an error during "Gameplay Loop," it is difficult to link these events together because the TraceId has rotated.

Describe the solution you'd like
I would like an option in the Sentry Unity configuration to disable the automatic TraceId reset at the end of a Transaction.

Ideally, this would be a toggle like PersistTraceIdAcrossTransactions or SessionWideTracing. When enabled, the TraceId would remain constant from the moment the SDK initializes until the application process is terminated.

Describe alternatives you've considered
Currently, one might manually try to override the Scope or use tags to track a custom SessionId, but this doesn't leverage Sentry's native Tracing UI as effectively as a unified TraceId would.

主要言語
C#
スター
295
フォーク
63
平均マージ
3日 17時間
マージ済み PR(30日)
26

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

getsentry/sentry-unity のほかの issue

getsentry/sentry-unity の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。