Subject: CVS commit: pkgsrc/devel/ruby-io-event
From: Takahiro Kambe
Date: 2025-02-09 10:03:20
Message id: 20250209090320.77B17FBE0@cvs.NetBSD.org

Log Message:
devel/ruby-io-event: update to 1.8.4

1.8.0 (2025-02-05)

Detecting fibers that are stalling the event loop.

A new (experimental) feature for detecting fiber stalls has been added.
This feature is disabled by default and can be enabled by setting the
IO_EVENT_SELECTOR_STALL_LOG_THRESHOLD to true or a floating point number
representing the threshold in seconds.

When enabled, the event loop will measure and profile user code when
resuming a fiber.  If the fiber takes too long to return back to the event
loop, the event loop will log a warning message with a profile of the
fiber's execution.

> cat test.rb
#!/usr/bin/env ruby

require_relative "lib/async"

Async do
	Fiber.blocking do
		sleep 1
	end
end

> IO_EVENT_SELECTOR_STALL_LOG_THRESHOLD=true bundle exec ./test.rb
Fiber stalled for 1.003 seconds
	/home/samuel/Developer/socketry/async/test.rb:6 in \ 
'#<Class:Fiber>#blocking' (1s)
		/home/samuel/Developer/socketry/async/test.rb:7 in 'Kernel#sleep' (1s)

There is a performance overhead to this feature, so it is recommended to
only enable it when debugging performance issues.

1.8.1 (2025-02-05)

* Fix macOS build issues.
* Initial rework of call tracking.

1.8.2 (2025-02-05)

* Rename event -> call.
* Fix profiling.

1.8.3 (2025-02-05)

* Output profile log as JSON if !istty.

1.8.4 (2025-02-05)

* Correctly calculate total duration in output formatting.

Files:
RevisionActionfile
1.25modifypkgsrc/devel/ruby-io-event/Makefile
1.5modifypkgsrc/devel/ruby-io-event/PLIST
1.23modifypkgsrc/devel/ruby-io-event/distinfo