Skip to content

Commit afd3575

Browse files
committed
add full page info into json
1 parent 2d61e65 commit afd3575

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed

source/storage/btree/core/BTreeGeneric.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -309,13 +309,14 @@ inline void BTreeGeneric::ToJSONRecursive(
309309
rapidjson::Value::AllocatorType& allocator) {
310310

311311
DCHECK(resultObj->IsObject());
312+
// buffer frame header
312313
guardedNode.mBf->ToJSON(resultObj, allocator);
313314

314315
// btree node
315316
{
316317
rapidjson::Value nodeObj(rapidjson::kObjectType);
317318
guardedNode->ToJSON(&nodeObj, allocator);
318-
resultObj->AddMember("btreeNode", nodeObj, allocator);
319+
resultObj->AddMember("pagePayload(btreeNode)", nodeObj, allocator);
319320
}
320321

321322
if (guardedNode->mIsLeaf) {

source/storage/buffer-manager/BufferFrame.hpp

+35-6
Original file line numberDiff line numberDiff line change
@@ -224,42 +224,71 @@ static_assert(sizeof(Page) == PAGE_SIZE, "The total sizeof page");
224224
inline void BufferFrame::ToJSON(rapidjson::Value* resultObj,
225225
rapidjson::Value::AllocatorType& allocator) {
226226
DCHECK(resultObj->IsObject());
227+
228+
// header
229+
rapidjson::Value headerObj(rapidjson::kObjectType);
227230
{
228231
auto stateStr = header.StateString();
229232
rapidjson::Value member;
230233
member.SetString(stateStr.data(), stateStr.size(), allocator);
231-
resultObj->AddMember("header.mState", member, allocator);
234+
headerObj.AddMember("mState", member, allocator);
232235
}
233236

234237
{
235238
rapidjson::Value member;
236239
member.SetBool(header.mKeepInMemory);
237-
resultObj->AddMember("header.mKeepInMemory", member, allocator);
240+
headerObj.AddMember("mKeepInMemory", member, allocator);
238241
}
239242

240243
{
241244
rapidjson::Value member;
242245
member.SetUint64(header.mPageId);
243-
resultObj->AddMember("header.mPageId", member, allocator);
246+
headerObj.AddMember("mPageId", member, allocator);
244247
}
245248

246249
{
247250
rapidjson::Value member;
248251
member.SetUint64(header.mLastWriterWorker);
249-
resultObj->AddMember("header.mLastWriterWorker", member, allocator);
252+
headerObj.AddMember("mLastWriterWorker", member, allocator);
250253
}
251254

252255
{
253256
rapidjson::Value member;
254257
member.SetUint64(header.mFlushedPSN);
255-
resultObj->AddMember("header.mFlushedPSN", member, allocator);
258+
headerObj.AddMember("mFlushedPSN", member, allocator);
256259
}
257260

258261
{
259262
rapidjson::Value member;
260263
member.SetBool(header.mIsBeingWrittenBack);
261-
resultObj->AddMember("header.mIsBeingWrittenBack", member, allocator);
264+
headerObj.AddMember("mIsBeingWrittenBack", member, allocator);
265+
}
266+
267+
resultObj->AddMember("header", headerObj, allocator);
268+
269+
// page without payload
270+
rapidjson::Value pageMetaObj(rapidjson::kObjectType);
271+
{
272+
rapidjson::Value member;
273+
member.SetUint64(page.mPSN);
274+
pageMetaObj.AddMember("mPSN", member, allocator);
275+
}
276+
{
277+
rapidjson::Value member;
278+
member.SetUint64(page.mGSN);
279+
pageMetaObj.AddMember("mGSN", member, allocator);
280+
}
281+
{
282+
rapidjson::Value member;
283+
member.SetUint64(page.mBTreeId);
284+
pageMetaObj.AddMember("mBTreeId", member, allocator);
285+
}
286+
{
287+
rapidjson::Value member;
288+
member.SetUint64(page.mMagicDebuging);
289+
pageMetaObj.AddMember("mMagicDebuging", member, allocator);
262290
}
291+
resultObj->AddMember("pageWithoutPayload", pageMetaObj, allocator);
263292
}
264293

265294
} // namespace storage

0 commit comments

Comments
 (0)