| 635 | } |
| 636 | |
| 637 | inline auto |
| 638 | EThread::Metrics::Slice::record_io_stats(ink_hrtime io_wait, ink_hrtime io_work) -> self_type & |
| 639 | { |
| 640 | if (io_wait > 0) { |
| 641 | if (io_wait > _duration._max_io_wait) { |
| 642 | _duration._max_io_wait = io_wait; |
| 643 | } |
| 644 | } |
| 645 | if (io_work > 0) { |
| 646 | _duration._last_io_work = io_work; |
| 647 | if (io_work > _duration._max_io_work) { |
| 648 | _duration._max_io_work = io_work; |
| 649 | } |
| 650 | } |
| 651 | return *this; |
| 652 | } |
| 653 | |
| 654 | inline EThread::Metrics::Slice * |
| 655 | EThread::Metrics::prev_slice(EThread::Metrics::Slice *current) |