Preparing report...

Report for github.com/chronos-tachyon/roxy

A+    Excellent!    Found 80 issues across 169 files

Tweet

gofmt100%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command

No problems detected. Good job!


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo80%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.

    • roxy/util.go
    • Line 80: warning: cyclomatic complexity 23 of function simplifyHTTPStatusCode() is high (> 15) (gocyclo)
    • roxy/lib/mainutil/config_etcd.go
    • Line 117: warning: cyclomatic complexity 26 of function (*EtcdConfig).Parse() is high (> 15) (gocyclo)
    • Line 297: warning: cyclomatic complexity 20 of function (*EtcdConfig).PostProcess() is high (> 15) (gocyclo)
    • roxy/mutations.go
    • Line 463: warning: cyclomatic complexity 29 of function massageTemplate() is high (> 15) (gocyclo)
    • Line 347: warning: cyclomatic complexity 18 of function CompileMutation() is high (> 15) (gocyclo)
    • roxy/handlers.go
    • Line 1479: warning: cyclomatic complexity 25 of function modeString() is high (> 15) (gocyclo)
    • Line 592: warning: cyclomatic complexity 21 of function (*FileSystemHandler).ServeHTTP() is high (> 15) (gocyclo)
    • Line 1176: warning: cyclomatic complexity 20 of function (*GRPCBackendHandler).recvThread() is high (> 15) (gocyclo)
    • Line 754: warning: cyclomatic complexity 20 of function (*FileSystemHandler).ServeDir() is high (> 15) (gocyclo)
    • Line 303: warning: cyclomatic complexity 17 of function (RootHandler).ServeHTTP() is high (> 15) (gocyclo)
    • roxy/wrappers.go
    • Line 187: warning: cyclomatic complexity 17 of function (*basicWrappedWriter).WriteRedirect() is high (> 15) (gocyclo)
    • roxy/impl.go
    • Line 414: warning: cyclomatic complexity 17 of function (*Impl).compilePage() is high (> 15) (gocyclo)
    • roxy/lib/certnames/certnames.go
    • Line 39: warning: cyclomatic complexity 18 of function (CertNames).Check() is high (> 15) (gocyclo)
    • Line 227: warning: cyclomatic complexity 16 of function (*CertNames).FromList() is high (> 15) (gocyclo)
    • roxy/cmd/demo-server/main.go
    • Line 504: warning: cyclomatic complexity 25 of function (*webServerServer).Serve() is high (> 15) (gocyclo)
    • Line 83: warning: cyclomatic complexity 18 of function main() is high (> 15) (gocyclo)

golint79%

