Showing 56 of 81 total issues
File server.go
has 1078 lines of code (exceeds 500 allowed). Consider refactoring. Open
package uchiwa
import (
"compress/gzip"
"crypto/tls"
Method Uchiwa.aggregateHandler
has a Cognitive Complexity of 50 (exceeds 20 allowed). Consider refactoring. Open
func (u *Uchiwa) aggregateHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet && r.Method != http.MethodHead && r.Method != http.MethodDelete {
http.Error(w, "", http.StatusBadRequest)
return
}
- Read upRead up
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
Function rawMetricsToAggregatedCoordinates
has a Cognitive Complexity of 44 (exceeds 20 allowed). Consider refactoring. Open
func rawMetricsToAggregatedCoordinates(rawMetrics []*structs.SERawMetric) *structs.SEMetric {
// Find the oldest data point in the last position
var oldest float64
for _, metrics := range rawMetrics {
count := len(metrics.Points)
- Read upRead up
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 Uchiwa.aggregateHandler
has 116 lines of code (exceeds 50 allowed). Consider refactoring. Open
func (u *Uchiwa) aggregateHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet && r.Method != http.MethodHead && r.Method != http.MethodDelete {
http.Error(w, "", http.StatusBadRequest)
return
}
Function IsCheckSilenced
has a Cognitive Complexity of 37 (exceeds 20 allowed). Consider refactoring. Open
func IsCheckSilenced(check, client map[string]interface{}, dc string, silenced []interface{}) (bool, []string) {
var isSilenced bool
var commonSubscriptions, isSilencedBy, subscribers, subscriptions []string
if dc == "" || len(silenced) == 0 {
- Read upRead up
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
Function findClientEvents
has a Cognitive Complexity of 36 (exceeds 20 allowed). Consider refactoring. Open
func findClientEvents(client map[string]interface{}, events *[]interface{}) map[string]interface{} {
if len(*events) == 0 {
client["status"] = 0
} else {
var criticals, warnings int
- Read upRead up
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 Uchiwa.clientHandler
has 94 lines of code (exceeds 50 allowed). Consider refactoring. Open
func (u *Uchiwa) clientHandler(w http.ResponseWriter, r *http.Request) {
// We only support DELETE & GET requests
if r.Method != http.MethodDelete && r.Method != http.MethodGet && r.Method != http.MethodHead {
http.Error(w, "", http.StatusBadRequest)
return
Method Uchiwa.silencedHandler
has a Cognitive Complexity of 35 (exceeds 20 allowed). Consider refactoring. Open
func (u *Uchiwa) silencedHandler(w http.ResponseWriter, r *http.Request) {
token := authentication.GetJWTFromContext(r)
if r.Method == http.MethodGet || r.Method == http.MethodHead {
// GET on /silenced
- Read upRead up
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 Uchiwa.clientHandler
has a Cognitive Complexity of 34 (exceeds 20 allowed). Consider refactoring. Open
func (u *Uchiwa) clientHandler(w http.ResponseWriter, r *http.Request) {
// We only support DELETE & GET requests
if r.Method != http.MethodDelete && r.Method != http.MethodGet && r.Method != http.MethodHead {
http.Error(w, "", http.StatusBadRequest)
return
- Read upRead up
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
Uchiwa
has 23 methods (exceeds 20 allowed). Consider refactoring. Open
func (u *Uchiwa) aggregateHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet && r.Method != http.MethodHead && r.Method != http.MethodDelete {
http.Error(w, "", http.StatusBadRequest)
return
}
Function initUchiwa
has a Cognitive Complexity of 32 (exceeds 20 allowed). Consider refactoring. Open
func initUchiwa(global GlobalConfig) GlobalConfig {
// Set the proper authentication driver
if global.Github.Server != "" {
global.Auth.Driver = "github"
- Read upRead up
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 DatacenterFetcher.Fetch
has 77 lines of code (exceeds 50 allowed). Consider refactoring. Open
func (f *DatacenterFetcher) Fetch() {
defer f.wg.Done()
logger.Infof("updating the datacenter %s", f.datacenter.Name)
Function IsCheckSilenced
has 77 lines of code (exceeds 50 allowed). Consider refactoring. Open
func IsCheckSilenced(check, client map[string]interface{}, dc string, silenced []interface{}) (bool, []string) {
var isSilenced bool
var commonSubscriptions, isSilencedBy, subscribers, subscriptions []string
if dc == "" || len(silenced) == 0 {
Function exports
has 50 lines of code (exceeds 25 allowed). Consider refactoring. Open
module.exports = function (grunt) {
grunt.loadNpmTasks("grunt-cache-breaker");
grunt.initConfig({
cachebreaker: {
Method Uchiwa.aggregateHandler
has 22 return statements (exceeds 4 allowed). Open
func (u *Uchiwa) aggregateHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodGet && r.Method != http.MethodHead && r.Method != http.MethodDelete {
http.Error(w, "", http.StatusBadRequest)
return
}
Method API.doRequest
has 71 lines of code (exceeds 50 allowed). Consider refactoring. Open
func (api *API) doRequest(req *http.Request) ([]byte, *http.Response, error) {
if api.User != "" && api.Pass != "" {
req.SetBasicAuth(api.User, api.Pass)
}
Method Uchiwa.checkHandler
has 70 lines of code (exceeds 50 allowed). Consider refactoring. Open
func (u *Uchiwa) checkHandler(w http.ResponseWriter, r *http.Request) {
// We only support DELETE & GET requests
if r.Method != http.MethodGet && r.Method != http.MethodHead {
http.Error(w, "", http.StatusBadRequest)
return
Function GetEvent
has a Cognitive Complexity of 29 (exceeds 20 allowed). Consider refactoring. Open
func GetEvent(check, client, dc string, events *[]interface{}) (map[string]interface{}, error) {
if check == "" || client == "" || dc == "" || len(*events) == 0 {
return nil, errors.New("No parameters should be empty")
}
- Read upRead up
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 Uchiwa.silencedHandler
has 68 lines of code (exceeds 50 allowed). Consider refactoring. Open
func (u *Uchiwa) silencedHandler(w http.ResponseWriter, r *http.Request) {
token := authentication.GetJWTFromContext(r)
if r.Method == http.MethodGet || r.Method == http.MethodHead {
// GET on /silenced
Method Uchiwa.resultsHandler
has 67 lines of code (exceeds 50 allowed). Consider refactoring. Open
func (u *Uchiwa) resultsHandler(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodDelete {
http.Error(w, "", http.StatusBadRequest)
return
}