public IEnumerator ThreadNameEvents_PresentInTheCapture() { var filename = Path.Combine(Application.persistentDataPath, "testfile.json"); TraceProfiler.BeginCapture(filename); yield return(new WaitForSeconds(0.1f)); TraceProfiler.EndCapture(); var parser = new EventParser(filename); var threadEvents = parser.FindWithName("thread_name"); var mainThreadDetected = false; foreach (var e in threadEvents) { Assert.IsNull(e.cat); Assert.AreEqual("thread_name", e.name); Assert.AreEqual("M", e.ph); Assert.IsNotNull(e.args); Assert.IsNotNull(e.args.name); if (e.args.name.Contains("Main Thread")) { mainThreadDetected = true; } } Assert.IsTrue(mainThreadDetected); File.Delete(filename); }
public IEnumerator Profiler_AsyncEventsCapturePerformance() { string testFileName = "testfile.json"; TraceProfiler.BeginCapture(testFileName); var e = new TraceEventProfiler.AsyncEvent("MyAsyncEvent"); e.Begin(); yield return(new WaitForSeconds(0.1f)); e.End(); TraceProfiler.EndCapture(); string filename = Path.Combine(Application.persistentDataPath, testFileName); EventParser parser = new EventParser(filename); List <ProfileEvent> asyncEvents = parser.FindWithName("MyAsyncEvent"); // TODO: Add more tests, but for now make sure that async events work Assert.AreEqual("b", asyncEvents[0].ph); Assert.AreEqual("e", asyncEvents[1].ph); string filePath = Path.Combine(Application.persistentDataPath, testFileName); File.Delete(filePath); }
public IEnumerator Profiler_OutputsPerformanceDataFile() { string testFileName = "testfile.json"; TraceProfiler.BeginCapture(testFileName); yield return(new WaitForSeconds(0.1f)); TraceProfiler.EndCapture(); string filePath = Path.Combine(Application.persistentDataPath, testFileName); Assert.IsTrue(File.Exists(filePath)); File.Delete(filePath); }