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のリリースチャンネルstable
preview
dev
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のリリースチャンネルstable
preview
dev
events
:ClickhouseEventWrapper
のベクトル
ClickhouseEventWrapper
signed_in
:ユーザーがサインインしているかどうかを示すブール値event
:以下のClickhouseEvent
バリアントのいずれかになることができる列挙型
ClickhouseEvent
editor
operation
:実行されたエディター操作open
save
file_extension
:開いたり保存したりしたファイルの拡張子vim_mode
:ユーザーがVimモードかどうかを示すブール値copilot_enabled
:ユーザーがCopilotを有効にしているかどうかを示すブール値copilot_enabled_for_language
:ユーザーが開いたり保存したりしたファイルの言語に対してCopilotを有効にしているかどうかを示すブール値milliseconds_since_first_event
:このイベントのタイムスタンプと現在のバッチの最初のイベントのタイムスタンプの間の時間
copilot
suggestion_accepted
:提案が承認されたかどうかを示すブール値file_extension
:開いたり保存したりしたファイルのファイル拡張子milliseconds_since_first_event
:上記と同じ
call
operation
:実行された通話操作着信を受け入れる
着信を拒否する
マイクを無効にする
画面共有を無効にする
マイクを有効にする
画面共有を有効にする
切断する
招待する
チャンネルに参加する
チャンネルノートを開く
プロジェクトを共有する
プロジェクトの共有を解除する
room_id
:ルームのIDchannel_id
:チャンネルのIDmilliseconds_since_first_event
:上記と同じ
assistant
conversation_id
:会話のID(パネルイベントの場合のみ)kind
:以下のバリアントを持つ列挙型panel
inline
model
:使用されたモデルmilliseconds_since_first_event
:上記と同じ
cpu
usage_as_percentage
:CPU使用率core_count
:CPUのコア数milliseconds_since_first_event
:上記と同じ
memory
memory_in_bytes
:使用メモリ量(バイト単位)virtual_memory_in_bytes
:仮想メモリ使用量(バイト単位)milliseconds_since_first_event
:上記と同じ
app
operation
:実行されたアプリケーション操作初回起動
open
終了
milliseconds_since_first_event
:上記と同じ
コマンドパレットから`zed: open telemetry log`コマンドを実行するか、アプリケーションメニューの`ヘルプ > テレメトリログの表示`をクリックして、Zedが報告したメトリックデータを監査できます。
テレメトリ設定は、コマンドパレットで`workspace: welcome`アクションを使用して呼び出すことができる`welcome`画面からも構成できます。
懸念事項と質問
テレメトリについて懸念事項がある場合は、Zedリポジトリで問題を自由に提起してください。