Skip to content

Commit

Permalink
disable stats
Browse files Browse the repository at this point in the history
  • Loading branch information
jaspermayone committed Jul 10, 2024
1 parent 3f57c67 commit 1abc02c
Show file tree
Hide file tree
Showing 17 changed files with 236 additions and 229 deletions.
3 changes: 3 additions & 0 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

extend should extend into the future plus 1 day not plus 1due date
due date should be set on checkout
28 changes: 14 additions & 14 deletions app/controllers/authentications_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ class AuthenticationsController < ApplicationController
before_action :ensure_not_authenticated, only: [:new, :create]

def new
StatsD.increment("login_page_viewed")
# # StatsD.increment("login_page_viewed")

# Measure the time taken to process the rendering of the new page
StatsD.measure('view.render_login_page') do
# StatsD.measure('view.render_login_page') do
if session[:user_id]
StatsD.increment("already_logged_in")
# StatsD.increment("already_logged_in")
redirect_to overview_path
else
render "new"
Expand All @@ -18,32 +18,32 @@ def new
end

def create
StatsD.increment("login_attempt")
# StatsD.increment("login_attempt")

# Measure the time taken for the authentication process
StatsD.measure('auth.authenticate_user') do
# StatsD.measure('auth.authenticate_user') do
@user = User.find_by(email: auth_params[:email])
if @user&.authenticate(auth_params[:password])
StatsD.increment("login_successful")
# StatsD.increment("login_successful")
session[:user_id] = @user.id
StatsD.set('users.unique_logged_in', @user.id) # Track unique users logging in
# StatsD.set('users.unique_logged_in', @user.id) # Track unique users logging in
redirect_to overview_path
else
StatsD.increment("login_failed")
# StatsD.increment("login_failed")
flash[:danger] = "Login failed. Please try again."
render "new"
end
end
# end
# end
end

def destroy
# Measure the time taken to process the logout action
StatsD.measure('auth.process_logout') do
StatsD.increment("logout")
# StatsD.measure('auth.process_logout') do
# StatsD.increment("logout")
session[:user_id] = nil
StatsD.event('User Logged Out', "User with ID #{session[:user_id]} logged out") # Log an event for logout
# StatsD.event('User Logged Out', "User with ID #{session[:user_id]} logged out") # Log an event for logout
redirect_to login_path
end
# end
end

private
Expand Down
16 changes: 8 additions & 8 deletions app/controllers/borrowers_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@ class BorrowersController < ApplicationController

def index
# Measure the time taken to retrieve and display all borrowers
StatsD.measure('borrowers.index_request') do
# StatsD.measure('borrowers.index_request') do
@borrowers = Borrower.all

# Example gauge for tracking the number of borrowers
StatsD.gauge('borrowers.count', @borrowers.count)
# StatsD.gauge('borrowers.count', @borrowers.count)

StatsD.increment("borrowers_index_viewed")
# StatsD.increment("borrowers_index_viewed")
end
end

def show
# Measure the time taken to find and display a specific borrower
StatsD.measure('borrowers.show_request') do
# StatsD.measure('borrowers.show_request') do
@borrower = Borrower.find(params[:id])

# Log an event when a specific borrower page is viewed
StatsD.event('Borrower Page Viewed', "User viewed borrower page with ID #{params[:id]}")
# StatsD.event('Borrower Page Viewed', "User viewed borrower page with ID #{params[:id]}")

StatsD.increment("borrower_page_viewed")
end
end
# StatsD.increment("borrower_page_viewed")
# end
# end
end
24 changes: 12 additions & 12 deletions app/controllers/concerns/authenticatable.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,42 +18,42 @@ def current_user
end

def ensure_authenticated
StatsD.measure('auth.ensure_authenticated') do
# StatsD.measure('auth.ensure_authenticated') do
unless is_authenticated?
flash[:warning] = "You need to login to view that page."
StatsD.event('Authentication Failure', 'User not authenticated, redirecting to login')
# StatsD.event('Authentication Failure', 'User not authenticated, redirecting to login')
redirect_to main_app.login_path
end
end
# end
end

def ensure_not_authenticated
StatsD.measure('auth.ensure_not_authenticated') do
# StatsD.measure('auth.ensure_not_authenticated') do
if is_authenticated?
flash[:info] = "You are already logged in."
StatsD.event('Already Authenticated', 'User already logged in, redirecting to root')
# StatsD.event('Already Authenticated', 'User already logged in, redirecting to root')
redirect_to root_path
end
end
# end
end

def ensure_admin
StatsD.measure('auth.ensure_admin') do
# StatsD.measure('auth.ensure_admin') do
unless current_user&.admin?
flash[:danger] = "You do not have permission to view that page."
StatsD.event('Admin Access Denied', 'Non-admin user attempted to access admin page')
# StatsD.event('Admin Access Denied', 'Non-admin user attempted to access admin page')
redirect_to root_path
end
end
# end
end

