Skip to content

Commit da302ce

Browse files
theanarkhdanielleadams
authored andcommitted
fs: trace more fs api
PR-URL: #45095 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
1 parent 325254c commit da302ce

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/node_dir.cc

+2
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ void DirHandle::MemoryInfo(MemoryTracker* tracker) const {
135135
inline void DirHandle::GCClose() {
136136
if (closed_) return;
137137
uv_fs_t req;
138+
FS_DIR_SYNC_TRACE_BEGIN(closedir);
138139
int ret = uv_fs_closedir(nullptr, &req, dir_, nullptr);
140+
FS_DIR_SYNC_TRACE_END(closedir);
139141
uv_fs_req_cleanup(&req);
140142
closing_ = false;
141143
closed_ = true;

src/node_file.cc

+15-2
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,9 @@ FileHandle::TransferData::~TransferData() {
302302
if (fd_ > 0) {
303303
uv_fs_t close_req;
304304
CHECK_NE(fd_, -1);
305+
FS_SYNC_TRACE_BEGIN(close);
305306
CHECK_EQ(0, uv_fs_close(nullptr, &close_req, fd_, nullptr));
307+
FS_SYNC_TRACE_END(close);
306308
uv_fs_req_cleanup(&close_req);
307309
}
308310
}
@@ -327,7 +329,9 @@ inline void FileHandle::Close() {
327329
if (closed_ || closing_) return;
328330
uv_fs_t req;
329331
CHECK_NE(fd_, -1);
332+
FS_SYNC_TRACE_BEGIN(close);
330333
int ret = uv_fs_close(env()->event_loop(), &req, fd_, nullptr);
334+
FS_SYNC_TRACE_END(close);
331335
uv_fs_req_cleanup(&req);
332336

333337
struct err_detail { int ret; int fd; };
@@ -460,7 +464,10 @@ MaybeLocal<Promise> FileHandle::ClosePromise() {
460464

461465
CloseReq* req = new CloseReq(env(), close_req_obj, promise, object());
462466
auto AfterClose = uv_fs_callback_t{[](uv_fs_t* req) {
463-
BaseObjectPtr<CloseReq> close(CloseReq::from_req(req));
467+
CloseReq* req_wrap = CloseReq::from_req(req);
468+
FS_ASYNC_TRACE_END1(
469+
req->fs_type, req_wrap, "result", static_cast<int>(req->result))
470+
BaseObjectPtr<CloseReq> close(req_wrap);
464471
CHECK(close);
465472
close->file_handle()->AfterClose();
466473
if (!close->env()->can_call_into_js()) return;
@@ -474,6 +481,7 @@ MaybeLocal<Promise> FileHandle::ClosePromise() {
474481
}
475482
}};
476483
CHECK_NE(fd_, -1);
484+
FS_ASYNC_TRACE_BEGIN0(UV_FS_CLOSE, req)
477485
int ret = req->Dispatch(uv_fs_close, fd_, AfterClose);
478486
if (ret < 0) {
479487
req->Reject(UVException(isolate, ret, "close"));
@@ -569,7 +577,7 @@ int FileHandle::ReadStart() {
569577
read_wrap->buffer_ = EmitAlloc(recommended_read);
570578

571579
current_read_ = std::move(read_wrap);
572-
580+
FS_ASYNC_TRACE_BEGIN0(UV_FS_READ, current_read_.get())
573581
current_read_->Dispatch(uv_fs_read,
574582
fd_,
575583
&current_read_->buffer_,
@@ -579,6 +587,8 @@ int FileHandle::ReadStart() {
579587
FileHandle* handle;
580588
{
581589
FileHandleReadWrap* req_wrap = FileHandleReadWrap::from_req(req);
590+
FS_ASYNC_TRACE_END1(
591+
req->fs_type, req_wrap, "result", static_cast<int>(req->result))
582592
handle = req_wrap->file_handle_;
583593
CHECK_EQ(handle->current_read_.get(), req_wrap);
584594
}
@@ -652,9 +662,12 @@ int FileHandle::DoShutdown(ShutdownWrap* req_wrap) {
652662
FileHandleCloseWrap* wrap = static_cast<FileHandleCloseWrap*>(req_wrap);
653663
closing_ = true;
654664
CHECK_NE(fd_, -1);
665+
FS_ASYNC_TRACE_BEGIN0(UV_FS_CLOSE, wrap)
655666
wrap->Dispatch(uv_fs_close, fd_, uv_fs_callback_t{[](uv_fs_t* req) {
656667
FileHandleCloseWrap* wrap = static_cast<FileHandleCloseWrap*>(
657668
FileHandleCloseWrap::from_req(req));
669+
FS_ASYNC_TRACE_END1(
670+
req->fs_type, wrap, "result", static_cast<int>(req->result))
658671
FileHandle* handle = static_cast<FileHandle*>(wrap->stream());
659672
handle->AfterClose();
660673

0 commit comments

Comments
 (0)