# Oblyk API – Weekly Report: May 25 → Jun 01

## Requests (1,169,998)

- **95P:** 161.3 ms
- **Throughput:** 116.07 /min
- **Errors:** 0.04470%

| Name | 95P ms | Throughput /min | Impact |
| ---- | -----: | --------------: | -----: |
| Api::V1::PartnersController#partners_around | 524 | 2.98 | 11.7% |
| Api::V1::CragsController#geo_json | 1416 | 1.12 | 10.0% |
| Api::V1::CragsController#show | 159 | 12.53 | 6.3% |
| Api::V1::TownsController#show | 122 | 9.68 | 4.2% |
| Api::V1::PublicationsController#my_publication_feed | 505 | 1.39 | 4.2% |
| Api::V1::TownsController#geo_json | 342 | 1.41 | 3.8% |
| Api::V1::GymRoutesController#paginated | 184 | 3.23 | 3.6% |
| Api::V1::CommonsController#figures | 4309 | 0.1 | 3.5% |
| Api::V1::GymsController#show | 371 | 2.81 | 3.0% |
| Api::V1::CurrentUsersController#show | 238 | 2.7 | 2.3% |
| Api::V1::CragRoutesController#index | 246 | 2.78 | 2.2% |
| Api::V1::GymsController#ascent_scores | 1233 | 0.21 | 2.2% |
| Api::V1::CurrentUsersController#suggested_friends | 1212 | 0.23 | 2.1% |
| Api::V1::GymSectorsController#show | 57 | 5.82 | 2.0% |
| Api::V1::PublicationViewsController#my_unread_count | 231 | 1.27 | 1.4% |
| ActiveStorage::RepresentationsController#show | 190 | 0.89 | 1.3% |
| Api::V1::Sessions::TokenController#refresh | 130 | 4.35 | 1.0% |

## Jobs (2,639)

- **95P:** 815.4 ms
- **Throughput:** 0.26 /min
- **Errors:** 0.03789%

| Name | 95P ms | Throughput /min | Impact |
| ---- | -----: | --------------: | -----: |
| ActiveStorage::AnalyzeJob | 988 | 0.14 | 60.7% |
| HistorizeTownWorker | 810 | 0.04 | 16.0% |
| EmailNotificationWorker | 869 | 0.03 | 11.1% |
| ActionMailer::MailDeliveryJob | 173 | 0.04 | 4.3% |
| HistorizeTownsAroundWorker | 1600 | 0.0 | 2.4% |
| SendPublicationsEmailsJob | 4260 | 0.0 | 2.0% |
| ActiveStorage::PurgeJob | 299 | 0.01 | 1.8% |
| HistorizeCragStaticMapWorker | 3013 | 0.0 | 1.2% |