def ensure_super_admin
StatsD.measure('auth.ensure_super_admin') do
# StatsD.measure('auth.ensure_super_admin') do
unless current_user&.super_admin?
flash[:danger] = "You do not have permission to view that page."
StatsD.event('Super Admin Access Denied', 'Non-super-admin user attempted to access super admin page')
# StatsD.event('Super Admin Access Denied', 'Non-super-admin user attempted to access super admin page')
redirect_to root_path
end
end
end
# end
end
83 changes: 42 additions & 41 deletions app/controllers/loaners_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,126 +6,127 @@ class LoanersController < ApplicationController
before_action :ensure_super_admin, only: [:new, :create]

def new
StatsD.increment("loaner_new_viewed")
# StatsD.increment("loaner_new_viewed")

# Measure the time taken to render the 'new' loaner form
StatsD.measure('view.render_new_loaner') do
# StatsD.measure('view.render_new_loaner') do
@loaner = Loaner.new
end
# end
end

def create
StatsD.increment("loaner_create_attempt")
# StatsD.increment("loaner_create_attempt")

# Measure the time taken to create a new loaner
StatsD.measure('loaner.create') do
# StatsD.measure('loaner.create') do
@loaner = Loaner.new(loaner_params)
if @loaner.save
StatsD.increment("loaner_created")
# StatsD.increment("loaner_created")
redirect_to @loaner, notice: 'Loaner was successfully created.'
else
StatsD.increment("loaner_create_failed")
# StatsD.increment("loaner_create_failed")
render :new
end
end
# end
end

def list
# Measure the time taken to retrieve and display all loaners
StatsD.measure('loaners.list_request') do
# StatsD.measure('loaners.list_request') do
@loaners = Loaner.all
StatsD.increment("loaners_list_viewed")
end
# StatsD.increment("loaners_list_viewed")
# end
end

def show
StatsD.increment("loaner_page_viewed")
# StatsD.increment("loaner_page_viewed")
# Measure the time taken to find and display the loaner
StatsD.measure('loaner.show_request') do
# StatsD.measure('loaner.show_request') do
@loaner
end
# end
end

def return
StatsD.increment("loaner_return_attempt")
StatsD.measure('loaner.return_action') do
# StatsD.increment("loaner_return_attempt")
# StatsD.measure('loaner.return_action') do
if @loaner.present?
@loaner.mark_as_returned
StatsD.increment("loaner_returned")
# StatsD.increment("loaner_returned")
redirect_to loaners_path, notice: "Asset checked in successfully."
else
StatsD.increment("loaner_return_failed")
# StatsD.increment("loaner_return_failed")
redirect_to loaners_path, alert: "Loaner not found."
end
end
# end
end

def enable
StatsD.increment("loaner_enable_attempt")
StatsD.measure('loaner.enable_action') do
# StatsD.increment("loaner_enable_attempt")
# StatsD.measure('loaner.enable_action') do
if @loaner.present?
@loaner.mark_as_enabled
StatsD.increment("loaner_enabled")
# StatsD.increment("loaner_enabled")
redirect_to loaners_path, notice: "Asset marked as enabled successfully."
else
StatsD.increment("loaner_enable_failed")
# StatsD.increment("loaner_enable_failed")
redirect_to loaners_path, alert: "Loaner not found."
end
end
# end
end

def disable
StatsD.increment("loaner_disable_attempt")
StatsD.measure('loaner.disable_action') do
# StatsD.increment("loaner_disable_attempt")
# StatsD.measure('loaner.disable_action') do
if @loaner.present?
@loaner.mark_as_disabled
StatsD.increment("loaner_disabled")
# StatsD.increment("loaner_disabled")
redirect_to loaners_path, notice: "Asset marked as disabled successfully."
else
StatsD.increment("loaner_disable_failed")
# StatsD.increment("loaner_disable_failed")
redirect_to loaners_path, alert: "Loaner not found."
end
end
# end
end

def broken
StatsD.increment("loaner_broken_attempt")
StatsD.measure('loaner.broken_action') do
# StatsD.increment("loaner_broken_attempt")
# StatsD.measure('loaner.broken_action') do
if @loaner.present?
@loaner.mark_as_broken
StatsD.increment("loaner_broken")
# StatsD.increment("loaner_broken")
redirect_to loaners_path, notice: "Asset marked as broken successfully."
else
StatsD.increment("loaner_broken_failed")
# StatsD.increment("loaner_broken_failed")
redirect_to loaners_path, alert: "Loaner not found."
end
end
# end
end

def repair
StatsD.increment("loaner_repair_attempt")
StatsD.measure('loaner.repair_action') do
# StatsD.increment("loaner_repair_attempt")
# StatsD.measure('loaner.repair_action') do
if @loaner.present?
@loaner.mark_as_repaired
StatsD.increment("loaner_repaired")
# StatsD.increment("loaner_repaired")
redirect_to loaners_path, notice: "Asset marked as repaired successfully."
else
StatsD.increment("loaner_repair_failed")
# StatsD.increment("loaner_repair_failed")
redirect_to loaners_path, alert: "Loaner not found."
end
end
# end
end

private

# Use callbacks to share common setup or constraints between actions.
def set_loaner
StatsD.measure('loaner.find') do
# StatsD.measure('loaner.find') do
@loaner = Loaner.find(params[:id])
end
# end
end

def loaner_params
params.require(:loaner).permit(:asset_tag, :serial_number, :status)
end

end
Loading

0 comments on commit 1abc02c

Please sign in to comment.