[PATCH] D61914: [Support][Test] Time profiler: add regression test
Anton Afanasyev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 7 04:13:25 PDT 2019
anton-afanasyev updated this revision to Diff 203532.
anton-afanasyev marked 2 inline comments as done.
anton-afanasyev added a comment.
Updated
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61914/new/
https://reviews.llvm.org/D61914
Files:
clang/test/Driver/check-time-trace.cpp
clang/tools/driver/cc1_main.cpp
Index: clang/tools/driver/cc1_main.cpp
===================================================================
--- clang/tools/driver/cc1_main.cpp
+++ clang/tools/driver/cc1_main.cpp
@@ -241,6 +241,11 @@
llvm::timeTraceProfilerWrite(*profilerOutput);
llvm::timeTraceProfilerCleanup();
+
+ llvm::errs() << "Time trace json-file dumped to " << Path.str() << "\n";
+ llvm::errs()
+ << "Use chrome://tracing or Speedscope App "
+ "(https://www.speedscope.app) for flamegraph visualization\n";
}
// Our error handler depends on the Diagnostics object, which we're
Index: clang/test/Driver/check-time-trace.cpp
===================================================================
--- /dev/null
+++ clang/test/Driver/check-time-trace.cpp
@@ -0,0 +1,23 @@
+// RUN: %clangxx -ftime-trace %s 2>&1 | grep "Time trace json-file dumped to" \
+// RUN: | awk '{print $NF}' | xargs cat \
+// RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
+// RUN: | FileCheck %s
+
+// CHECK: "traceEvents": [
+// CHECK: "args":
+// CHECK: "detail":
+// CHECK: "dur":
+// CHECK: "name": "Source"
+// CHECK-NEXT: "ph":
+// CHECK-NEXT: "pid":
+// CHECK-NEXT: "tid":
+// CHECK-NEXT: "ts":
+// CHECK: "name": "clang"
+// CHECK: "name": "process_name"
+
+#include <iostream>
+
+int main() {
+ std::cout << "Foo" << std::endl;
+ return 0;
+}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61914.203532.patch
Type: text/x-patch
Size: 1420 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190607/a62e7de6/attachment.bin>
More information about the llvm-commits
mailing list