/// <summary> /// Dispatches <see cref="ITelemetryData"/> according to its implementation. /// </summary> private void DispatchTelemetryData(ITelemetryData telemetryData) { switch (telemetryData) { case HistoryTelemetryData history: SendTelemetry(history); break; case RequestPredictionTelemetryData requestPrediction: SendTelemetry(requestPrediction); break; case GetSuggestionTelemetryData getSuggestion: SendTelemetry(getSuggestion); break; case SuggestionDisplayedTelemetryData suggestionDisplayed: SendTelemetry(suggestionDisplayed); break; case SuggestionAcceptedTelemetryData suggestionAccepted: SendTelemetry(suggestionAccepted); break; case ParameterMapTelemetryData parameterMap: SendTelemetry(parameterMap); break; default: throw new NotImplementedException(); } }
private void PostTelemetryData(ITelemetryData telemetryData) { if (!IsDataCollectionAllowed()) { return; } telemetryData.SessionId = SessionId; telemetryData.CorrelationId = CorrelationId; _telemetryDispatcher.Post(telemetryData); }
private void PostTelemetryData(ITelemetryData telemetryData) { if (!IsDataCollectionAllowed()) { return; } telemetryData.SessionId = SessionId; telemetryData.RequestId = RequestId; telemetryData.CommandId = _commandId; _telemetryDispatcher.Post(telemetryData); }
/// <summary> /// Add the common properties to the telemetry event. /// </summary> private IDictionary <string, string> CreateProperties(ITelemetryData telemetryData) { return(new Dictionary <string, string>() { { "SessionId", telemetryData.SessionId }, { "CorrelationId", telemetryData.CorrelationId }, { "UserId", _azContext.UserId }, { "HashMacAddress", _azContext.MacAddress }, { "PowerShellVersion", _azContext.PowerShellVersion.ToString() }, { "ModuleVersion", _azContext.ModuleVersion.ToString() }, { "OS", _azContext.OSVersion }, }); }
/// <summary> /// Add the common properties to the telemetry event. /// </summary> private IDictionary <string, string> CreateProperties(ITelemetryData telemetryData) { return(new Dictionary <string, string>() { { "SessionId", telemetryData.SessionId }, { "CorrelationId", telemetryData.CorrelationId }, { "UserId", _azContext.UserId }, { "IsInternal", _azContext.IsInternal.ToString(CultureInfo.InvariantCulture) }, { "SurveyId", (_azContext as AzContext)?.SurveyId }, { "HashMacAddress", _azContext.MacAddress }, { "PowerShellVersion", _azContext.PowerShellVersion.ToString() }, { "ModuleVersion", _azContext.ModuleVersion.ToString() }, { "OS", _azContext.OSVersion }, }); }
/// <summary> /// Add the common properties to the telemetry event. /// </summary> private IDictionary <string, string> CreateProperties(ITelemetryData telemetryData, PredictionClient client) { var properties = TelemetryUtilities.CreateCommonProperties(this._azContext); properties.Add("RequestId", telemetryData.RequestId); properties.Add("CommandId", telemetryData.CommandId); if (client != null) { properties.Add("ClientId", client.Name); properties.Add("ClientType", client.Kind.ToString()); } return(properties); }
protected override void DispatchTelemetryData(ITelemetryData telemetryData) { base.DispatchTelemetryData(telemetryData); DispatchedTelemetry.Add(telemetryData); if (DispatchedTelemetry.Count == ExceptedTelemetryDispatchCount) { RecordedAggregatedData = CachedAggregatedTelemetryData; if (FlushAtDispatch && base.CachedAggregatedTelemetryData.EstimateSuggestionSessionSize > 0) { CachedAggregatedTelemetryData.UpdateFromTelemetryData(telemetryData); SendAggregatedTelemetryData(); } DispatchTelemetryTaskCompletionSource?.TrySetResult(); } }
private static void EnsureSameSessionId(ITelemetryData expected, ITelemetryData actual) { Assert.Equal(expected.SessionId, actual.SessionId); }
private static void EnsureDifferentCorrelationId(ITelemetryData expected, ITelemetryData actual) { Assert.NotEqual(expected.CorrelationId, actual.CorrelationId); }