appsignal-ruby
appsignal-ruby copied to clipboard
Add Hanami support
We've had a few customers ask about supporting Hanami (http://hanamirb.org/) Lets see if there's a nice way to integrate AppSignal with Hanami.
Hanami Controller
Hanami is split out in a few different projects, one of them is Hanami-Controller, it has a section about error handling: https://github.com/hanami/controller#exceptions-management
It looks like it does error handling on its own: https://github.com/hanami/controller/blob/master/lib/hanami/controller/configuration.rb#L113
@tombruijn: Since we received PR #322 we need to look at what steps we need to take to merge this in
TODO
- [ ] Review if the approach in PR #322 with middleware is the best approach (0.5 days)
- [ ] Rewrite tests (0.5-0.75 days)
- Use
transaction.to_h
see PR #322 for detailed description of rewrite needed - Convert from unit testing to more integration testing than just unit testing (by which I mean, do not just unit test the middleware, but unit test it through/with a real Hanami app. Something which I improved in our Grape integration specs recently.)
- Use
- [ ] Add Hanami integration documentation (0.25-0.5 days)
- [ ] Set up an example app on https://github.com/appsignal/appsignal-examples (0.5-0.75 days)
- Test basic single app integration
- Test multi app integration
- Test other edge cases described in documentation
- For example: namespaces (as these were a problem to support in Grape #189 )
https://app.intercom.io/a/apps/yzor8gyw/inbox/conversation/8396790008%3Fnsrc=slack
Updated the issue description with a TODO list of steps we need to take to support Hanami fully.
https://app.intercom.io/a/apps/yzor8gyw/respond/inbox/unassigned/conversations/13531223939
New hanami will use ROM (Ruby Object Mapper) Will be good to have out of box support for it too (rom-sql use Sequel below, so maybe this will be helpful)
https://app.intercom.com/a/inbox/yzor8gyw/inbox/admin/4356044/conversation/16410700129981?view=List
This issue seems is labelled as a new feature. Our customers may want to be informed about these changes through a blog post announcement. An issue has been created in blog repo so we remember to publish a blog post about it.
If a blog post is not required, please add the [skip blogpost]
tag next time, and close the created issue.
Hanami v2 is now supported in AppSignal for Ruby gem 3.3.0 (https://rubygems.org/gems/appsignal/versions/3.3.0)
Follow instructions here: https://docs.appsignal.com/ruby/integrations/hanami.html