private void SetEventProperties(List <Dictionary <string, string> > events) { Guid scenarioId = Guid.NewGuid(); _logger.Log(string.Format(CultureInfo.InvariantCulture, "{0} event(s) received for scenarioId {1}", events.Count, scenarioId)); foreach (var msalEvent in events) { _logger.Log(string.Format(CultureInfo.InvariantCulture, "Event: {0}", msalEvent[_msalEventNameKey])); EventProperties eventData = new EventProperties { Name = msalEvent[_msalEventNameKey] }; eventData.SetProperty(TelemetryHandlerConstants.MsalSessionIdKey, _sessionId); eventData.SetProperty(TelemetryHandlerConstants.MsalScenarioIdKey, scenarioId); foreach (var entry in msalEvent) { eventData.SetProperty(entry.Key, entry.Value); _logger.Log(string.Format(CultureInfo.InvariantCulture, " {0}: {1}", entry.Key, entry.Value)); } _ariaEventLogger.LogEvent(eventData); } }
/// <summary> /// Sets a property on a concrete Aria event /// </summary> /// <param name="name">The name property</param> /// <param name="value">The value property</param> public void SetProperty(string name, string value) { #if !FEATURE_CORECLR m_eventProperties.SetProperty(name, value); #else #if PLATFORM_OSX AriaMacOS.SetStringProperty(m_eventProperties, name, value); #endif #endif }
public static EventProperties AsTelemetryEvent(this KernelPerformanceArgs info) { var evt = new EventProperties() { Name = "KernelPerformance".WithTelemetryNamespace() }; evt.SetProperty("ManagedRamUsed".WithTelemetryNamespace(), info.ManagedRamUsed); evt.SetProperty("TotalRamUsed".WithTelemetryNamespace(), info.TotalRamUsed); return(evt); }
public static EventProperties AsTelemetryEvent(this SnippetCompiledEventArgs info) { var evt = new EventProperties() { Name = "Compile".WithTelemetryNamespace() }; evt.SetProperty("Status".WithTelemetryNamespace(), info.Status); evt.SetProperty("Errors".WithTelemetryNamespace(), string.Join(",", info.Errors?.OrderBy(e => e) ?? Enumerable.Empty <string>())); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString()); return(evt); }
public static EventProperties AsTelemetryEvent(this PackageLoadedEventArgs info) { var evt = new EventProperties() { Name = "PackageLoad".WithTelemetryNamespace() }; evt.SetProperty("PackageId".WithTelemetryNamespace(), info.PackageId); evt.SetProperty("PackageVersion".WithTelemetryNamespace(), info.PackageVersion); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString()); return(evt); }
public static EventProperties AsTelemetryEvent(this SimulatorPerformanceArgs info) { var evt = new EventProperties() { Name = "SimulatorPerformance".WithTelemetryNamespace() }; evt.SetProperty("SimulatorName".WithTelemetryNamespace(), info.SimulatorName); evt.SetProperty("NQubits".WithTelemetryNamespace(), info.NQubits); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString("G")); return(evt); }
public static EventProperties AsTelemetryEvent(this PackageLoadedEventArgs info) { var evt = new EventProperties() { Name = "PackageLoad".WithTelemetryNamespace() }; evt.SetProperty("PackageId".WithTelemetryNamespace(), info.PackageId.StartsWith("Microsoft.Quantum.") ? info.PackageId : "other package"); evt.SetProperty("PackageVersion".WithTelemetryNamespace(), info.PackageVersion); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString()); return(evt); }
public static EventProperties AsTelemetryEvent(this ExecutedEventArgs info) { var evt = new EventProperties() { Name = "Action".WithTelemetryNamespace() }; evt.SetProperty("Command".WithTelemetryNamespace(), info.Symbol?.Name); evt.SetProperty("Kind".WithTelemetryNamespace(), info.Symbol?.Kind.ToString()); evt.SetProperty("Status".WithTelemetryNamespace(), info.Result.Status.ToString()); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString()); return(evt); }
public static EventProperties AsTelemetryEvent(this ReloadedEventArgs info) { var evt = new EventProperties() { Name = "WorkspaceReload".WithTelemetryNamespace() }; evt.SetProperty("Workspace".WithTelemetryNamespace(), Path.GetFileName(info.Workspace), PiiKind.GenericData); evt.SetProperty("Status".WithTelemetryNamespace(), info.Status); evt.SetProperty("FileCount".WithTelemetryNamespace(), info.FileCount); evt.SetProperty("Errors".WithTelemetryNamespace(), string.Join(",", info.Errors?.OrderBy(e => e) ?? Enumerable.Empty <string>())); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString()); return(evt); }
public static EventProperties AsTelemetryEvent(this SnippetCompiledEventArgs info) { var evt = new EventProperties() { Name = "Compile".WithTelemetryNamespace() }; evt.SetProperty("Status".WithTelemetryNamespace(), info.Status); evt.SetProperty("Errors".WithTelemetryNamespace(), string.Join(",", info.Errors?.OrderBy(e => e) ?? Enumerable.Empty <string>())); evt.SetProperty("Namespaces".WithTelemetryNamespace(), string.Join(",", info.Namespaces?.Where(n => n.StartsWith("Microsoft.Quantum.")).OrderBy(n => n) ?? Enumerable.Empty <string>())); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString("G")); evt.SetCommonProperties(); return(evt); }
public static EventProperties SetCommonProperties(this EventProperties evt) { evt.SetProperty("KernelInstanceId".WithTelemetryNamespace(), KernelInstanceId); evt.SetProperty("ExecutionCount".WithTelemetryNamespace(), TelemetryService.baseEngine?.ExecutionCount?.ToString()); evt.SetProperty("CurrentTarget".WithTelemetryNamespace(), TelemetryService.client?.ActiveTargetId); evt.SetProperty("CurrentSubscription".WithTelemetryNamespace(), (TelemetryService.client as AzureClient.AzureClient)?.ActiveWorkspace?.SubscriptionId, PiiKind.GenericData); evt.SetProperty( "TimeSinceStart".WithTelemetryNamespace(), // The "c" format converts using the "constant" format, which // is stable across .NET cultures and versions. ( DateTime.UtcNow - System.Diagnostics.Process.GetCurrentProcess().StartTime.ToUniversalTime() ).ToString("c") ); return(evt); }
public static EventProperties WithTimeSinceStart(this EventProperties evt) { evt.SetProperty( "TimeSinceStart".WithTelemetryNamespace(), // The "c" format converts using the "constant" format, which // is stable across .NET cultures and versions. ( DateTime.UtcNow - System.Diagnostics.Process.GetCurrentProcess().StartTime.ToUniversalTime() ).ToString("c") ); return(evt); }
/// <summary> /// Log an event to the Aria cloud. /// </summary> /// <param name="name">The Aria event name.</param> /// <param name="dialogID">The dialog ID.</param> /// <param name="dialogDescription">the dialog description.</param> public static void Log(string name, string dialogID, string dialogDescription) { if (logger == null) { return; } EventProperties props = new EventProperties { // Note: for some reason Aria Explorer shows "Type" as lower case value of "Name", and ignores the following line: Type = EventTypeVoiceAssistantTest, Name = name, }; props.SetProperty("DialogID", dialogID); props.SetProperty("DialogDescription", dialogDescription); EVTStatus status = logger.LogEvent(props); if (status != EVTStatus.OK) { Trace.TraceError($"Aria LogEvent failed with EVTStatus = {status}"); } }
public static EventProperties AsTelemetryEvent(this ProjectLoadedEventArgs info) { var evt = new EventProperties() { Name = "ProjectLoad".WithTelemetryNamespace() }; evt.SetProperty("ProjectUri".WithTelemetryNamespace(), info.ProjectUri?.ToString(), PiiKind.Uri); evt.SetProperty("SourceFileCount".WithTelemetryNamespace(), info.SourceFileCount); evt.SetProperty("ProjectReferenceCount".WithTelemetryNamespace(), info.ProjectReferenceCount); evt.SetProperty("PackageReferenceCount".WithTelemetryNamespace(), info.PackageReferenceCount); evt.SetProperty("UserAdded".WithTelemetryNamespace(), info.UserAdded); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString()); return(evt); }
public static EventProperties AsTelemetryEvent(this ConnectToWorkspaceEventArgs info) { var evt = new EventProperties() { Name = "ConnectToWorkspace".WithTelemetryNamespace() }; evt.SetProperty("Status".WithTelemetryNamespace(), info.Status.ToString()); evt.SetProperty("Error".WithTelemetryNamespace(), info.Error?.ToString()); evt.SetProperty("Location".WithTelemetryNamespace(), info.Location); evt.SetProperty("UseCustomStorage".WithTelemetryNamespace(), info.UseCustomStorage); evt.SetProperty("CredentialType".WithTelemetryNamespace(), info.CredentialType.ToString()); evt.SetProperty("Duration".WithTelemetryNamespace(), info.Duration.ToString("G")); evt.SetCommonProperties(); return(evt); }
static void Main(string[] args) { bool runOffline = false; // Windows SDK Test - Prod: Default Ingestion Token. // Specify this API token in the SDK initialization call to send data for this application. // Please keep this token secure if it is for production services. // https://aria.microsoft.com/developer/start-now/using-aria/send-events String tenantToken = "6d084bbf6a9644ef83f40a77c9e34580-c2d379e0-4408-4325-9b4d-2a7d78131e14-7322"; Console.WriteLine("Initializing logger..."); LogManager.SetTransmitProfile(TransmitProfile.NearRealTime); ILogger logger = LogManager.Initialize(tenantToken, new LogConfiguration() { AutoLogAppResume = false, AutoLogAppSuspend = false, AutoLogUnhandledException = false, OfflineStorage = "offline.storage", // CollectorURL = "https://pipe.int.trafficmanager.net/Collector/3.0/", // INT collector example MinTraceLevel = ACTTraceLevel.ACTTraceLevel_Trace, TraceLevelMask = 0xFFFFFFFF, // API calls + Global mask for general messages MaxTeardownUploadTimeInSec = 5 }); // ILogger logger = LogManager.Initialize(tenantToken, config); // logger = LogManager.Initialize(tenantToken, config); // Verify that the customer may override the build version var sysinfo = GetOSVersionAndCaption(); LogManager.SetContext("DeviceInfo.OsVersion", sysinfo["Version"]); LogManager.SetContext("DeviceInfo.OsBuild", sysinfo["BuildNumber"]); LogManager.SetContext("DeviceInfo.Caption", sysinfo["Caption"]); EventProperties props = new EventProperties("props"); props.SetProperty("key", "value"); logger.LogSession(SessionState.Session_Started, props); if (runOffline) { LogManager.PauseTransmission(); } // Set the custom context to be sent with every telemetry event. logger.SetContext("TeamName", "ARIA"); DateTime myDate = File.GetLastWriteTime(System.AppDomain.CurrentDomain.FriendlyName); logger.SetContext("AppID", "CLI-" + myDate.ToLongTimeString()); Console.WriteLine("LogEvent..."); for (int i = 0; i < 999; i++) { EventProperties props2 = new EventProperties("EventSimpleFromCSharpApp"); props.SetProperty("EventSeqNum", Convert.ToString(i)); logger.LogEvent(props2); } var eventData = new EventProperties("video_shared"); logger.LogEvent(eventData); var eventData2 = new EventProperties("QTQuery"); eventData2.SetProperty("testSetProperty", "12345"); eventData2.SetProperty("myKey", "myValue", PiiKind.GenericData); eventData2.Properties.Add("SkippedQuery", "1"); LogManager.GetLogger().LogEvent(eventData2); Console.WriteLine("LogPageView..."); logger.LogPageView("Page-ID-0001", "BusinessNews", "News", "http://fabrik.com/news/business.htm", "", new EventProperties("PageView_Custom") { Name = "PageView_Custom", Properties = new Dictionary <string, string>() { { "CustomProperty", "CustomValue" }, }, } ); Console.WriteLine("Flush..."); LogManager.FlushAndTeardown(); Console.WriteLine("[ DONE ]"); }
static void Main(string[] args) { bool runOffline = false; // Windows SDK Test - Prod: Default Ingestion Token. // Specify this API token in the SDK initialization call to send data for this application. // Please keep this token secure if it is for production services. // https://aria.microsoft.com/developer/start-now/using-aria/send-events String tenantToken = "99999999999999999999999999999999-99999999-9999-9999-9999-999999999999-9999"; Console.WriteLine("Initializing logger..."); LogManager.SetTransmitProfile(TransmitProfile.NearRealTime); ILogger logger = LogManager.Initialize(tenantToken, new LogConfiguration() { AutoLogAppResume = false, AutoLogAppSuspend = false, AutoLogUnhandledException = false, OfflineStorage = "offline.storage", MinTraceLevel = ACTTraceLevel.ACTTraceLevel_Trace, TraceLevelMask = 0xFFFFFFFF, // API calls + Global mask for general messages MaxTeardownUploadTimeInSec = 5 }); // Verify that the customer may override the build version LogManager.SetContext("DeviceInfo.OsVersion", "1.0.0"); EventProperties props = new EventProperties("props"); props.SetProperty("key", "value"); logger.LogSession(SessionState.Session_Started, props); if (runOffline) { LogManager.PauseTransmission(); } // Set the custom context to be sent with every telemetry event. logger.SetContext("TeamName", "ARIA"); DateTime myDate = File.GetLastWriteTime(System.AppDomain.CurrentDomain.FriendlyName); logger.SetContext("AppID", "CLI-" + myDate.ToLongTimeString()); Console.WriteLine("LogEvent..."); for (int i = 0; i < 999; i++) { EventProperties props2 = new EventProperties("EventSimpleFromCSharpApp"); props.SetProperty("EventSeqNum", Convert.ToString(i)); logger.LogEvent(props2); } var eventData = new EventProperties("video_shared"); logger.LogEvent(eventData); var eventData2 = new EventProperties("QTQuery"); eventData2.SetProperty("testSetProperty", "12345"); eventData2.SetProperty("myKey", "myValue", PiiKind.GenericData); eventData2.Properties.Add("SkippedQuery", "1"); eventData2.SetProperty("myIntKey", 3); eventData2.SetProperty("myIntKey2", 12, PiiKind.GenericData); eventData2.SetProperty("myDoubleKey", 3.14); eventData2.SetProperty("myDoubleKey2", 56.23, PiiKind.GenericData); eventData2.SetProperty("myBoolKey", false); eventData2.SetProperty("myBoolKey2", true, PiiKind.GenericData); eventData2.SetProperty("myGuid", Guid.Parse("{81a130d2-502f-4cf1-a376-63edeb000e9f}")); eventData2.SetProperty("myGuid2", Guid.Parse("{32a940d2-502f-4cf1-a376-23babb000a6f}"), PiiKind.GenericData); DateTime myDateTime = DateTime.UtcNow; eventData2.SetProperty("myDate", myDateTime); eventData2.SetProperty("myDate2", myDateTime, PiiKind.GenericData); LogManager.GetLogger().LogEvent(eventData2); Console.WriteLine("LogPageView..."); logger.LogPageView("Page-ID-0001", "BusinessNews", "News", "http://fabrik.com/news/business.htm", "", new EventProperties("PageView_Custom") { Name = "PageView_Custom", Properties = new Dictionary <string, string>() { { "CustomProperty", "CustomValue" }, }, } ); Console.WriteLine("Flush..."); LogManager.FlushAndTeardown(); Console.WriteLine("[ DONE ]"); }
public void SetPropertyWithStringValue() { ExecuteWithoutAssertion(() => eventProperties.SetProperty(PropertyName, "value")); }
/// <summary> /// Initializes the singleton application object. This is the first line of authored code /// executed, and as such is the logical equivalent of main() or WinMain(). /// </summary> public App() { this.InitializeComponent(); try { string json = File.ReadAllText(@"Assets\transmitProfiles.json"); bool result = LogManager.LoadTransmitProfiles(json); if (!result) { throw new Exception("Unable to load transmit profiles!"); } // LogManager.SetTransmitProfile("HIGH_PRI_ONLY"); // LogManager.SetTransmitProfile("Offline"); } catch (Exception) { // Can't do anything about it... Profiles can't be loaded. // Sorry :( LogManager.SetTransmitProfile(TransmitProfile.RealTime); }; Logger = LogManager.Initialize(token, configuration); // This one should not get thru because we disabled it via transmit profiles EventProperties propLo = new EventProperties("MyApp.MyLowPriEvent"); propLo.Priority = EventPriority.Low; Logger.LogEvent(propLo); // This one gets thru EventProperties propHi = new EventProperties("MyApp.MyHighPriEvent"); propHi.Priority = EventPriority.High; Logger.LogEvent(propHi); if (useCustomLifecycleCallbacks) { this.Suspending += OnSuspending; this.Resuming += OnResuming; } // Set the custom context to be sent with every telemetry event. Logger.SetContext("TeamName", "ARIA"); Logger.SetContext("AppID", "UAPCS"); var missingProps = new EventProperties("SomeEventWithMissingProps"); missingProps.SetProperty("MyMissingProp", "12345"); Logger.LogEvent(missingProps); var strongTypesEvent = new EventProperties("SomeEventWithStronTypes"); strongTypesEvent.SetProperty("myIntKey", 45); strongTypesEvent.SetProperty("myIntKey2", 37, PiiKind.GenericData); strongTypesEvent.SetProperty("myDoubleKey", 6.75); strongTypesEvent.SetProperty("myDoubleKey2", 41.024, PiiKind.GenericData); strongTypesEvent.SetProperty("myBoolKey", true); strongTypesEvent.SetProperty("myBoolKey2", false, PiiKind.GenericData); strongTypesEvent.SetProperty("myGuid", Guid.Parse("{81a130d2-502f-4cf1-a376-63edeb000e9f}")); strongTypesEvent.SetProperty("myGuid2", Guid.Parse("{32a940d2-502f-4cf1-a376-23babb000a6f}"), PiiKind.GenericData); DateTime myDateTime = DateTime.UtcNow; strongTypesEvent.SetProperty("myDate", myDateTime); strongTypesEvent.SetProperty("myDate2", myDateTime, PiiKind.GenericData); Logger.LogEvent(strongTypesEvent); var noMissingProps = new EventProperties("NoMissingProps") { Properties = new Dictionary <string, string>() { { "NotMissingProp", "12345" } } }; Logger.LogEvent(noMissingProps); EventProperties eventProperties = new EventProperties() { Name = "PageAction_CustomerTest", Properties = new Dictionary <string, string>() { { "My.Property", "Value" }, } }; EventProperties eventProperties1 = new EventProperties() { Name = "LogSessionTest", Properties = new Dictionary <string, string>() { { "My.Property", "Value" }, } }; App.Logger.LogSession(SessionState.Session_Started, eventProperties1); App.Logger.LogSession(SessionState.Session_Ended, eventProperties1); }