This automatically collects a bunch of Ruby's GC-related metrics that
will come in handy while we tune the Unicorn workers. Some of theres
are:
* runtime.ruby.class_count
* runtime.ruby.gc.malloc_increase_bytes
* runtime.ruby.gc.total_allocated_objects
* runtime.ruby.gc.total_freed_objects
* runtime.ruby.gc.heap_marked_slots
* runtime.ruby.gc.heap_available_slots
* runtime.ruby.gc.heap_free_slots
* runtime.ruby.thread_count
Check https://docs.datadoghq.com/tracing/runtime_metrics/ruby/#data-collected for the complete list.
The cool thing is that
> Runtime metrics can be viewed in correlation with your Ruby services
Responsibility for geocoding has moved from the `gmaps4rails` gem using `acts_as_taggable`, to the `geocoding` gem using `geocoded_by`. We already use this in the Address model.
Activate paper_trail in order_cycles and schedules and track each others ids
An alternative way of doing this would be to use a gem for paper_trail associations but this way we avoid adding a new dependency to the app
DEPRECATION WARNING: PaperTrail.track_associations has not been set. As of PaperTrail 5, it defaults to false. Tracking associations is an experimental feature so we recommend setting PaperTrail.config.track_associations = false in your config/initializers/paper_trail.rb . (called from block (3 levels) in <top (required)> at /home/user/Github/openfoodnetwork/spec/controllers/admin/column_preferences_controller_spec.rb:10)
This will enrich the quality of the reported traces for all web
frameworks in our stack. That means not only memcached as we did in
https://github.com/openfoodfoundation/openfoodnetwork/pull/4266 but
PostgreSQL and Rails too.
After enabling, the Trace Search & Analytics page populates which allows
us to search traces and add APM queries to dashboards.
Sets the "use_s3" (for images) option based on presence of `s3_images_bucket` from ofn-install instead of presence of s3 keys, for instances that use s3 for backups but not for images.
This solves the error showed below when executed `bundle exec rake
db2fog:backup RAILS_ENV=staging` on Katuma staging
```
Excon::Error::BadRequest: Expected(200) <=> Actual(400 Bad Request)
excon.error.response
:body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'eu-central-1'</Message><Region>eu-central-1</Region><RequestId>3DE2763883FC601D</RequestId><HostId>1E6UapnblBqVZM0SeeLrdPNDd+VaQ0nxCWwrQ9mi8HjRo2xevAUwtSq5V3fxhsj4Cj9ynnDroco=</HostId></Error>"
```
This ensures that Db2fog always picks up the latest value of the S3_*
env vars and not the one that was persisted last time. Now you can do
things like `S3_BUCKET=xxx bundle exec rake db2fog:backup` if you had
to.