processor: Export all stats to JSON
This way, we can tell a bit more about what happened during trace
parsing & JSON conversion just by looking at the resulting JSON trace.
Bug: 130786269,chromium:1029821
Change-Id: I88c4463a6973d7dda8edc497e956841ef0da48cc
diff --git a/src/trace_processor/export_json_unittest.cc b/src/trace_processor/export_json_unittest.cc
index 6b7ad59..6acfa96 100644
--- a/src/trace_processor/export_json_unittest.cc
+++ b/src/trace_processor/export_json_unittest.cc
@@ -38,7 +38,7 @@
std::string ReadFile(FILE* input) {
fseek(input, 0, SEEK_SET);
- const int kBufSize = 1000;
+ const int kBufSize = 10000;
char buffer[kBufSize];
size_t ret = fread(buffer, sizeof(char), kBufSize, input);
EXPECT_GT(ret, 0u);
@@ -83,7 +83,7 @@
Json::Value ToJsonValue(const std::string& json) {
Json::Reader reader;
Json::Value result;
- EXPECT_TRUE(reader.parse(json, result));
+ EXPECT_TRUE(reader.parse(json, result)) << json;
return result;
}
@@ -328,12 +328,15 @@
int64_t kProducers = 10;
int64_t kBufferSize0 = 1000;
int64_t kBufferSize1 = 2000;
+ int64_t kFtraceBegin = 3000;
context_.storage->SetStats(stats::traced_producers_connected, kProducers);
context_.storage->SetIndexedStats(stats::traced_buf_buffer_size, 0,
kBufferSize0);
context_.storage->SetIndexedStats(stats::traced_buf_buffer_size, 1,
kBufferSize1);
+ context_.storage->SetIndexedStats(stats::ftrace_cpu_bytes_read_begin, 0,
+ kFtraceBegin);
base::TempFile temp_file = base::TempFile::Create();
FILE* output = fopen(temp_file.path().c_str(), "w+");
@@ -343,13 +346,15 @@
Json::Value result = ToJsonValue(ReadFile(output));
EXPECT_TRUE(result.isMember("metadata"));
- EXPECT_TRUE(result["metadata"].isMember("perfetto_trace_stats"));
- Json::Value stats = result["metadata"]["perfetto_trace_stats"];
+ EXPECT_TRUE(result["metadata"].isMember("trace_processor_stats"));
+ Json::Value stats = result["metadata"]["trace_processor_stats"];
- EXPECT_EQ(stats["producers_connected"].asInt(), kProducers);
- EXPECT_EQ(stats["buffer_stats"].size(), 2u);
- EXPECT_EQ(stats["buffer_stats"][0]["buffer_size"].asInt(), kBufferSize0);
- EXPECT_EQ(stats["buffer_stats"][1]["buffer_size"].asInt(), kBufferSize1);
+ EXPECT_EQ(stats["traced_producers_connected"].asInt(), kProducers);
+ EXPECT_EQ(stats["traced_buf"].size(), 2u);
+ EXPECT_EQ(stats["traced_buf"][0]["buffer_size"].asInt(), kBufferSize0);
+ EXPECT_EQ(stats["traced_buf"][1]["buffer_size"].asInt(), kBufferSize1);
+ EXPECT_EQ(stats["ftrace_cpu_bytes_read_begin"].size(), 1u);
+ EXPECT_EQ(stats["ftrace_cpu_bytes_read_begin"][0].asInt(), kFtraceBegin);
}
TEST_F(ExportJsonTest, StorageWithChromeMetadata) {