MCPcopy Create free account
hub / github.com/apache/impala / JsonToTraceEvent

Function JsonToTraceEvent

be/src/runtime/io/data-cache-trace.cc:78–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

76}
77
78Status JsonToTraceEvent(const std::string& json, TraceEvent* event) {
79 rapidjson::Document d;
80 d.Parse<0>(json.c_str());
81 // Check for any parse failure
82 if (d.HasParseError()) {
83 return Status(Substitute("Failed to parse TraceEvent JSON. Error: $0 JSON: $1",
84 rapidjson::GetParseError_En(d.GetParseError()), json));
85 }
86 // Verify that this is an object and the required fields are present
87 if (!d.IsObject() || !d.HasMember("ts") || !d.HasMember("s") || !d.HasMember("f") ||
88 !d.HasMember("m") || !d.HasMember("o")) {
89 return Status(Substitute("Invalid TraceEvent JSON: $0", json));
90 }
91 event->timestamp = d["ts"].GetDouble();
92 event->type = StringToEventType(d["s"].GetString());
93 event->filename = d["f"].GetString();
94 event->mtime = d["m"].GetInt64();
95 event->offset = d["o"].GetInt64();
96 event->entry_length = d.HasMember("eLen") ? d["eLen"].GetInt64() : -1;
97 event->lookup_length = d.HasMember("lLen") ? d["lLen"].GetInt64() : -1;
98 return Status::OK();
99}
100
101std::string TraceEventToJson(const TraceEvent& event) {
102 ostringstream buf;

Callers 2

GetNextEventMethod · 0.85
TEST_FFunction · 0.85

Calls 6

SubstituteFunction · 0.85
StringToEventTypeFunction · 0.85
OKFunction · 0.85
GetInt64Method · 0.80
StatusClass · 0.50
GetStringMethod · 0.45

Tested by 1

TEST_FFunction · 0.68