## Errors (524)
| Exception | Message | Location | Count | Last |
| --------- | ------- | -------- | ----: | ---- |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/models/concerns/soft_deletable.rb:7 | 164 | 31 May 11:14 |
| **NoMethodError** | undefined method `+&#39; for nil:NilClass | app/controllers/api/v1/gyms_controller.rb:173 | 84 | 31 May 19:11 |
| **NoMethodError** | undefined method `level_color&#39; for nil:NilClass | app/controllers/api/v1/climbing_sessions_controller.rb:111 | 71 | 31 May 17:11 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/towns_controller.rb:82 | 40 | 31 May 11:14 |
| **NoMethodError** | undefined method `first&#39; for nil:NilClass | app/models/color.rb:7 | 37 | 31 May 15:28 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/api_controller.rb:26 | 24 | 31 May 11:13 |
| **NoMethodError** | undefined method `to_sym&#39; for nil:NilClass | app/controllers/api/v1/gyms_controller.rb:171 | 15 | 30 May 19:30 |
| **TypeError** | no implicit conversion of Symbol into Integer | app/controllers/api/v1/ascent_gym_routes_controller.rb:207 | 13 | 31 May 13:33 |
| **NoMethodError** | undefined method `summary_to_json&#39; for nil:NilClass | app/models/follow.rb:52 | 11 | 31 May 13:10 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/commons_controller.rb:37 | 9 | 31 May 11:13 |
| **NoMethodError** | undefined method `year&#39; for nil:NilClass | app/models/contest_participant.rb:173 | 8 | 30 May 14:42 |
| **NoMethodError** | undefined method `summary_to_json&#39; for nil:NilClass | app/models/crag_sector.rb:121 | 6 | 31 May 13:29 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/models/search.rb:14 | 6 | 31 May 11:13 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/articles_controller.rb:11 | 4 | 31 May 11:13 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/users_controller.rb:157 | 3 | 31 May 11:13 |
| **NoMethodError** | undefined method `picture&#39; for nil:NilClass | app/controllers/api/v1/gym_routes_controller.rb:259 | 3 | 28 May 13:18 |
| **NoMethodError** | undefined method `public_profile&#39; for nil:NilClass | app/controllers/api/v1/users_controller.rb:107 | 3 | 31 May 22:52 |
| **ActiveSupport::MessageVerifier::InvalidSignature** | ActiveSupport::MessageVerifier::InvalidSignature | app/controllers/api/v1/videos_controller.rb:25 | 2 | 27 May 13:32 |
| **NoMethodError** | undefined method `user_id&#39; for nil:NilClass | app/controllers/api/v1/follows_controller.rb:92 | 2 | 30 May 16:44 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (110) | app/models/alert.rb:24 | 2 | 31 May 11:11 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (110) | app/controllers/api/v1/videos_controller.rb:14 | 2 | 31 May 11:11 |
| **NoMethodError** | undefined method `sport_climbing_ranking&#39; for nil:NilClass | app/models/gym_route.rb:59 | 2 | 31 May 16:07 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/departments_controller.rb:73 | 2 | 31 May 11:13 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (110) | app/controllers/api/v1/partners_controller.rb:20 | 2 | 31 May 11:11 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/gym_chains_controller.rb:71 | 1 | 31 May 11:13 |
| **NoMethodError** | undefined method `backtrace&#39; for &quot;&quot;:String | app/controllers/api/v1/gym_spaces_controller.rb:251 | 1 | 27 May 14:26 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/partners_controller.rb:9 | 1 | 31 May 11:13 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (110) | app/models/notification.rb:31 | 1 | 31 May 11:13 |
| **TypeError** | no implicit conversion of nil into String | app/controllers/api/v1/gym_spaces_controller.rb:213 | 1 | 27 May 14:24 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/localities_controller.rb:13 | 1 | 31 May 11:13 |
| **Mysql2::Error::ConnectionError** | Can&#39;t connect to MySQL server on &#39;185.163.127.177:3306&#39; (111) | app/controllers/api/v1/guide_book_papers_controller.rb:327 | 1 | 31 May 11:13 |
| **ActiveRecord::RecordNotUnique** | Mysql2::Error: Duplicate entry &#39;31276-946605&#39; for key &#39;ascent_users.index_ascent_users_on_user_id... | app/controllers/api/v1/ascent_crag_routes_controller.rb:42 | 1 | 31 May 16:13 |
| **RuntimeError** | Can&#39;t modify frozen hash | app/models/publication.rb:79 | 1 | 25 May 10:00 |

## Deployments (2)
| Revision | Date | Req 95P ms | Req /min | Req Errors | Job 95P ms | Job /min | Job Errors |
| -------- | ---- | ---------: | -------: | ---------: | ---------: | -------: | ---------: |
| Merge branch &#39;devel/statistic-gym-route&#39; | 31 May 16:14 | 80.9 | 114.69 | 0.03056% | 624.6 | 0.39 | 0.00000% |
| Ajout du type d&#39;espace ou de secteur dans gym_embedded | 27 May 10:47 | 193.8 | 114.41 | 0.06276% | 845.8 | 0.3 | 0.05534% |

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