Skip to content

Update falcon 0.48.6 → 0.50.0 (major)#736

Closed
depfu[bot] wants to merge 1 commit intomasterfrom
depfu/update/falcon-0.50.0
Closed

Update falcon 0.48.6 → 0.50.0 (major)#736
depfu[bot] wants to merge 1 commit intomasterfrom
depfu/update/falcon-0.50.0

Conversation

@depfu
Copy link
Copy Markdown
Contributor

@depfu depfu bot commented Feb 13, 2025

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ falcon (0.48.6 → 0.50.0) · Repo · Changelog

Release Notes

0.50.0 (from changelog)

  • Add {ruby Falcon::Environment::Server#endpoint_options} to allow configuration of the endpoint options more easily.

0.49.0 (from changelog)

Falcon Server Container Health Checks

{ruby Falcon::Service::Server} adds support for the {ruby Async::Container} health check which detects hung processes and restarts them. The default health check interval is 30 seconds.

falcon serve introduces a new --health-check-timeout option to configure the health check timeout. falcon.rb/falcon host can be changed using the health_check_timeout key within the container_options configuration - these are passed directly to {ruby Async::Container}. If you don't want a health check, set health_check_timeout to nil.

Falcon Server Process Title

The Falcon server process title is now updated periodically (alongside the health check) to include information about the numnber of connections and requests.

12211 ttys002    0:00.28 /Users/samuel/.gem/ruby/3.4.1/bin/falcon serve --bind http://localhost:8000      
12213 ttys002    0:04.14 http://localhost:8000 (C=2/2 R=0/49.45K L=0.353)
12214 ttys002    0:07.22 http://localhost:8000 (C=5/6 R=0/112.97K L=0.534)
12215 ttys002    0:05.41 http://localhost:8000 (C=3/3 R=0/71.7K L=0.439)
12216 ttys002    0:06.46 http://localhost:8000 (C=4/5 R=0/93.22K L=0.493)
12217 ttys002    0:02.58 http://localhost:8000 (C=1/1 R=0/24.9K L=0.251)
12218 ttys002    0:05.44 http://localhost:8000 (C=3/3 R=0/72.12K L=0.439)
12219 ttys002    0:06.47 http://localhost:8000 (C=4/4 R=0/93.13K L=0.493)
12220 ttys002    0:04.03 http://localhost:8000 (C=2/2 R=0/47.37K L=0.357)
12221 ttys002    0:06.41 http://localhost:8000 (C=4/4 R=0/92.46K L=0.494)
12222 ttys002    0:06.38 http://localhost:8000 (C=4/4 R=0/91.71K L=0.495)
  • C – Connections: (current/total) connections accepted by the server
  • R – Requests: (current/total) requests processed by the server
  • L – Scheduler Load: A floating-point value representing the event loop load

Note, if you are using htop, you should enable "Setup" → "Display Options" → "[x] Update process names on every refresh" otherwise the process title will not be updated.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 13 commits:

↗️ async (indirect, 2.22.0 → 2.23.0) · Repo · Changelog

Release Notes

2.23.0 (from changelog)

  • Rename ASYNC_SCHEDULER_DEFAULT_WORKER_POOL to ASYNC_SCHEDULER_WORKER_POOL.

Fiber Stall Profiler

After several iterations of experimentation, we are officially introducing the fiber stall profiler, implemented using the optional fiber-profiler gem. This gem is not included by default, but can be added to your project:

$ bundle add fiber-profiler

After adding the gem, you can enable the fiber stall profiler by setting the FIBER_PROFILER_CAPTURE=true environment variable:

$ FIBER_PROFILER_CAPTURE=true bundle exec ruby -rasync -e 'Async{Fiber.blocking{sleep 0.1}}'
Fiber stalled for 0.105 seconds
-e:1 in c-call '#<Class:Fiber>#blocking' (0.105s)
	-e:1 in c-call 'Kernel#sleep' (0.105s)
Skipped 1 calls that were too short to be meaningful.

The fiber profiler will help you find problems with your code that cause the event loop to stall, which can be a common source of performance issues in asynchronous code.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 6 commits:

↗️ async-container (indirect, 0.18.3 → 0.22.0) · Repo · Changelog

Release Notes

0.21.0 (from changelog)

  • Use SIGKILL/Thread#kill when the health check fails. In some cases, SIGTERM may not be sufficient to terminate a process because the signal can be ignored or the process may be in an uninterruptible state.

0.20.1 (from changelog)

  • Fix compatibility between {ruby Async::Container::Hybrid} and the health check.
  • {ruby Async::Container::Generic#initialize} passes unused arguments through to {ruby Async::Container::Group}.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 46 commits:

↗️ io-endpoint (indirect, 0.14.0 → 0.15.2) · Repo

Commits

See the full diff on Github. The new version differs by 8 commits:

↗️ process-metrics (indirect, 0.3.0 → 0.5.1) · Repo

Commits

See the full diff on Github. The new version differs by 10 commits:


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
Go to the Depfu Dashboard to see the state of your dependencies and to customize how Depfu works.

@depfu depfu bot added the depfu label Feb 13, 2025
@depfu depfu bot force-pushed the depfu/update/falcon-0.50.0 branch from 79f553f to cad1cda Compare February 26, 2025 22:50
@depfu
Copy link
Copy Markdown
Contributor Author

depfu bot commented Mar 2, 2025

Closed in favor of #767.

@depfu depfu bot closed this Mar 2, 2025
@depfu depfu bot deleted the depfu/update/falcon-0.50.0 branch March 2, 2025 01:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants