Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add performance monitoring section to the admin page #767

Draft
wants to merge 4 commits into
base: development
Choose a base branch
from

Conversation

syphax-bouazzouni
Copy link
Collaborator

@syphax-bouazzouni syphax-bouazzouni commented Oct 5, 2024

Require

Context

This PR is another iteration of this agroportal/project-management#308, we don't use NewRelic as it is not free and too complex, and the same for Bugsnag.

Here we try a more simplistic approach not using another external provide or getting so many details, but just integrating a self-hosted tool to monitor our rails application, using https://github.com/igorkasyanchuk/rails_performance, which the only dependency required is Redis, so requiring also the migration from Memecache to Redis in the UI.

In addition, we implemented the API Client level as a custom event to save the API call response times and cache miss or hit status.

Finally, the rails_performance UI was added to the admin page as a new section called Performace monitoring, where you can get

  • Current week UI requests full history
    image

  • Current week UI errors

image

  • Slow request
    image

  • Add the API call details
    image

Changes

  • Migrate from Memcache to Redis (e6de978)
  • Add rails_performance gem and configuration (7a2db25)
  • Add the performance monitoring section to the admin page (8b858f2)

@syphax-bouazzouni syphax-bouazzouni self-assigned this Oct 5, 2024
@syphax-bouazzouni syphax-bouazzouni added the enhancement New feature or request label Oct 5, 2024
@@ -35,7 +35,7 @@ gem 'puma', '~> 5.0'

# Use JavaScript with ESM import maps
# [https://github.com/rails/importmap-rails]
gem 'importmap-rails'
gem 'importmap-rails', '2.0.1'
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not required

@@ -11,7 +11,7 @@

%div
%div.mx-1
- sections = [t('admin.index.analytics'), t('admin.index.site_administration'),t('admin.index.ontology_administration'), t('admin.index.licensing'), t('admin.index.users'), t('admin.index.metadata_administration'), t('admin.index.groups'), t('admin.index.categories'), t('admin.index.persons_and_organizations'), t('admin.index.sparql'), t('admin.index.search')]
- sections = [t('admin.index.analytics'), t('admin.index.site_administration'), "Performance Monitoring", t('admin.index.ontology_administration'), t('admin.index.licensing'), t('admin.index.users'), t('admin.index.metadata_administration'), t('admin.index.groups'), t('admin.index.categories'), t('admin.index.persons_and_organizations'), t('admin.index.sparql'), t('admin.index.search')]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

localize this in English and French

@Bilelkihal
Copy link
Collaborator

@syphax-bouazzouni to be deployed for one or two weeks to see if there's an impact on the response time of the different requests or not

@syphax-bouazzouni
Copy link
Collaborator Author

@syphax-bouazzouni to be deployed for one or two weeks to see if there's an impact on the response time of the different requests or not

Deployed to testportal

@syphax-bouazzouni syphax-bouazzouni marked this pull request as draft October 22, 2024 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants