MiniProfiler/rack-mini-profiler

View on GitHub

Showing 151 of 176 total issues

Avoid deeply nested control flow statements.
Open

              for (var r = [], j = n; --j >= 0;) {
                r[j] = l[j];
              }
Severity: Major
Found in lib/html/vendor.js - About 45 mins to fix

    Avoid deeply nested control flow statements.
    Open

                if (k < 0) a = p;else {
                  for (--k; (k = p.indexOf("&#", k + 1)) >= 0;) {
                    var e = p.indexOf(";", k);
    
                    if (e >= 0) {
    Severity: Major
    Found in lib/html/vendor.js - About 45 mins to fix

      Avoid deeply nested control flow statements.
      Open

                    if (null === K) {
                      d = document.createElement("PRE");
                      d.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
                      K = !/</.test(d.innerHTML);
                    }
      Severity: Major
      Found in lib/html/pretty-print.js - About 45 mins to fix

        Function anonymous has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

        MiniProfiler.templates["snapshotsGroupsList"] = function anonymous(it
        ) {
        var out=' ';if(it.list && it.list.length){out+=' <table class="snapshots-table"> <thead> <tr> <th>Requests Group</th> <th>Worst Time (ms)</th> <th>Best Time (ms)</th> <th>No. of Snapshots</th> </tr> </thead> <tbody> ';var arr1=it.list;if(arr1){var row,i1=-1,l1=arr1.length-1;while(i1<l1){row=arr1[i1+=1];out+=' <tr> <td class="request-group"><a href="'+( row.url )+'">'+( row.name )+'</a></td> <td>'+( MiniProfiler.formatDuration(row.worst_score) )+'</td> <td>'+( MiniProfiler.formatDuration(row.best_score) )+'</td> <td>'+( row.snapshots_count )+'</td> </tr> ';} } out+=' </tbody> </table> ';}else{out+=' <h2>No snapshots exist</h2> ';}return out;
        }
        Severity: Minor
        Found in lib/html/vendor.js - About 45 mins to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Avoid deeply nested control flow statements.
        Open

        var out=' '; var data = it.data; out+=' '; var customFieldsNames = it.allCustomFieldsNames; out+=' ';if(data.list && data.list.length){out+=' <h2>Snapshots for '+( data.group_name )+'</h2> <table class="snapshots-table"> <thead> <tr> <th>ID</th> <th>Duration (ms)</th> <th>SQL Count</th> ';var arr1=customFieldsNames;if(arr1){var name,i1=-1,l1=arr1.length-1;while(i1<l1){name=arr1[i1+=1];out+=' <th>'+( name )+'</th> ';} } out+=' <th>Age</th> </tr> </thead> <tbody> ';var arr2=data.list;if(arr2){var row,i2=-1,l2=arr2.length-1;while(i2<l2){row=arr2[i2+=1];out+=' <tr> <td><a href="'+( row.url )+'"> '+( row.id )+' </a></td> <td>'+( MiniProfiler.formatDuration(row.duration) )+'</td> <td>'+( row.sql_count )+'</td> ';var arr3=customFieldsNames;if(arr3){var name,i3=-1,l3=arr3.length-1;while(i3<l3){name=arr3[i3+=1];out+=' <td>'+( row.custom_fields[name] || "" )+'</td> ';} } out+=' <td> ';if(row.timestamp){out+=' '+( MiniProfiler.timestampToRelative(row.timestamp) )+' ';}out+=' </td> </tr> ';} } out+=' </tbody> </table> ';}else{out+=' <h2>No snapshots for '+( data.group_name )+'</h2> ';}return out;
        Severity: Major
        Found in lib/html/vendor.js - About 45 mins to fix

          Avoid deeply nested control flow statements.
          Open

                    } else if ("\\" === g.charAt(0)) if ((g = +g.substring(1)) && g <= h) d[e] = "\\" + k[h];
          Severity: Major
          Found in lib/html/vendor.js - About 45 mins to fix

            Consider simplifying this complex logical expression.
            Open

                      if (!(s < 65 || g > 122)) {
                        s < 65 || g > 90 || a.push([Math.max(65, g) | 32, Math.min(s, 90) | 32]);
                        s < 97 || g > 122 || a.push([Math.max(97, g) & -33, Math.min(s, 122) & -33]);
                      }
            Severity: Major
            Found in lib/html/pretty-print.js - About 40 mins to fix

              Consider simplifying this complex logical expression.
              Open

                        if (!(s < 65 || g > 122)) {
                          s < 65 || g > 90 || a.push([Math.max(65, g) | 32, Math.min(s, 90) | 32]);
                          s < 97 || g > 122 || a.push([Math.max(97, g) & -33, Math.min(s, 122) & -33]);
                        }
              Severity: Major
              Found in lib/html/vendor.js - About 40 mins to fix

                Method exec_insert has 5 arguments (exceeds 4 allowed). Consider refactoring.
                Open

                  def exec_insert(sql, name, binds, pk = nil, sequence_name = nil)
                Severity: Minor
                Found in lib/patches/db/oracle_enhanced.rb - About 35 mins to fix

                  Method sql_patches has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                    def self.sql_patches
                      patches = []
                  
                      patches << 'mysql2' if defined?(Mysql2::Client) && Mysql2::Client.class == Class && patch_rails?
                      patches << 'pg' if defined?(PG::Result) && PG::Result.class == Class && patch_rails?
                  Severity: Minor
                  Found in lib/patches/sql_patches.rb - About 35 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Method rails_route_from_path has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                      def rails_route_from_path(path, method)
                        if defined?(Rails) && defined?(ActionController::RoutingError)
                          hash = Rails.application.routes.recognize_path(path, method: method)
                          if hash && hash[:controller] && hash[:action]
                            "#{hash[:controller]}##{hash[:action]}"
                  Severity: Minor
                  Found in lib/mini_profiler.rb - About 35 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Method cleanup_cache has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                        def cleanup_cache
                          files = Dir.entries(@path)
                          @timer_struct_lock.synchronize {
                            files.each do |f|
                              f = @path + '/' + f
                  Severity: Minor
                  Found in lib/mini_profiler/storage/file_store.rb - About 35 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Method record_sql has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                        def record_sql(query, elapsed_ms, params = nil)
                          return unless current && current.current_timer
                          c = current
                          c.current_timer.add_sql(
                            redact_sql_queries? ? nil : query,
                  Severity: Minor
                  Found in lib/mini_profiler/profiling_methods.rb - About 35 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Avoid too many return statements within this method.
                  Open

                          return tool_disabled_message(client_settings) if !advanced_debugging_enabled?
                  Severity: Major
                  Found in lib/mini_profiler.rb - About 30 mins to fix

                    Avoid too many return statements within this method.
                    Open

                              return serve_snapshot(env)
                    Severity: Major
                    Found in lib/mini_profiler.rb - About 30 mins to fix

                      Avoid too many return statements within this method.
                      Open

                              return client_settings.handle_cookie(self.flamegraph(flamegraph, path, env))
                      Severity: Major
                      Found in lib/mini_profiler.rb - About 30 mins to fix

                        Avoid too many return statements within this method.
                        Open

                                    return client_settings.handle_cookie(
                                      text_result(message, status: status, headers: headers)
                                    )
                        Severity: Major
                        Found in lib/mini_profiler.rb - About 30 mins to fix

                          Avoid too many return statements within this method.
                          Open

                                  return client_settings.handle_cookie(help(client_settings, env))
                          Severity: Major
                          Found in lib/mini_profiler.rb - About 30 mins to fix

                            Avoid too many return statements within this method.
                            Open

                                    return client_settings.handle_cookie(serve_file(env, file_name: file_name))
                            Severity: Major
                            Found in lib/mini_profiler.rb - About 30 mins to fix

                              Avoid too many return statements within this method.
                              Open

                                      return serve_profile_gc(env, client_settings)
                              Severity: Major
                              Found in lib/mini_profiler.rb - About 30 mins to fix
                                Severity
                                Category
                                Status
                                Source
                                Language