Golint is a linter for Go source code.

    • roxy/cmd/atc/struct_costmap.go
    • Line 10: warning: exported type CostMap should have comment or be unexported (golint)
    • Line 15: warning: exported function NewCostMap should have comment or be unexported (golint)
    • Line 24: warning: exported method CostMap.IsKnown should have comment or be unexported (golint)
    • Line 29: warning: exported method CostMap.GraphID should have comment or be unexported (golint)
    • Line 34: warning: exported method CostMap.Connected should have comment or be unexported (golint)
    • Line 40: warning: exported method CostMap.Cost should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_impl.go
    • Line 15: warning: exported const MaxNumATCs should have comment or be unexported (golint)
    • Line 17: warning: exported type Impl should have comment or be unexported (golint)
    • Line 32: warning: exported method Impl.PeerByAddr should have comment or be unexported (golint)
    • Line 38: warning: exported method Impl.PeerByKey should have comment or be unexported (golint)
    • roxy/mutations.go
    • Line 22: warning: exported type Mutation should have comment or be unexported (golint)
    • Line 30: warning: exported type RequestHostMutation should have comment or be unexported (golint)
    • Line 35: warning: exported method RequestHostMutation.ApplyFirst should have comment or be unexported (golint)
    • Line 67: warning: exported method RequestHostMutation.ApplyPre should have comment or be unexported (golint)
    • Line 71: warning: exported method RequestHostMutation.ApplyPost should have comment or be unexported (golint)
    • Line 81: warning: exported type RequestPathMutation should have comment or be unexported (golint)
    • Line 86: warning: exported method RequestPathMutation.ApplyFirst should have comment or be unexported (golint)
    • Line 118: warning: exported method RequestPathMutation.ApplyPre should have comment or be unexported (golint)
    • Line 122: warning: exported method RequestPathMutation.ApplyPost should have comment or be unexported (golint)
    • Line 132: warning: exported type RequestQueryMutation should have comment or be unexported (golint)
    • Line 137: warning: exported method RequestQueryMutation.ApplyFirst should have comment or be unexported (golint)
    • Line 169: warning: exported method RequestQueryMutation.ApplyPre should have comment or be unexported (golint)
    • Line 173: warning: exported method RequestQueryMutation.ApplyPost should have comment or be unexported (golint)
    • Line 183: warning: exported type RequestHeaderMutation should have comment or be unexported (golint)
    • Line 189: warning: exported method RequestHeaderMutation.ApplyFirst should have comment or be unexported (golint)
    • Line 223: warning: exported method RequestHeaderMutation.ApplyPre should have comment or be unexported (golint)
    • Line 227: warning: exported method RequestHeaderMutation.ApplyPost should have comment or be unexported (golint)
    • Line 237: warning: exported type ResponseHeaderPreMutation should have comment or be unexported (golint)
    • Line 243: warning: exported method ResponseHeaderPreMutation.ApplyFirst should have comment or be unexported (golint)
    • Line 247: warning: exported method ResponseHeaderPreMutation.ApplyPre should have comment or be unexported (golint)
    • Line 282: warning: exported method ResponseHeaderPreMutation.ApplyPost should have comment or be unexported (golint)
    • Line 292: warning: exported type ResponseHeaderPostMutation should have comment or be unexported (golint)
    • Line 298: warning: exported method ResponseHeaderPostMutation.ApplyFirst should have comment or be unexported (golint)
    • Line 302: warning: exported method ResponseHeaderPostMutation.ApplyPre should have comment or be unexported (golint)
    • Line 306: warning: exported method ResponseHeaderPostMutation.ApplyPost should have comment or be unexported (golint)
    • Line 347: warning: exported function CompileMutation should have comment or be unexported (golint)
    • roxy/rules.go
    • Line 10: warning: exported type Rule should have comment or be unexported (golint)
    • Line 18: warning: exported method Rule.Check should have comment or be unexported (golint)
    • Line 45: warning: exported method Rule.IsTerminal should have comment or be unexported (golint)
    • Line 49: warning: exported method Rule.ApplyFirst should have comment or be unexported (golint)
    • Line 55: warning: exported method Rule.ApplyPre should have comment or be unexported (golint)
    • Line 61: warning: exported method Rule.ApplyPost should have comment or be unexported (golint)
    • Line 67: warning: exported function CompileRule should have comment or be unexported (golint)
    • roxy/admin.go
    • Line 13: warning: exported type AdminServer should have comment or be unexported (golint)
    • Line 17: warning: exported method AdminServer.Ping should have comment or be unexported (golint)
    • Line 27: warning: exported method AdminServer.Reload should have comment or be unexported (golint)
    • Line 40: warning: exported method AdminServer.Shutdown should have comment or be unexported (golint)
    • Line 53: warning: exported method AdminServer.SetHealth should have comment or be unexported (golint)
    • roxy/config.go
    • Line 8: warning: exported type Config should have comment or be unexported (golint)
    • Line 15: warning: exported type GlobalConfig should have comment or be unexported (golint)
    • Line 29: warning: exported type StorageConfig should have comment or be unexported (golint)
    • Line 34: warning: exported type PagesConfig should have comment or be unexported (golint)
    • Line 42: warning: exported type PageConfig should have comment or be unexported (golint)
    • Line 49: warning: exported type FrontendConfig should have comment or be unexported (golint)
    • Line 55: warning: exported type RuleConfig should have comment or be unexported (golint)
    • Line 61: warning: exported type MutationConfig should have comment or be unexported (golint)
    • Line 68: warning: exported type MimeFile should have comment or be unexported (golint)
    • Line 70: warning: exported type MimeRuleConfig should have comment or be unexported (golint)
    • roxy/context.go
    • Line 17: warning: exported type RequestContext should have comment or be unexported (golint)
    • Line 35: warning: exported method RequestContext.RoxyFrontend should have comment or be unexported (golint)
    • Line 39: warning: exported function GetRequestContext should have comment or be unexported (golint)
    • Line 43: warning: exported function WithRequestContext should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_peerdata.go
    • Line 9: warning: exported type PeerData should have comment or be unexported (golint)
    • Line 15: warning: exported method PeerData.Contains should have comment or be unexported (golint)
    • Line 19: warning: exported method PeerData.GoAway should have comment or be unexported (golint)
    • roxy/ref.go
    • Line 8: warning: exported type Ref should have comment or be unexported (golint)
    • Line 13: warning: exported method Ref.Load should have comment or be unexported (golint)
    • Line 26: warning: exported method Ref.Close should have comment or be unexported (golint)
    • Line 35: warning: exported method Ref.Get should have comment or be unexported (golint)
    • Line 42: warning: exported method Ref.Swap should have comment or be unexported (golint)
    • roxy/cmd/atc/wrappers.go
    • Line 7: warning: exported type ServiceName should have comment or be unexported (golint)
    • Line 9: warning: exported type ShardNumber should have comment or be unexported (golint)
    • Line 11: warning: exported type Location should have comment or be unexported (golint)
    • Line 13: warning: exported type GraphID should have comment or be unexported (golint)
    • Line 15: warning: exported type LocationAndCost should have comment or be unexported (golint)
    • Line 22: warning: exported type ServiceNameList should have comment or be unexported (golint)
    • Line 37: warning: exported method ServiceNameList.Sort should have comment or be unexported (golint)
    • Line 41: warning: exported method ServiceNameList.Search should have comment or be unexported (golint)
    • Line 56: warning: exported type LocationAndCostList should have comment or be unexported (golint)
    • Line 74: warning: exported method LocationAndCostList.Sort should have comment or be unexported (golint)
    • roxy/handlers.go
    • Line 119: warning: exported type Metrics should have comment or be unexported (golint)
    • Line 132: warning: exported function NewMetrics should have comment or be unexported (golint)
    • Line 267: warning: exported method Metrics.All should have comment or be unexported (golint)
    • Line 290: warning: exported method Metrics.MustRegister should have comment or be unexported (golint)
    • Line 298: warning: exported type RootHandler should have comment or be unexported (golint)
    • Line 438: warning: exported type InsecureHandler should have comment or be unexported (golint)
    • Line 469: warning: exported type SecureHandler should have comment or be unexported (golint)
    • Line 528: warning: exported type ErrorHandler should have comment or be unexported (golint)
    • Line 543: warning: exported type RedirHandler should have comment or be unexported (golint)
    • Line 588: warning: exported type FileSystemHandler should have comment or be unexported (golint)
    • Line 694: warning: exported method FileSystemHandler.ServeFile should have comment or be unexported (golint)
    • Line 754: warning: exported method FileSystemHandler.ServeDir should have comment or be unexported (golint)
    • Line 931: warning: exported type HTTPBackendHandler should have comment or be unexported (golint)
    • Line 1040: warning: exported method HTTPBackendHandler.Close should have comment or be unexported (golint)
    • Line 1050: warning: exported type GRPCBackendHandler should have comment or be unexported (golint)
    • Line 1270: warning: exported method GRPCBackendHandler.Close should have comment or be unexported (golint)
    • Line 1278: warning: exported function CompileErrorHandler should have comment or be unexported (golint)
    • Line 1295: warning: exported function CompileRedirHandler should have comment or be unexported (golint)
    • Line 1318: warning: exported function CompileFrontend should have comment or be unexported (golint)
    • Line 1337: warning: exported function CompileFileSystemHandler should have comment or be unexported (golint)
    • Line 1352: warning: exported function CompileHTTPBackendHandler should have comment or be unexported (golint)
    • Line 1381: warning: exported function CompileGRPCBackendHandler should have comment or be unexported (golint)
    • Line 1399: warning: exported type DirEntry should have comment or be unexported (golint)
    • roxy/impl.go
    • Line 36: warning: exported type Impl should have comment or be unexported (golint)
    • Line 60: warning: exported function LoadImpl should have comment or be unexported (golint)
    • Line 553: warning: exported method Impl.Close should have comment or be unexported (golint)
    • Line 581: warning: exported method Impl.ACMEManager should have comment or be unexported (golint)
    • Line 585: warning: exported method Impl.HostPolicyImpl should have comment or be unexported (golint)
    • Line 594: warning: exported method Impl.StorageGet should have comment or be unexported (golint)
    • Line 598: warning: exported method Impl.StoragePut should have comment or be unexported (golint)
    • Line 602: warning: exported method Impl.StorageDelete should have comment or be unexported (golint)
    • Line 606: warning: exported type CacheWrapper should have comment or be unexported (golint)
    • Line 610: warning: exported method CacheWrapper.Get should have comment or be unexported (golint)
    • Line 614: warning: exported method CacheWrapper.Put should have comment or be unexported (golint)
    • Line 618: warning: exported method CacheWrapper.Delete should have comment or be unexported (golint)
    • roxy/main.go
    • Line 279: warning: exported type SecureListener should have comment or be unexported (golint)
    • Line 287: warning: exported method SecureListener.Addr should have comment or be unexported (golint)
    • Line 291: warning: exported method SecureListener.Accept should have comment or be unexported (golint)
    • Line 318: warning: exported method SecureListener.Close should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_servicedata.go
    • Line 7: warning: exported type ServiceData should have comment or be unexported (golint)
    • Line 18: warning: exported method ServiceData.EffectiveNumShards should have comment or be unexported (golint)
    • Line 26: warning: exported method ServiceData.ExpectedStats should have comment or be unexported (golint)
    • Line 32: warning: exported method ServiceData.ExpectedStatsPerShard should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_servicemap.go
    • Line 12: warning: exported const MaxNumShards should have comment or be unexported (golint)
    • Line 14: warning: exported type ServiceMap should have comment or be unexported (golint)
    • Line 19: warning: exported type EnumerateFunc should have comment or be unexported (golint)
    • Line 21: warning: exported function NewServiceMap should have comment or be unexported (golint)
    • Line 61: warning: exported method ServiceMap.ServiceNames should have comment or be unexported (golint)
    • Line 65: warning: exported method ServiceMap.Get should have comment or be unexported (golint)
    • Line 69: warning: exported method ServiceMap.Range should have comment or be unexported (golint)
    • Line 91: warning: exported method ServiceMap.Enumerate should have comment or be unexported (golint)
    • Line 95: warning: exported method ServiceMap.EnumerateRange should have comment or be unexported (golint)
    • Line 134: warning: exported method ServiceMap.ExpectedStatsTotal should have comment or be unexported (golint)
    • Line 142: warning: exported method ServiceMap.ExpectedStatsByRange should have comment or be unexported (golint)
    • Line 182: warning: exported method ServiceMap.CheckInput should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_sharddata.go
    • Line 12: warning: exported type ShardData should have comment or be unexported (golint)
    • Line 28: warning: exported method ShardData.NumServersLocked should have comment or be unexported (golint)
    • Line 43: warning: exported method ShardData.Client should have comment or be unexported (golint)
    • Line 50: warning: exported method ShardData.Server should have comment or be unexported (golint)
    • Line 57: warning: exported method ShardData.GetOrInsertClient should have comment or be unexported (golint)
    • Line 64: warning: exported method ShardData.GetOrInsertServer should have comment or be unexported (golint)
    • Line 71: warning: exported method ShardData.GetOrInsertClientLocked should have comment or be unexported (golint)
    • Line 92: warning: exported method ShardData.GetOrInsertServerLocked should have comment or be unexported (golint)
    • Line 117: warning: exported method ShardData.PeriodicLocked should have comment or be unexported (golint)
    • Line 161: warning: exported method ShardData.ToProto should have comment or be unexported (golint)
    • Line 168: warning: exported method ShardData.ToProtoLocked should have comment or be unexported (golint)
    • roxy/mime.go
    • Line 13: warning: exported type MimeRule should have comment or be unexported (golint)
    • Line 20: warning: exported function CompileMimeRule should have comment or be unexported (golint)
    • Line 36: warning: exported function DetectMimeProperties should have comment or be unexported (golint)
    • roxy/cmd/atc/admin.go
    • Line 13: warning: exported type AdminServer should have comment or be unexported (golint)
    • Line 19: warning: exported method AdminServer.Ping should have comment or be unexported (golint)
    • Line 29: warning: exported method AdminServer.Reload should have comment or be unexported (golint)
    • Line 47: warning: exported method AdminServer.Flip should have comment or be unexported (golint)
    • Line 62: warning: exported method AdminServer.Commit should have comment or be unexported (golint)
    • Line 77: warning: exported method AdminServer.Shutdown should have comment or be unexported (golint)
    • Line 90: warning: exported method AdminServer.SetHealth should have comment or be unexported (golint)
    • roxy/globs.go
    • Line 9: warning: exported var ErrEmptyHostGlob should have comment or be unexported (golint)
    • Line 18: warning: exported function CompileHostGlob should have comment or be unexported (golint)
    • roxy/storage.go
    • Line 17: warning: exported type StorageEngine should have comment or be unexported (golint)
    • Line 22: warning: exported type StorageEngineCtor should have comment or be unexported (golint)
    • Line 29: warning: exported function NewStorageEngine should have comment or be unexported (golint)
    • Line 46: warning: exported function RegisterStorageEngine should have comment or be unexported (golint)
    • Line 60: warning: exported type FileSystemStorageEngine should have comment or be unexported (golint)
    • Line 64: warning: exported method FileSystemStorageEngine.Get should have comment or be unexported (golint)
    • Line 80: warning: exported method FileSystemStorageEngine.Put should have comment or be unexported (golint)
    • Line 93: warning: exported method FileSystemStorageEngine.Delete should have comment or be unexported (golint)
    • Line 106: warning: exported method FileSystemStorageEngine.Close should have comment or be unexported (golint)
    • Line 116: warning: exported type EtcdStorageEngine should have comment or be unexported (golint)
    • Line 122: warning: exported method EtcdStorageEngine.Get should have comment or be unexported (golint)
    • Line 142: warning: exported method EtcdStorageEngine.Put should have comment or be unexported (golint)
    • Line 159: warning: exported method EtcdStorageEngine.Delete should have comment or be unexported (golint)
    • Line 176: warning: exported method EtcdStorageEngine.Close should have comment or be unexported (golint)
    • Line 186: warning: exported type ZKStorageEngine should have comment or be unexported (golint)
    • Line 191: warning: exported method ZKStorageEngine.Get should have comment or be unexported (golint)
    • Line 205: warning: exported method ZKStorageEngine.Put should have comment or be unexported (golint)
    • Line 225: warning: exported method ZKStorageEngine.Delete should have comment or be unexported (golint)
    • Line 239: warning: exported method ZKStorageEngine.Close should have comment or be unexported (golint)
    • roxy/errors.go
    • Line 10: warning: exported type ConfigLoadError should have comment or be unexported (golint)
    • Line 37: warning: exported type StorageEngineCreateError should have comment or be unexported (golint)
    • Line 56: warning: exported type StorageEngineOperationError should have comment or be unexported (golint)
    • Line 77: warning: exported type TLSClientConfigError should have comment or be unexported (golint)
    • Line 95: warning: exported type InvalidHostGlobError should have comment or be unexported (golint)
    • Line 114: warning: exported type InvalidPathGlobError should have comment or be unexported (golint)
    • roxy/wrappers.go
    • Line 21: warning: exported type WrappedReader should have comment or be unexported (golint)
    • Line 27: warning: exported function WrapReader should have comment or be unexported (golint)
    • Line 80: warning: exported type WrappedWriter should have comment or be unexported (golint)
    • Line 92: warning: exported function WrapWriter should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_serverdata.go
    • Line 12: warning: exported type ServerData should have comment or be unexported (golint)
    • Line 29: warning: exported method ServerData.AvailableCPSLocked should have comment or be unexported (golint)
    • Line 33: warning: exported method ServerData.UtilizationRatioLocked should have comment or be unexported (golint)
    • Line 39: warning: exported method ServerData.SendGoAwayLocked should have comment or be unexported (golint)
    • Line 48: warning: exported method ServerData.UpdateLocked should have comment or be unexported (golint)
    • Line 80: warning: exported method ServerData.DeleteLocked should have comment or be unexported (golint)
    • Line 95: warning: exported method ServerData.IsExpiredLocked should have comment or be unexported (golint)
    • Line 104: warning: exported method ServerData.PeriodicLocked should have comment or be unexported (golint)
    • Line 118: warning: exported method ServerData.ToProtoLocked should have comment or be unexported (golint)
    • roxy/internal/balancedclient/client.go
    • Line 15: warning: exported function New should have comment or be unexported (golint)
    • Line 75: warning: exported type BalancedClient should have comment or be unexported (golint)
    • Line 81: warning: exported method BalancedClient.Resolver should have comment or be unexported (golint)
    • Line 85: warning: exported method BalancedClient.HTTPClient should have comment or be unexported (golint)
    • Line 89: warning: exported method BalancedClient.IsTLS should have comment or be unexported (golint)
    • Line 93: warning: exported method BalancedClient.Do should have comment or be unexported (golint)
    • Line 97: warning: exported method BalancedClient.Close should have comment or be unexported (golint)
    • roxy/cmd/atc/config.go
    • Line 25: warning: exported type GlobalConfigFile should have comment or be unexported (golint)
    • Line 39: warning: exported type PeersFile should have comment or be unexported (golint)
    • Line 41: warning: exported type ServicesFile should have comment or be unexported (golint)
    • Line 43: warning: exported type ServiceConfig should have comment or be unexported (golint)
    • Line 54: warning: exported type CostFile should have comment or be unexported (golint)
    • Line 56: warning: exported type CostConfig should have comment or be unexported (golint)
    • Line 62: warning: exported function LoadGlobalConfigFile should have comment or be unexported (golint)
    • Line 160: warning: exported method GlobalConfigFile.LoadPeersFile should have comment or be unexported (golint)
    • Line 169: warning: exported method GlobalConfigFile.LoadServicesFile should have comment or be unexported (golint)
    • Line 178: warning: exported method GlobalConfigFile.LoadCostFile should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_ref.go
    • Line 23: warning: exported type Ref should have comment or be unexported (golint)
    • Line 42: warning: exported method Ref.Init should have comment or be unexported (golint)
    • Line 57: warning: exported method Ref.GlobalConfig should have comment or be unexported (golint)
    • Line 61: warning: exported method Ref.ZKConn should have comment or be unexported (golint)
    • Line 65: warning: exported method Ref.EtcdV3Client should have comment or be unexported (golint)
    • Line 69: warning: exported method Ref.AcquireSharedImpl should have comment or be unexported (golint)
    • Line 80: warning: exported method Ref.ReleaseSharedImpl should have comment or be unexported (golint)
    • Line 107: warning: exported method Ref.Load should have comment or be unexported (golint)
    • Line 127: warning: exported method Ref.Flip should have comment or be unexported (golint)
    • Line 207: warning: exported method Ref.Commit should have comment or be unexported (golint)
    • Line 233: warning: exported method Ref.Shard should have comment or be unexported (golint)
    • Line 240: warning: exported method Ref.GetOrInsertShard should have comment or be unexported (golint)
    • Line 277: warning: exported method Ref.PeerConn should have comment or be unexported (golint)
    • Line 309: warning: exported method Ref.Close should have comment or be unexported (golint)
    • roxy/cmd/atc/common.go
    • Line 7: warning: exported const PeriodicInterval should have comment or be unexported (golint)
    • Line 9: warning: exported const ExpireInterval should have comment or be unexported (golint)
    • roxy/cmd/atc/server_lookup.go
    • Line 9: warning: exported method ATCServer.Lookup should have comment or be unexported (golint)
    • Line 64: warning: exported method ATCServer.LookupClients should have comment or be unexported (golint)
    • Line 111: warning: exported method ATCServer.LookupServers should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_clientdata.go
    • Line 13: warning: exported type ClientData should have comment or be unexported (golint)
    • Line 30: warning: exported method ClientData.NeededCPSLocked should have comment or be unexported (golint)
    • Line 34: warning: exported method ClientData.SendGoAwayLocked should have comment or be unexported (golint)
    • Line 43: warning: exported method ClientData.UpdateLocked should have comment or be unexported (golint)
    • Line 73: warning: exported method ClientData.DeleteLocked should have comment or be unexported (golint)
    • Line 92: warning: exported method ClientData.InsertServerLocked should have comment or be unexported (golint)
    • Line 118: warning: exported method ClientData.ModifyServerLocked should have comment or be unexported (golint)
    • Line 141: warning: exported method ClientData.DeleteServerLocked should have comment or be unexported (golint)
    • Line 161: warning: exported method ClientData.OnConnectLocked should have comment or be unexported (golint)
    • Line 183: warning: exported method ClientData.RebalanceLocked should have comment or be unexported (golint)
    • Line 264: warning: exported method ClientData.ShedExcessServersLocked should have comment or be unexported (golint)
    • Line 333: warning: exported method ClientData.IsExpiredLocked should have comment or be unexported (golint)
    • Line 342: warning: exported method ClientData.PeriodicLocked should have comment or be unexported (golint)
    • Line 356: warning: exported method ClientData.ToProtoLocked should have comment or be unexported (golint)
    • Line 372: warning: exported method ClientData.IsOKLocked should have comment or be unexported (golint)
    • roxy/cmd/atc/struct_stats.go
    • Line 3: warning: exported type Stats should have comment or be unexported (golint)
    • Line 10: warning: exported method Stats.Add should have comment or be unexported (golint)
    • Line 18: warning: exported method Stats.Scale should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign82%

