fix json formatting
This commit is contained in:
parent
89a70f78e7
commit
314a6b5422
1 changed files with 35 additions and 14 deletions
|
@ -584,14 +584,35 @@ struct csv_printer : public printer {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct json_printer : public printer {
|
struct json_printer : public printer {
|
||||||
|
bool first = true;
|
||||||
|
|
||||||
void print_fields(const std::vector<std::string> & fields, const std::vector<std::string> & values) {
|
void print_fields(const std::vector<std::string> & fields, const std::vector<std::string> & values) {
|
||||||
assert(fields.size() == values.size());
|
assert(fields.size() == values.size());
|
||||||
for (size_t i = 0; i < fields.size(); i++) {
|
for (size_t i = 0; i < fields.size(); i++) {
|
||||||
fprintf(fout, " \"%s\": \"%s\",\n", fields.at(i).c_str(), values.at(i).c_str());
|
fprintf(fout, " \"%s\": \"%s\"", fields.at(i).c_str(), values.at(i).c_str());
|
||||||
|
if (i < fields.size() - 1) {
|
||||||
|
fprintf(fout, ",\n");
|
||||||
|
} else {
|
||||||
|
fprintf(fout, "\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void print_header(const cmd_params & params) {
|
||||||
|
fprintf(fout, "[\n");
|
||||||
|
(void) params;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void print_footer() {
|
||||||
|
fprintf(fout, "\n]\n");
|
||||||
|
}
|
||||||
|
|
||||||
virtual void print_test(const test & t) {
|
virtual void print_test(const test & t) {
|
||||||
|
if (first) {
|
||||||
|
first = false;
|
||||||
|
} else {
|
||||||
|
fprintf(fout, ",\n");
|
||||||
|
}
|
||||||
fprintf(fout, " {\n");
|
fprintf(fout, " {\n");
|
||||||
fprintf(fout, " \"model\": {\n");
|
fprintf(fout, " \"model\": {\n");
|
||||||
print_fields(model_params::get_fields(), t.mparams.get_values());
|
print_fields(model_params::get_fields(), t.mparams.get_values());
|
||||||
|
@ -607,7 +628,7 @@ struct json_printer : public printer {
|
||||||
fprintf(fout, " \"avg\": %" PRIu64 ",\n", t.tsamples.avg());
|
fprintf(fout, " \"avg\": %" PRIu64 ",\n", t.tsamples.avg());
|
||||||
fprintf(fout, " \"stddev\": %" PRIu64 "\n", t.tsamples.stdev());
|
fprintf(fout, " \"stddev\": %" PRIu64 "\n", t.tsamples.stdev());
|
||||||
fprintf(fout, " }\n");
|
fprintf(fout, " }\n");
|
||||||
fprintf(fout, "}\n");
|
fprintf(fout, " }");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue