[PATCH] D83505: [NFC] Add utility to sum/merge stats files
Tyker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 7 10:05:00 PDT 2020
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG7d0f69118e61: [NFC] Add utility to sum/merge stats files (authored by Tyker).
Changed prior to commit:
https://reviews.llvm.org/D83505?vs=276828&id=283938#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83505/new/
https://reviews.llvm.org/D83505
Files:
llvm/utils/merge-stats.py
Index: llvm/utils/merge-stats.py
===================================================================
--- /dev/null
+++ llvm/utils/merge-stats.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python3
+'''
+Merge .stats files generated by llvm tools
+
+merge-stats.py takes as argument a list of stats files to merge
+and output the result on stdout
+
+Usage:
+ merge-stats.py $(find ./builddir/ -name "*.stats") > total.stats
+'''
+
+import json
+import sys
+
+result = {}
+
+for arg in range(1, len(sys.argv)):
+ with open(sys.argv[arg], "r", encoding='utf-8',
+ errors='ignore') as f:
+ text = f.read()
+ try:
+ data = json.loads(text)
+ except:
+ print('ignored %s: failed to parse' % sys.argv[arg], file= sys.stderr)
+ continue
+ for key in data:
+ if key in result:
+ result[key] += data[key]
+ else:
+ result[key] = data[key]
+
+out = json.dumps(result, indent=2)
+print(out)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D83505.283938.patch
Type: text/x-patch
Size: 932 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200807/8ce7ed29/attachment.bin>
More information about the llvm-commits
mailing list