# Merge pull request #32 from oblyk/chore/brevo-gem

Migration de SibApiV3Sdk vers Brevo

- **Revision:** d850050ea399dcade2d5c521113f2e0f728581ea
- **Author:** Lucien Chastan
- **Period:** 2026-06-11 07:20:53 UTC – 2026-06-15 07:00:25 UTC
- **Duration:** 3 days, 23 hours, 39 minutes, and 32 seconds

## Requests

- **95P:** 76.0 ms
- **Throughput:** 118.09 /min
- **Errors:** 0.02980%

| Name | 95P ms | Throughput /min | Impact |
| ---- | -----: | --------------: | -----: |
| Api::V1::CragsController#geo_json | 1018 | 1.02 | 11.8% |
| Api::V1::CragsController#show | 77 | 14.3 | 9.1% |
| Api::V1::PartnersController#partners_around | 185 | 2.72 | 6.2% |
| Api::V1::PublicationsController#my_publication_feed | 368 | 1.18 | 5.4% |
| Api::V1::GymRoutesController#paginated | 128 | 3.42 | 4.7% |
| Api::V1::CurrentUsersController#suggested_friends | 1523 | 0.19 | 3.9% |
| Api::V1::CommonsController#figures | 2797 | 0.08 | 3.9% |
| Api::V1::CragRoutesController#show | 62 | 6.44 | 3.3% |
| Api::V1::GymsController#show | 75 | 2.94 | 2.6% |
| Api::V1::TownsController#show | 35 | 14.2 | 2.5% |
| ActiveStorage::RepresentationsController#show | 214 | 0.9 | 2.5% |
| Api::V1::GymsController#ascent_scores | 833 | 0.21 | 2.3% |
| Api::V1::CragRoutesController#index | 79 | 2.59 | 2.1% |
| Api::V1::CurrentUsersController#show | 65 | 2.32 | 1.7% |
| Api::V1::GymSectorsController#show | 34 | 6.12 | 1.6% |
| Api::V1::PublicationViewsController#my_unread_count | 128 | 1.09 | 1.6% |
| Api::V1::TownsController#geo_json | 90 | 1.33 | 1.5% |
| Api::V1::GuideBookPapersController#crags_figures | 180 | 0.59 | 1.3% |
| Api::V1::CragSectorsController#show | 33 | 3.58 | 1.1% |

## Jobs

- **95P:** 535.1 ms
- **Throughput:** 0.22 /min
- **Errors:** 0.00000%

| Name | 95P ms | Throughput /min | Impact |
| ---- | -----: | --------------: | -----: |
| ActiveStorage::AnalyzeJob | 800 | 0.11 | 74.8% |
| HistorizeTownJob | 322 | 0.04 | 8.3% |
| HistorizeCragStaticMapJob | 3180 | 0.0 | 5.2% |
| ActionMailer::MailDeliveryJob | 145 | 0.03 | 4.9% |
| EmailNotificationJob | 127 | 0.02 | 3.4% |
| ActiveStorage::PurgeJob | 333 | 0.0 | 1.8% |

## Errors
| Exception | Message | Location | Count | Last |
| --------- | ------- | -------- | ----: | ---- |
| **NoMethodError** | undefined method `level_color&#39; for nil:NilClass | app/controllers/api/v1/climbing_sessions_controller.rb:111 | 101 | 15 Jun 06:03 |
| **NoMethodError** | undefined method `+&#39; for nil:NilClass | app/controllers/api/v1/gyms_controller.rb:175 | 35 | 13 Jun 15:15 |
| **NoMethodError** | undefined method `first&#39; for nil:NilClass | app/models/color.rb:7 | 20 | 14 Jun 20:11 |
| **NoMethodError** | undefined method `summary_to_json&#39; for nil:NilClass | app/models/follow.rb:52 | 17 | 15 Jun 06:34 |
| **NoMethodError** | undefined method `to_sym&#39; for nil:NilClass | app/controllers/api/v1/gyms_controller.rb:173 | 16 | 14 Jun 10:25 |
| **NoMethodError** | undefined method `boulder_ranking&#39; for nil:NilClass | app/models/gym_route.rb:50 | 3 | 11 Jun 19:31 |
| **NoMethodError** | undefined method `update&#39; for nil:NilClass | app/controllers/api/v1/climbing_sessions_controller.rb:175 | 3 | 11 Jun 20:12 |
| **NoMethodError** | undefined method `summary_to_json&#39; for nil:NilClass | app/models/crag_sector.rb:121 | 3 | 15 Jun 02:47 |
| **NoMethodError** | undefined method `public_profile&#39; for nil:NilClass | app/controllers/api/v1/users_controller.rb:107 | 2 | 14 Jun 15:10 |
| **NoMethodError** | undefined method `&gt;&#39; for nil:NilClass | app/models/gym_level.rb:54 | 1 | 13 Jun 07:33 |
| **NoMethodError** | undefined method `optional_gender&#39; for nil:NilClass | app/models/contest_participant.rb:23 | 1 | 13 Jun 09:30 |

[View on RoRvsWild ↗](https://www.rorvswild.com/applications/135627/deployments/66070)