IneffAssign detects ineffectual assignments in Go code.

    • roxy/cmd/roxyctl/main.go
    • Line 83: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 212: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 224: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 237: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 319: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 182: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 53: warning: "github.com/chronos-tachyon/roxy/proto/roxy_v0" imported but not used as atcclient (ineffassign)
    • roxy/handlers.go
    • Line 42: warning: atcclient redeclared in this block (ineffassign)
    • Line 38: warning: other declaration of atcclient (ineffassign)
    • Line 1052: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1176: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1102: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1103: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1104: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1105: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1106: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1108: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1122: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1150: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1153: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 1394: warning: undeclared name: roxy_v0 (ineffassign)
    • roxy/admin.go
    • Line 14: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 17: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 17: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 27: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 27: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 40: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 40: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 53: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 53: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 24: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 37: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 50: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 63: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 10: warning: "github.com/chronos-tachyon/roxy/proto/roxy_v0" imported but not used as atcclient (ineffassign)
    • roxy/cmd/atcctl/main.go
    • Line 104: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 105: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 267: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 301: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 324: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 347: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 360: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 442: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 475: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 513: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 553: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 592: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 236: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 237: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 62: warning: "github.com/chronos-tachyon/roxy/proto/roxy_v0" imported but not used as atcclient (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/chronos-tachyon/roxy/lib/announcer/impl_atc.go
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: atcclient redeclared in this block (ineffassign)
    • Line 11: warning: other declaration of atcclient (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: atcclient redeclared in this block (ineffassign)
    • Line 11: warning: other declaration of atcclient (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/chronos-tachyon/roxy/internal/wsutil/adaptor.go
    • Line 9: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 9: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 9: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 9: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 9: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 9: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • roxy/cmd/atc/admin.go
    • Line 10: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • roxy/lib/atcclient/atcclient.go
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 4: warning: could not import context (no metadata for context) (ineffassign)
    • Line 5: warning: could not import crypto/tls (no metadata for crypto/tls) (ineffassign)
    • Line 6: warning: could not import net (no metadata for net) (ineffassign)
    • Line 7: warning: could not import sync (no metadata for sync) (ineffassign)
    • Line 8: warning: could not import time (no metadata for time) (ineffassign)
    • Line 10: warning: could not import google.golang.org/grpc (no metadata for google.golang.org/grpc) (ineffassign)
    • Line 12: warning: could not import github.com/chronos-tachyon/roxy/internal/misc (no metadata for github.com/chronos-tachyon/roxy/internal/misc) (ineffassign)
    • Line 13: warning: could not import github.com/chronos-tachyon/roxy/lib/expbackoff (no metadata for github.com/chronos-tachyon/roxy/lib/expbackoff) (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/lib/roxyutil (no metadata for github.com/chronos-tachyon/roxy/lib/roxyutil) (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (no metadata for github.com/chronos-tachyon/roxy/proto/roxy_v0) (ineffassign)
    • Line 39: warning: undeclared name: Key (ineffassign)
    • Line 81: warning: undeclared name: Key (ineffassign)
    • Line 34: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 58: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 112: warning: undeclared name: roxy_v0 (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/chronos-tachyon/roxy/lib/atcclient/atcclient.go
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 4: warning: could not import context (no metadata for context) (ineffassign)
    • Line 5: warning: could not import crypto/tls (no metadata for crypto/tls) (ineffassign)
    • Line 6: warning: could not import net (no metadata for net) (ineffassign)
    • Line 7: warning: could not import sync (no metadata for sync) (ineffassign)
    • Line 8: warning: could not import time (no metadata for time) (ineffassign)
    • Line 10: warning: could not import google.golang.org/grpc (no metadata for google.golang.org/grpc) (ineffassign)
    • Line 12: warning: could not import github.com/chronos-tachyon/roxy/internal/misc (no metadata for github.com/chronos-tachyon/roxy/internal/misc) (ineffassign)
    • Line 13: warning: could not import github.com/chronos-tachyon/roxy/lib/expbackoff (no metadata for github.com/chronos-tachyon/roxy/lib/expbackoff) (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/lib/roxyutil (no metadata for github.com/chronos-tachyon/roxy/lib/roxyutil) (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (no metadata for github.com/chronos-tachyon/roxy/proto/roxy_v0) (ineffassign)
    • Line 39: warning: undeclared name: Key (ineffassign)
    • Line 81: warning: undeclared name: Key (ineffassign)
    • Line 34: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 58: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 112: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 4: warning: could not import context (no metadata for context) (ineffassign)
    • Line 5: warning: could not import crypto/tls (no metadata for crypto/tls) (ineffassign)
    • Line 6: warning: could not import net (no metadata for net) (ineffassign)
    • Line 7: warning: could not import sync (no metadata for sync) (ineffassign)
    • Line 8: warning: could not import time (no metadata for time) (ineffassign)
    • Line 10: warning: could not import google.golang.org/grpc (no metadata for google.golang.org/grpc) (ineffassign)
    • Line 12: warning: could not import github.com/chronos-tachyon/roxy/internal/misc (no metadata for github.com/chronos-tachyon/roxy/internal/misc) (ineffassign)
    • Line 13: warning: could not import github.com/chronos-tachyon/roxy/lib/expbackoff (no metadata for github.com/chronos-tachyon/roxy/lib/expbackoff) (ineffassign)
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/lib/roxyutil (no metadata for github.com/chronos-tachyon/roxy/lib/roxyutil) (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (no metadata for github.com/chronos-tachyon/roxy/proto/roxy_v0) (ineffassign)
    • Line 39: warning: undeclared name: Key (ineffassign)
    • Line 81: warning: undeclared name: Key (ineffassign)
    • Line 34: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 58: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 112: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 15: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 15: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • /home/shawn/mygo/src/github.com/gojp/goreportcard/_repos/src/github.com/chronos-tachyon/roxy/lib/roxyresolver/scheme_atc.go
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: atcclient redeclared in this block (ineffassign)
    • Line 16: warning: other declaration of atcclient (ineffassign)
    • Line 237: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 293: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 301: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: atcclient redeclared in this block (ineffassign)
    • Line 16: warning: other declaration of atcclient (ineffassign)
    • Line 237: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 293: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 301: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • roxy/lib/announcer/impl_atc.go
    • Line 14: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 14: warning: atcclient redeclared in this block (ineffassign)
    • Line 11: warning: other declaration of atcclient (ineffassign)
    • roxy/internal/wsutil/adaptor.go
    • Line 9: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 9: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • roxy/lib/costhistory/struct_sample.go
    • Line 8: warning: no required module provides package github.com/chronos-tachyon/roxy/proto/roxy_v0; to add it: (ineffassign)
    • Line 8: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 8: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • roxy/lib/roxyresolver/scheme_atc.go
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: could not import github.com/chronos-tachyon/roxy/proto/roxy_v0 (invalid package name: "") (ineffassign)
    • Line 19: warning: atcclient redeclared in this block (ineffassign)
    • Line 16: warning: other declaration of atcclient (ineffassign)
    • Line 237: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 293: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 301: warning: undeclared name: roxy_v0 (ineffassign)
    • roxy/util.go
    • Line 179: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 179: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 190: warning: undeclared name: roxy_v0 (ineffassign)
    • Line 22: warning: "github.com/chronos-tachyon/roxy/proto/roxy_v0" imported but not used as atcclient (ineffassign)
    • roxy/main.go
    • Line 29: warning: atcclient redeclared in this block (ineffassign)
    • Line 25: warning: other declaration of atcclient (ineffassign)
    • Line 110: warning: undeclared name: roxy_v0 (ineffassign)

misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!