@@ -302,7 +302,9 @@ FileHandle::TransferData::~TransferData() {
302
302
if (fd_ > 0 ) {
303
303
uv_fs_t close_req;
304
304
CHECK_NE (fd_, -1 );
305
+ FS_SYNC_TRACE_BEGIN (close );
305
306
CHECK_EQ (0 , uv_fs_close (nullptr , &close_req, fd_, nullptr ));
307
+ FS_SYNC_TRACE_END (close );
306
308
uv_fs_req_cleanup (&close_req);
307
309
}
308
310
}
@@ -327,7 +329,9 @@ inline void FileHandle::Close() {
327
329
if (closed_ || closing_) return ;
328
330
uv_fs_t req;
329
331
CHECK_NE (fd_, -1 );
332
+ FS_SYNC_TRACE_BEGIN (close );
330
333
int ret = uv_fs_close (env ()->event_loop (), &req, fd_, nullptr );
334
+ FS_SYNC_TRACE_END (close );
331
335
uv_fs_req_cleanup (&req);
332
336
333
337
struct err_detail { int ret; int fd; };
@@ -460,7 +464,10 @@ MaybeLocal<Promise> FileHandle::ClosePromise() {
460
464
461
465
CloseReq* req = new CloseReq (env (), close_req_obj, promise, object ());
462
466
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);
464
471
CHECK (close );
465
472
close ->file_handle ()->AfterClose ();
466
473
if (!close ->env ()->can_call_into_js ()) return ;
@@ -474,6 +481,7 @@ MaybeLocal<Promise> FileHandle::ClosePromise() {
474
481
}
475
482
}};
476
483
CHECK_NE (fd_, -1 );
484
+ FS_ASYNC_TRACE_BEGIN0 (UV_FS_CLOSE, req)
477
485
int ret = req->Dispatch (uv_fs_close, fd_, AfterClose);
478
486
if (ret < 0 ) {
479
487
req->Reject (UVException (isolate, ret, " close" ));
@@ -569,7 +577,7 @@ int FileHandle::ReadStart() {
569
577
read_wrap->buffer_ = EmitAlloc (recommended_read);
570
578
571
579
current_read_ = std::move (read_wrap);
572
-
580
+ FS_ASYNC_TRACE_BEGIN0 (UV_FS_READ, current_read_. get ())
573
581
current_read_->Dispatch (uv_fs_read,
574
582
fd_,
575
583
¤t_read_->buffer_ ,
@@ -579,6 +587,8 @@ int FileHandle::ReadStart() {
579
587
FileHandle* handle;
580
588
{
581
589
FileHandleReadWrap* req_wrap = FileHandleReadWrap::from_req (req);
590
+ FS_ASYNC_TRACE_END1 (
591
+ req->fs_type , req_wrap, " result" , static_cast <int >(req->result ))
582
592
handle = req_wrap->file_handle_ ;
583
593
CHECK_EQ (handle->current_read_ .get (), req_wrap);
584
594
}
@@ -652,9 +662,12 @@ int FileHandle::DoShutdown(ShutdownWrap* req_wrap) {
652
662
FileHandleCloseWrap* wrap = static_cast <FileHandleCloseWrap*>(req_wrap);
653
663
closing_ = true ;
654
664
CHECK_NE (fd_, -1 );
665
+ FS_ASYNC_TRACE_BEGIN0 (UV_FS_CLOSE, wrap)
655
666
wrap->Dispatch (uv_fs_close, fd_, uv_fs_callback_t {[](uv_fs_t * req) {
656
667
FileHandleCloseWrap* wrap = static_cast <FileHandleCloseWrap*>(
657
668
FileHandleCloseWrap::from_req (req));
669
+ FS_ASYNC_TRACE_END1 (
670
+ req->fs_type , wrap, " result" , static_cast <int >(req->result ))
658
671
FileHandle* handle = static_cast <FileHandle*>(wrap->stream ());
659
672
handle->AfterClose ();
660
673
0 commit comments