TelemetrySession 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示可以張貼遙測事件和會話屬性的一個遙測會話。 API 會盡最大努力將遙測數據傳遞至伺服器。 要求會以批次方式排入佇列並傳送。 如果進程結束之前無法傳送事件,事件將會儲存在本機。 當下一個應用程式實例呼叫遙測 API 時,傳送將會繼續。 當進程沒有回應或嚴重損毀或沒有因特網連線 30 天時,遙測可能會遺失。 所有方法都是安全線程,並立即傳回。
public ref class TelemetrySession : Microsoft::VisualStudio::Telemetry::TelemetryDisposableObject
public class TelemetrySession : Microsoft.VisualStudio.Telemetry.TelemetryDisposableObject
type TelemetrySession = class
inherit TelemetryDisposableObject
Public Class TelemetrySession
Inherits TelemetryDisposableObject
- 繼承
建構函式
TelemetrySession(String) |
根據 TelemetrySessionSettings 實例的串行化字串,建立新的遙測會話。 使用 TelemetrySession 實例的 SerializeSettings 方法來取得這類字串。 這可讓進程將事件從另一個進程張貼到遙測會話。 使用 VSTelemetryService.DefaultSession 來存取應用程式會話。 |
欄位
DefaultContextName |
默認內容名稱。 |
ValueNotAvailable |
無法使用之值的常數。 |
屬性
AppId |
取得或設定 SQM 的應用程式識別碼 |
BucketFiltersToAddDumpsToFaults |
取得或設定值,指出應該針對錯誤事件新增哪些貯體進程傾印。 |
BucketFiltersToEnableWatsonForFaults |
取得或設定值,指出應針對錯誤事件啟用 Watson 報告的值區。 |
CalculatedSamplings |
從指令清單檔取得/設定計算取樣 |
CancellationToken |
取得遙測會話的 CancellationToken |
CanCollectPrivateInformation |
取得值,指出目前的會話是否可以根據使用者資訊管理員的答案收集 PII 資訊 |
GlobalStorageUri |
從 VS Code 取得全域記憶體 URI |
HostName |
取得或設定遙測主機名,其會影響指令清單檔案位置 |
IsDisposed |
取得值,指出會話是否被取代 - 偵測備援呼叫 (繼承來源 TelemetryDisposableObject) |
IsOptedIn |
取得或設定值,指出是否選擇加入使用者。 |
IsUserMicrosoftInternal |
取得值,指出目前的會話是否屬於內部使用者,因此可以根據使用者資訊管理員的答案收集資訊 |
MacAddressHash |
取得 MAC 位址哈希。 如果在本機記憶體中找不到哈希,則會傳回0個哈希,並叫用哈希程式 |
MachineId |
取得 (SQM 機器識別碼) |
SessionId |
取得會話標識碼。 |
TimeSinceSessionStart |
取得 TimeSinceSessionStart,以防客戶想要使用它根據相同的演算法遙測來計算自定義延遲。 |
UserId |
取得 (SQM 使用者識別碼) |
方法
AddCommonPropertyRange(IDictionary<String,Object>) |
新增可能適用於所有會話事件的屬性,但不應該有 Default.Context 前置詞。 在工作階段之間不會保存屬性。 若要新增單一屬性,請參閱 TryAddCommonProperty(String, Object) |
AddSessionChannel(ISessionChannel) |
將新的工作階段通道新增至使用中的通道清單。 |
CreateContext(String) |
Create 具有特定名稱的內容。 |
Dispose() |
此程式代碼已新增至正確實作可處置模式。 (繼承來源 TelemetryDisposableObject) |
DisposeManagedResources() |
Dispose 模式的受保護實作。 |
DisposeToNetworkAsync(CancellationToken) |
以異步方式處置並嘗試透過網路傳送所有遙測。 |
GetCommonPropertyDictionary() |
取得 IDictionary,其中包含目前在會話中 CommonProperty 索引鍵和值的複本。 |
GetContext(String) |
依指定的名稱取得內容。 |
GetPersistedSharedProperty(String) |
依名稱取得保存的共享屬性。 |
GetPropertyBag(String) |
依指定的名稱取得屬性包。 |
GetSharedProperty(String) |
依名稱取得共享屬性。 |
GetSharedPropertyAsObject(String) |
依名稱取得共用屬性的值做為物件。 |
PostEvent(String) |
將要張貼到伺服器的遙測事件排入佇列。 如果名稱是唯一的事件屬性,請選擇這個方法以求簡單。 您應該考慮選擇 PostUserTask、PostOperation、PostFault 或 PostAsset。 這些會透過Visual Studio資料模型所提供的其他深入解析,提供更豐富的遙測體驗。 如果您的數據點與任何 VS 數據模型實體不一致,請勿強制任何關聯並繼續使用此方法。 如果您有關於 VS 數據模型的任何問題,請傳送電子郵件給 VS 數據模型小組 (vsdmcrew@microsoft.com) 。 |
PostEvent(TelemetryEvent) |
將要張貼到伺服器的遙測事件排入佇列。 選擇這個方法以取得彈性。 您應該考慮選擇 PostUserTask、PostOperation、PostFault 或 PostAsset。 這些會透過Visual Studio資料模型所提供的其他深入解析,提供更豐富的遙測體驗。 如果您的數據點與任何 VS 數據模型實體不一致,請勿強制任何關聯並繼續使用此方法。 如果您有關於 VS 數據模型的任何問題,請傳送電子郵件給 VS 數據模型小組 (vsdmcrew@microsoft.com) 。 |
PostMetricEvent(TelemetryMetricEvent) |
藉由填入計量屬性來準備計量事件,然後張貼事件。 |
PostProperty(String, Object) |
將整個會話屬性的更新排入佇列。 您可能想要考慮 TelemetrySettingProperty ,或 TelemetryMetricProperty 這些會利用 Visual Studio 數據模型所提供的其他深入解析來啟用更豐富的遙測體驗。 如果您有關於 VS 數據模型的任何問題,請傳送電子郵件給 VS 數據模型小組 (vsdmcrew@microsoft.com) 。 |
PostRecurringProperty(String, Object) |
加入要包含在定期週期性 VS/TelemetryApi/RecurringProperties 事件上的屬性。 不同於 PostProperty 或 TelemetryContext.PostProperty,PostRecurringProperty 不會將指定的屬性新增至每個事件。 PostRecurringProperty 最適合用於 TelemetrySession 存留期常數的值。 |
RegisterForReliabilityEvent() |
將進程和會話資訊寫入任何主機 VS IDE 所使用的登錄,以追蹤並報告此程式的最終關機狀態。 |
RegisterPropertyBag(String, TelemetryPropertyBag) |
註冊指定的屬性包。 |
RemovePersistedSharedProperty(String) |
拿掉所有工作階段的保存共享屬性表示從這個預設內容中移除共用屬性,以及電腦上任何未來的工作階段。 |
RemoveSharedProperty(String) |
拿掉工作階段的共享屬性表示從預設內容移除共享屬性 |
RequiresNotDisposed() |
如果處置物件,此函式會擲回 ObjectDisposedException。 (繼承來源 TelemetryDisposableObject) |
SerializeSettings() |
串行化 TelemetrySessionSettings 物件。 |
SetPersistedSharedProperty(String, Double) |
設定工作階段的保存共享屬性表示為此工作階段的預設內容設定共用屬性,以及電腦上任何未來的工作階段。 |
SetPersistedSharedProperty(String, String) |
設定工作階段的保存共享屬性表示為此工作階段的預設內容設定共用屬性,以及電腦上任何未來的工作階段。 |
SetSharedProperty(String, Object) |
設定會話的共用屬性表示您可以考慮 TelemetrySettingProperty 的預設內容設定共用屬性,否則 TelemetryMetricProperty 這些會啟用更豐富的遙測體驗,並提供Visual Studio資料模型所提供的其他見解。 如果您有關於 VS 數據模型的任何問題,請傳送電子郵件給 VS 數據模型小組 (vsdmcrew@microsoft.com) 。 |
Start() |
啟動工作階段表示建立工作階段的預設內容,並在允許時新增私用資訊屬性。 |
ToString() |
ToString 讓偵錯更容易:在偵錯 watch 視窗中顯示 |
TryAddCommonProperty(String, Object) |
嘗試為會話的所有事件新增單一屬性索引鍵和值,但不應該有 Context 前置詞。 在工作階段之間不會保存屬性。 若要新增多個屬性,請參閱 AddCommonPropertyRange(IDictionary<String,Object>) |
TryGetCommonPropertyValue(String, Object) |
取得與指定屬性名稱相關聯的值,這個名稱會與會話的所有事件通用,但不應該有內容或保留前置詞。 |
UnregisterPropertyBag(String) |
使用指定的名稱取消註冊屬性包。 |
UseVsIsOptedIn() |
讀取和設定 VS OptIn 狀態。 根據所有已安裝 VS 版本的 OptedIn 狀態計算 IsOptedIn 狀態。 如果所有找到的 OptedIn 狀態都是 true,我們會傳回 true,否則會傳回 false。 |
UseVsIsOptedIn(String) |
讀取和設定 VS OptIn 狀態。 |