public static void TimeOutExecute() { System.Threading.Thread.Sleep(timeoutSec * 1000); Debug.Log("Timeout!!!"); currentReader.ForceExit(); timeouted = true; }
void OnGUI() { EditorGUILayout.LabelField("Profiler BinLog Hack"); EditorGUILayout.BeginHorizontal(); this.filePath = EditorGUILayout.TextField(this.filePath); if (GUILayout.Button("File", GUILayout.Width(40.0f))) { this.filePath = EditorUtility.OpenFilePanelWithFilters("", "Select BinaryLogFile", new string[] { "profiler log", "data,raw" }); } EditorGUILayout.EndHorizontal(); { EditorGUILayout.LabelField("Concition"); EditorGUILayout.BeginHorizontal(); sampleNameCondition = EditorGUILayout.TextField("sample name ", sampleNameCondition); this.stringCheckCondition = (EConditionType)EditorGUILayout.EnumPopup(this.stringCheckCondition); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("HierarchyMode"); this.sampleCondition = (ESampleCondition)EditorGUILayout.EnumPopup(this.sampleCondition); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); this.conditionExecuteTime = EditorGUILayout.FloatField("Execute time(ms)", this.conditionExecuteTime); this.conditionAlloc = EditorGUILayout.IntField("Alloc(byte)", conditionAlloc); EditorGUILayout.EndHorizontal(); } EditorGUILayout.BeginHorizontal(); if (!IsExecuting()) { if (GUILayout.Button("Analyze", GUILayout.Width(100))) { this.pageIndex = 1; if (string.IsNullOrEmpty(filePath) || !System.IO.File.Exists(filePath)) { Debug.LogError("No such File "); } else { logReader = ProfilerLogUtil.CreateLogReader(filePath); columnList.Clear(); } } } else { if (GUILayout.Button("Cancel", GUILayout.Width(100))) { logReader.ForceExit(); } } GUILayout.Label(""); if (logReader != null && logReader.IsComplete) { if (GUILayout.Button("Write To CSV", GUILayout.Width(100))) { SaveToCsv(); } } EditorGUILayout.EndHorizontal(); // execute now if (IsExecuting()) { EditorGUILayout.LabelField("Progress " + logReader.Progress * 100.0f + "%"); } else { this.ONGUIResultList(); treeView.OnGUI(); } }
void OnGUI() { EditorGUILayout.LabelField("Convert profiler log to csv"); EditorGUILayout.BeginHorizontal(); if (string.IsNullOrEmpty(filePath)) { EditorGUILayout.LabelField("Select File"); } else { EditorGUILayout.LabelField(this.filePath); } if (GUILayout.Button("File", GUILayout.Width(40.0f))) { this.filePath = EditorUtility.OpenFilePanelWithFilters("", "Select BinaryLogFile", new string[] { "profiler log", "data,raw" }); } if (!IsExecute()) { if (GUILayout.Button("Analyze", GUILayout.Width(100))) { if (string.IsNullOrEmpty(filePath) || !System.IO.File.Exists(filePath)) { Debug.LogError("No such File "); } else { logReader = ProfilerLogUtil.CreateLogReader(filePath); isFirstFrame = true; for (int i = 0; i < fileWriterFlags.Count; ++i) { if (this.fileWriterFlags[i].flag) { var analyzer = System.Activator.CreateInstance(fileWriterFlags[i].type) as IAnalyzeFileWriter; analyzeExecutes.Add(analyzer); } } } } } else { if (GUILayout.Button("ForceExit", GUILayout.Width(100))) { if (logReader != null) { logReader.ForceExit(); } } } EditorGUILayout.EndHorizontal(); if (IsExecute()) { EditorGUILayout.LabelField("Progress " + logReader.Progress * 100.0f + "%"); } else { for (int i = 0; i < fileWriterFlags.Count; ++i) { EditorGUILayout.BeginHorizontal(); this.fileWriterFlags[i].flag = EditorGUILayout.Toggle(this.fileWriterFlags[i].flag, GUILayout.Width(20)); EditorGUILayout.LabelField(this.fileWriterFlags[i].name); EditorGUILayout.EndHorizontal(); } } EditorGUILayout.LabelField("The results are in csv file."); }