From 8fdbc8f67960d7fcee5aeeb6d473ccce94a7ee4a Mon Sep 17 00:00:00 2001 From: Wender Freese Date: Wed, 27 Oct 2021 10:09:30 -0300 Subject: [PATCH] Remove support for Logs feature (#171) * Remove support for Logs feature once Sidekiq does not support logging for files anymore * Add new entry to CHANGELOG.md --- CHANGELOG.md | 5 ++ README.md | 47 ++++++++------ lib/sidekiq/statistic.rb | 1 - lib/sidekiq/statistic/configuration.rb | 4 +- lib/sidekiq/statistic/locales/de.yml | 3 - lib/sidekiq/statistic/locales/en.yml | 3 - lib/sidekiq/statistic/locales/es.yml | 3 - lib/sidekiq/statistic/locales/fr.yml | 3 - lib/sidekiq/statistic/locales/it.yml | 3 - lib/sidekiq/statistic/locales/jp.yml | 3 - lib/sidekiq/statistic/locales/pl.yml | 3 - lib/sidekiq/statistic/locales/pt-br.yml | 3 - lib/sidekiq/statistic/locales/ru.yml | 3 - lib/sidekiq/statistic/locales/uk.yml | 3 - lib/sidekiq/statistic/log_parser.rb | 86 ------------------------- lib/sidekiq/statistic/views/worker.erb | 19 +----- lib/sidekiq/statistic/web_extension.rb | 1 - test/test_sidekiq/configuration_test.rb | 17 +---- test/test_sidekiq/log_parser_test.rb | 64 ------------------ 19 files changed, 39 insertions(+), 235 deletions(-) delete mode 100644 lib/sidekiq/statistic/log_parser.rb delete mode 100644 test/test_sidekiq/log_parser_test.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 970f0b5..884dbe2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ ## HEAD +## v2.0.0 + +#### BREAK +* 27.10.2021: Remove support for Logs feature (#171) *Wender Freese* + ## v1.5.1 * 06.02.2021: Generate new TAG to fix "version.rb" not updated in the previous one (#170) *Wender Freese* diff --git a/README.md b/README.md index e6ab569..97c1335 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,11 @@ -# Sidekiq statistic -[![Build Status](https://travis-ci.org/davydovanton/sidekiq-statistic.svg)](https://travis-ci.org/davydovanton/sidekiq-statistic) [![Code Climate](https://codeclimate.com/github/davydovanton/sidekiq-history/badges/gpa.svg)](https://codeclimate.com/github/davydovanton/sidekiq-history) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/davydovanton/sidekiq-history?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +# Sidekiq::Statistic -Improved display of statistics for your sidekiq workers and jobs. +[![Build Status](https://travis-ci.org/davydovanton/sidekiq-statistic.svg)](https://travis-ci.org/davydovanton/sidekiq-statistic) [![Code Climate](https://codeclimate.com/github/davydovanton/sidekiq-history/badges/gpa.svg)](https://codeclimate.com/github/davydovanton/sidekiq-history) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/davydovanton/sidekiq-history?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -**This gem work only with sidekiq version more than [3.3.4](https://github.com/mperham/sidekiq/releases/tag/v3.3.4)** +Improved display of statistics for your Sidekiq workers and jobs. ## Screenshots -Also you can check heroku application with rails app with this sidekiq plugin ### Index page: ![sidekiq-history_index](https://user-images.githubusercontent.com/15057257/66249364-74645d80-e708-11e9-8f06-a9a224be4e37.png) @@ -15,9 +13,6 @@ Also you can check #{jid}" - end - - def jid_style(worker_jid) - return unless worker_jid - color = Digest::MD5.hexdigest(worker_jid)[4..9] - .scan(/../).map { |c| c.to_i(16) }.join ',' - - "style=\"background-color: rgba(#{color},0.2);\"" - end - - def color(line) - case - when line.include?('done') then 'green' - when line.include?('start') then 'yellow' - when line.include?('fail') then 'red' - end - end - - private - - attr_reader :worker_info_regexp, :jid_tag_regexp - - def log_file - @log_file ||= Sidekiq.options[:logfile] || - Sidekiq.logger.instance_variable_get(:@logdev).filename || - Sidekiq::Statistic.configuration.log_file - end - - def last_log_lines - Sidekiq::Statistic.configuration.last_log_lines - end - - def read_log - file = File.open(log_file, 'r') - buffer_size = 512 - line_count = 0 - file.seek(0, IO::SEEK_END) - offset = file.pos - while line_count <= last_log_lines && offset.positive? - to_read = (offset - buffer_size).negative? ? offset : buffer_size - file.seek(offset - to_read) - data = file.read(to_read) - data.reverse.each_char do |char| - if line_count > last_log_lines - offset += 1 - break - end - offset -= 1 - line_count += 1 if char == "\n" - end - end - file.seek(offset) - file.readlines - end - end - end -end diff --git a/lib/sidekiq/statistic/views/worker.erb b/lib/sidekiq/statistic/views/worker.erb index 6b6abd5..c6fdf91 100644 --- a/lib/sidekiq/statistic/views/worker.erb +++ b/lib/sidekiq/statistic/views/worker.erb @@ -12,8 +12,9 @@

<%= t('WorkerInformation', worker: @name) %>

@@ -60,19 +61,5 @@ <% end %>
- -
- - - <% if @worker_log.empty? %> - <%= t('EmptyLogs') %> -
- <%= Sidekiq::Statistic.configuration.log_file %> - <% else %> - <% @worker_log.each do |line| %> -

<%= line %>

- <% end %> - <% end %> -
diff --git a/lib/sidekiq/statistic/web_extension.rb b/lib/sidekiq/statistic/web_extension.rb index a13d277..eaef3aa 100644 --- a/lib/sidekiq/statistic/web_extension.rb +++ b/lib/sidekiq/statistic/web_extension.rb @@ -86,7 +86,6 @@ def self.registered(app) @worker_statistic = Workers.new(*calculate_date_range(params)) .display_per_day(@name) - @worker_log = LogParser.new(@name).parse render(:erb, Views.require_assets('worker.erb').first) end diff --git a/test/test_sidekiq/configuration_test.rb b/test/test_sidekiq/configuration_test.rb index 8723c90..3dd83fa 100644 --- a/test/test_sidekiq/configuration_test.rb +++ b/test/test_sidekiq/configuration_test.rb @@ -5,23 +5,8 @@ module Sidekiq module Statistic describe 'Configuration' do - describe '#log_file' do - it "default value is 'log/sidekiq.log'" do - log_file = Configuration.new.log_file - assert_equal 'log/sidekiq.log', log_file - end - end - - describe '#log_file=' do - it 'can set value' do - config = Configuration.new - config.log_file = 'test/sidekiq.log' - assert_equal 'test/sidekiq.log', config.log_file - end - end - describe '#max_timelist_length=' do - it 'can set value' do + it 'assigns correct value' do config = Configuration.new config.max_timelist_length = 12345 assert_equal 12345, config.max_timelist_length diff --git a/test/test_sidekiq/log_parser_test.rb b/test/test_sidekiq/log_parser_test.rb deleted file mode 100644 index 2df41da..0000000 --- a/test/test_sidekiq/log_parser_test.rb +++ /dev/null @@ -1,64 +0,0 @@ -# frozen_string_literal: true - -require 'minitest_helper' - -module Sidekiq - module Statistic - describe 'LogParser' do - let(:log_parser) { Sidekiq::Statistic::LogParser.new('HistoryWorker') } - - before do - Sidekiq::Statistic.configure do |config| - config.log_file = 'test/helpers/logfile.log' - config.last_log_lines = 1_000 - end - end - - describe '#parse' do - describe 'when worker called' do - it 'returns array with lines' do - result = ["HistoryWorker (done) JID-36a2b8bd6a370834f979f5ee", - "HistoryWorker (start)", - "HistoryWorker (fail) JID-219f4e9b9013bfec76faa270"] - - assert_equal result, log_parser.parse - end - - describe 'when last_log_lines option set to 1' do - it 'returns array with one line' do - Sidekiq::Statistic.configuration.last_log_lines = 1 - - result = ["HistoryWorker (fail) JID-219f4e9b9013bfec76faa270"] - assert_equal result, log_parser.parse - end - end - - describe 'when called with param AnotherHistoryWorker' do - let(:log_parser) { Sidekiq::Statistic::LogParser.new('AnotherHistoryWorker') } - - it 'returns lines only with AnotherHistoryWorker inside' do - result = ["AnotherHistoryWorker (fail) JID-79d0a83b5eb21f7d0ae49f99"] - - assert_equal result, log_parser.parse - end - end - end - - describe 'when worker don\'t called' do - it 'returns empty array' do - other_log_parse = Sidekiq::Statistic::LogParser.new('FailedHistoryWorker') - assert_equal [], other_log_parse.parse - end - end - end - - describe '#sub_line' do - it 'returns substituted log line' do - substituted_line = "HistoryWorker (done) JID-219f4e9b9013bfec76faa270" - assert_equal 'HistoryWorker (done)', log_parser.sub_line('HistoryWorker (done)') - assert_equal substituted_line, log_parser.sub_line('HistoryWorker (done) JID-219f4e9b9013bfec76faa270') - end - end - end - end -end