Skip to content

Commit

Permalink
Bump minor version.
Browse files Browse the repository at this point in the history
  • Loading branch information
ioquatix committed Feb 10, 2025
1 parent 3d52925 commit 6dd1f97
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
2 changes: 1 addition & 1 deletion lib/io/event/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
class IO
# @namespace
module Event
VERSION = "1.8.4"
VERSION = "1.9.0"
end
end
4 changes: 4 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ Please see the [project documentation](https://socketry.github.io/io-event/) for

Please see the [project releases](https://socketry.github.io/io-event/releases/index) for all releases.

### v1.9.0

- [Improved `IO::Event::Profiler` for detecting stalls.](https://socketry.github.io/io-event/releases/index#improved-io::event::profiler-for-detecting-stalls.)

### v1.8.0

- [Detecting fibers that are stalling the event loop.](https://socketry.github.io/io-event/releases/index#detecting-fibers-that-are-stalling-the-event-loop.)
Expand Down
10 changes: 5 additions & 5 deletions releases.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Releases

## Unreleased
## v1.9.0

### Improved `IO::Event::Profiler` for detecting stalls.

A new `IO::Event::Profiler` class has been added to help detect stalls in the event loop. The previous approach was insufficient to detect all possible stalls. This new approach uses the `RUBY_EVENT_FIBER_SWITCH` event to track context switching by the scheduler, and can detect stalls no matter how they occur.

```ruby
``` ruby
profiler = IO::Event::Profiler.new

profiler.start
Expand All @@ -20,9 +20,9 @@ profiler.stop

A default profiler is exposed using `IO::Event::Profiler.default` which is controlled by the following environment variables:

- `IO_EVENT_PROFILER=true` - Enable the profiler, otherwise `IO::Event::Profiler.default` will return `nil`.
- `IO_EVENT_PROFILER_LOG_THRESHOLD` - Specify the threshold in seconds for logging a stall. Defaults to `0.01`.
- `IO_EVENT_PROFILER_TRACK_CALLS` - Track the method call for each event, in order to log specifically which method is causing the stall. Defaults to `true`.
- `IO_EVENT_PROFILER=true` - Enable the profiler, otherwise `IO::Event::Profiler.default` will return `nil`.
- `IO_EVENT_PROFILER_LOG_THRESHOLD` - Specify the threshold in seconds for logging a stall. Defaults to `0.01`.
- `IO_EVENT_PROFILER_TRACK_CALLS` - Track the method call for each event, in order to log specifically which method is causing the stall. Defaults to `true`.

The previous environment variables `IO_EVENT_SELECTOR_STALL_LOG_THRESHOLD` and `IO_EVENT_SELECTOR_STALL_LOG` no longer have any effect.

Expand Down

0 comments on commit 6dd1f97

Please sign in to comment.