aboutsummaryrefslogtreecommitdiffhomepage
path: root/bench
diff options
context:
space:
mode:
authorGravatar kelvinly <kelvinly@google.com>2014-06-26 11:26:40 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-06-26 11:26:41 -0700
commit4d1a364e391a8fd79c9e133d27957761d35068d0 (patch)
tree3797f1ae14ec0eda2457b89e19c8d8e35bb739b2 /bench
parent93fabf4847b4784ffabb8d81e722e14d88c92804 (diff)
Make SKP bench JSON ouput better
BUG=skia: NOTREECHECKS=true R=bensong@google.com, jcgregorio@google.com, bsalomon@google.com, robertphillips@google.com, rmistry@google.com Author: kelvinly@google.com Review URL: https://codereview.chromium.org/329993008
Diffstat (limited to 'bench')
-rw-r--r--bench/ResultsWriter.cpp29
-rw-r--r--bench/ResultsWriter.h2
2 files changed, 31 insertions, 0 deletions
diff --git a/bench/ResultsWriter.cpp b/bench/ResultsWriter.cpp
index 08f11c190f..0ab8cb1908 100644
--- a/bench/ResultsWriter.cpp
+++ b/bench/ResultsWriter.cpp
@@ -8,6 +8,8 @@
*/
#include "ResultsWriter.h"
+#include "SkString.h"
+#include "SkTArray.h"
Json::Value* SkFindNamedNode(Json::Value* root, const char name[]) {
Json::Value* search_results = NULL;
@@ -28,3 +30,30 @@ Json::Value* SkFindNamedNode(Json::Value* root, const char name[]) {
}
}
+Json::Value SkMakeBuilderJSON(const SkString &builderName) {
+ static const int kNumKeys = 6;
+ static const char* kKeys[kNumKeys] = {
+ "role", "os", "model", "gpu", "arch", "configuration"};
+ Json::Value builderData;
+
+ if (!builderName.isEmpty()) {
+ SkTArray<SkString> splitBuilder;
+ SkStrSplit(builderName.c_str(), "-", &splitBuilder);
+ SkASSERT(splitBuilder.count() >= kNumKeys);
+ for (int i = 0; i < kNumKeys && i < splitBuilder.count(); ++i) {
+ builderData[kKeys[i]] = splitBuilder[i].c_str();
+ }
+ builderData["builderName"] = builderName.c_str();
+ if (kNumKeys < splitBuilder.count()) {
+ SkString extras;
+ for (int i = kNumKeys; i < splitBuilder.count(); ++i) {
+ extras.append(splitBuilder[i]);
+ if (i != splitBuilder.count() - 1) {
+ extras.append("-");
+ }
+ }
+ builderData["badParams"] = extras.c_str();
+ }
+ }
+ return builderData;
+}
diff --git a/bench/ResultsWriter.h b/bench/ResultsWriter.h
index ed10afa3ca..1ee3616ceb 100644
--- a/bench/ResultsWriter.h
+++ b/bench/ResultsWriter.h
@@ -102,6 +102,8 @@ private:
*/
Json::Value* SkFindNamedNode(Json::Value* root, const char name[]);
+Json::Value SkMakeBuilderJSON(const SkString &buildername);
+
class JSONResultsWriter : public ResultsWriter {
public:
explicit JSONResultsWriter(const char filename[])