# Oblyk API – Weekly Report: Jun 01 → Jun 08

## Requests (1,153,903)

- **95P:** 80.4 ms
- **Throughput:** 114.47 /min
- **Errors:** 0.02981%

| Name | 95P ms | Throughput /min | Impact |
| ---- | -----: | --------------: | -----: |
| Api::V1::CragsController#geo_json | 978 | 0.96 | 10.1% |
| Api::V1::PartnersController#partners_around | 268 | 2.79 | 9.6% |
| Api::V1::CragsController#show | 81 | 12.07 | 6.9% |
| Api::V1::PublicationsController#my_publication_feed | 369 | 1.47 | 6.0% |
| Api::V1::GymRoutesController#paginated | 129 | 4.08 | 5.1% |
| Api::V1::CommonsController#figures | 2720 | 0.1 | 4.1% |
| Api::V1::CurrentUsersController#suggested_friends | 980 | 0.23 | 3.2% |
| Api::V1::GymsController#ascent_scores | 755 | 0.29 | 2.9% |
| Api::V1::TownsController#geo_json | 161 | 1.34 | 2.8% |
| ActiveStorage::RepresentationsController#show | 175 | 1.12 | 2.5% |
| Api::V1::GymsController#show | 71 | 3.02 | 2.3% |
| Api::V1::CragRoutesController#index | 109 | 2.84 | 2.0% |
| Api::V1::CurrentUsersController#show | 58 | 3.15 | 2.0% |
| Api::V1::GymSectorsController#show | 32 | 7.36 | 1.7% |
| Api::V1::TownsController#show | 26 | 10.19 | 1.7% |
| Api::V1::PublicationViewsController#my_unread_count | 114 | 1.34 | 1.6% |
| Api::V1::AscentGymRoutesController#index | 65 | 1.67 | 1.2% |
| Api::V1::GuideBookPapersController#crags_figures | 170 | 0.6 | 1.2% |

## Jobs (3,424)

- **95P:** 588.1 ms
- **Throughput:** 0.34 /min
- **Errors:** 0.32126%

| Name | 95P ms | Throughput /min | Impact |
| ---- | -----: | --------------: | -----: |
| ActiveStorage::AnalyzeJob | 776 | 0.17 | 73.4% |
| HistorizeTownWorker | 584 | 0.04 | 7.9% |
| ActionMailer::MailDeliveryJob | 338 | 0.08 | 6.5% |
| EmailNotificationWorker | 134 | 0.03 | 2.8% |
| ActiveStorage::PurgeJob | 278 | 0.01 | 2.6% |
| SendPublicationsEmailsJob | 4861 | 0.0 | 2.5% |
| HistorizeTownsAroundWorker | 703 | 0.0 | 1.7% |
| HistorizeCragStaticMapWorker | 2650 | 0.0 | 1.2% |

## Errors (355)
| Exception | Message | Location | Count | Last |
| --------- | ------- | -------- | ----: | ---- |
| **NoMethodError** | undefined method `level_color&#39; for nil:NilClass | app/controllers/api/v1/climbing_sessions_controller.rb:111 | 149 | 07 Jun 19:55 |
| **NoMethodError** | undefined method `to_sym&#39; for nil:NilClass | app/controllers/api/v1/gyms_controller.rb:173 | 53 | 06 Jun 20:36 |
| **NoMethodError** | undefined method `first&#39; for nil:NilClass | app/models/color.rb:7 | 52 | 07 Jun 17:37 |
| **NoMethodError** | undefined method `boulder_ranking&#39; for nil:NilClass | app/models/gym_route.rb:61 | 24 | 04 Jun 19:35 |
| **NoMethodError** | undefined method `+&#39; for nil:NilClass | app/controllers/api/v1/gyms_controller.rb:175 | 18 | 07 Jun 20:55 |
| **TypeError** | no implicit conversion of Symbol into Integer | app/controllers/api/v1/ascent_gym_routes_controller.rb:207 | 12 | 07 Jun 17:42 |
| **MiniMagick::Error** | `identify -format %[orientation] /tmp/ActiveStorage-141283-20260608-419673-mrmqdk.jpg[0]` failed ... | /gems/mini_magick-4.11.0/lib/mini_magick/shell.rb:17 | 11 | 07 Jun 23:13 |
| **NoMethodError** | undefined method `to_sym&#39; for nil:NilClass | app/controllers/api/v1/gyms_controller.rb:171 | 11 | 04 Jun 11:27 |
| **NoMethodError** | undefined method `public_profile&#39; for nil:NilClass | app/controllers/api/v1/users_controller.rb:107 | 7 | 07 Jun 19:04 |
| **NoMethodError** | undefined method `summary_to_json&#39; for nil:NilClass | app/models/follow.rb:52 | 6 | 03 Jun 15:21 |
| **BCrypt::Errors::InvalidHash** | invalid hash | app/controllers/api/v1/sessions/signin_controller.rb:11 | 5 | 04 Jun 04:59 |
| **NoMethodError** | undefined method `detail_to_json&#39; for nil:NilClass | app/controllers/api/v1/departments_controller.rb:26 | 3 | 07 Jun 14:32 |
| **NoMethodError** | undefined method `summary_to_json&#39; for nil:NilClass | app/models/crag_sector.rb:121 | 1 | 06 Jun 00:26 |
| **NoMethodError** | undefined method `user_id&#39; for nil:NilClass | app/controllers/api/v1/follows_controller.rb:92 | 1 | 01 Jun 18:28 |
| **ActiveSupport::MessageVerifier::InvalidSignature** | ActiveSupport::MessageVerifier::InvalidSignature | app/controllers/api/v1/videos_controller.rb:25 | 1 | 01 Jun 18:31 |
| **ActiveSupport::MessageVerifier::InvalidSignature** | ActiveSupport::MessageVerifier::InvalidSignature | app/controllers/api/v1/guide_book_pdfs_controller.rb:22 | 1 | 06 Jun 13:30 |

## Deployments (4)
| Revision | Date | Req 95P ms | Req /min | Req Errors | Job 95P ms | Job /min | Job Errors |
| -------- | ---- | ---------: | -------: | ---------: | ---------: | -------: | ---------: |
| Purge de l&#39;ancien système de GymGrade | 05 Jun 13:01 | 90.7 | 106.23 | 0.02593% | 646.0 | 0.33 | 0.00000% |
| Suppression de l&#39;ancien système de feed | 05 Jun 13:38 | 80.1 | 121.6 | 0.02156% | 476.5 | 0.26 | 0.91211% |
| Ajout du trie sur la cotation et le niveau dans l&#39;api embarquée | 05 Jun 09:24 | 74.2 | 132.73 | 0.01042% | 876.9 | 0.41 | 0.00000% |
| Suppression de la procédure getRange pour la méthode native ST_DISTANCE_SPHERE | 04 Jun 18:12 | 80.6 | 84.72 | 0.05043% | 496.9 | 0.31 | 0.00000% |

[View on RoRvsWild ↗](https://www.rorvswild.com/applications/135627/reports/2026-06-01..2026-06-08)
