Zedにおけるテレメトリ
v0.112.0 最新版
Zedは、アプリケーションの使用方法やユーザーが経験する問題の種類を理解するために、匿名のテレメトリデータを収集します。
テレメトリ設定の構成
Zedから送信されるデータは完全に制御できます。テレメトリの種類の一部またはすべてを有効または無効にするには、コマンドパレットから`zed: open settings` を使用して`settings.json`ファイルを開きます。以下の内容を入力して調整してください。
"telemetry": {
"diagnostics": false,
"metrics": false
},
テレメトリ設定は、コマンドパレットで`workspace: welcome`アクションを使用して呼び出すことができる`welcome`画面からも構成できます。
データフロー
テレメトリはアプリケーションからサーバーに送信されます。データはサーバーを介してプロキシされるため、分析サービスを簡単に切り替えることができます。現在、以下を使用しています。
- Axiom:クラウドモニタリングサービス - 診断イベントを保存
- Clickhouse:ビジネスインテリジェンスプラットフォーム - 診断イベントとメトリックイベントの両方を保存
- Metabase:ダッシュボード - Clickhouseから取得したデータに基づいて構築されたダッシュボード
テレメトリの種類
診断情報
診断イベントには、クラッシュレポートからのデバッグ情報(スタックトレース)が含まれます。レポートは、クラッシュが発生した後の最初のアプリケーション起動時に送信されます。私たちは、ユーザーが経験する問題の頻度と深刻度を視覚化できるダッシュボードを構築しました。これらのレポートを自動的に送信することで、ユーザーが問題追跡システムにレポートを送信する必要なく、修正の実装を開始できます。ダッシュボードのグラフは、Zedの安定性の非公式な測定値も提供します。
パニックが発生した場合、次のデータが送信されます。
PanicRequest
panic:パニックデータtoken:zed.devでリクエストを認証するために使用される識別子
Panic
thread:パニックが発生したスレッドの名前payload:パニックメッセージlocation_data:パニックの場所ファイル行
backtrace:パニックのバックトレースapp_version:Zedのアプリケーションバージョンrelease_channel:Zedのリリースチャンネルstablepreviewdev
os_name:オペレーティングシステムの名前os_version:オペレーティングシステムのバージョンarchitecture:CPUのアーキテクチャpanicked_on:パニックが発生した時刻installation_id:Zedの各インストールに固有の識別子(stable、preview、devビルドで異なります)session_id:各Zedセッションに固有の識別子(Zedを起動するたびに異なります)
メトリック
Zedは、ユーザーアクションに基づいてメトリック情報を収集します。メトリックイベントはHTTPSを介して報告され、リクエストはレート制限されるため、大量のネットワーク帯域幅を使用することはありません。すべてのデータは匿名のままとなり、特定のZedユーザーに関連付けることはできません。
次のデータが送信されます。
ClickhouseEventRequestBody
token:zed.devでリクエストを認証するために使用される識別子installation_id:Zedの各インストールに固有の識別子(stable、preview、devビルドで異なります)session_id:各Zedセッションに固有の識別子(Zedを起動するたびに異なります)is_staff:ユーザーがZedチームのメンバーかどうかを示すブール値app_version:Zedのアプリケーションバージョンos_name:オペレーティングシステムの名前os_version:オペレーティングシステムのバージョンarchitecture:CPUのアーキテクチャrelease_channel:Zedのリリースチャンネルstablepreviewdev
events:ClickhouseEventWrapperのベクトル
ClickhouseEventWrapper
signed_in:ユーザーがサインインしているかどうかを示すブール値event:以下のClickhouseEventバリアントのいずれかになることができる列挙型
ClickhouseEvent
editoroperation:実行されたエディター操作opensave
file_extension:開いたり保存したりしたファイルの拡張子vim_mode:ユーザーがVimモードかどうかを示すブール値copilot_enabled:ユーザーがCopilotを有効にしているかどうかを示すブール値copilot_enabled_for_language:ユーザーが開いたり保存したりしたファイルの言語に対してCopilotを有効にしているかどうかを示すブール値milliseconds_since_first_event:このイベントのタイムスタンプと現在のバッチの最初のイベントのタイムスタンプの間の時間
copilotsuggestion_accepted:提案が承認されたかどうかを示すブール値file_extension:開いたり保存したりしたファイルのファイル拡張子milliseconds_since_first_event:上記と同じ
calloperation:実行された通話操作着信を受け入れる着信を拒否するマイクを無効にする画面共有を無効にするマイクを有効にする画面共有を有効にする切断する招待するチャンネルに参加するチャンネルノートを開くプロジェクトを共有するプロジェクトの共有を解除する
room_id:ルームのIDchannel_id:チャンネルのIDmilliseconds_since_first_event:上記と同じ
assistantconversation_id:会話のID(パネルイベントの場合のみ)kind:以下のバリアントを持つ列挙型panelinline
model:使用されたモデルmilliseconds_since_first_event:上記と同じ
cpuusage_as_percentage:CPU使用率core_count:CPUのコア数milliseconds_since_first_event:上記と同じ
memorymemory_in_bytes:使用メモリ量(バイト単位)virtual_memory_in_bytes:仮想メモリ使用量(バイト単位)milliseconds_since_first_event:上記と同じ
appoperation:実行されたアプリケーション操作初回起動open終了
milliseconds_since_first_event:上記と同じ
コマンドパレットから`zed: open telemetry log`コマンドを実行するか、アプリケーションメニューの`ヘルプ > テレメトリログの表示`をクリックして、Zedが報告したメトリックデータを監査できます。
テレメトリ設定は、コマンドパレットで`workspace: welcome`アクションを使用して呼び出すことができる`welcome`画面からも構成できます。
懸念事項と質問
テレメトリについて懸念事項がある場合は、Zedリポジトリで問題を自由に提起してください。