diff --git a/.golangci.yml b/.golangci.yml index 9b38aa362c..f51ca3e895 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -4,14 +4,13 @@ linters: disable: - copyloopvar # replaced exportloopref, but we don't need it for Go 1.22+ - dupl # we can't avoid duplicating code - - embeddedstructfieldcheck # need it for autogenerated code + - err113 # extra work & poor benefit (renamed from goerr113) - exhaustruct # too many files to fix/nolint - - funcorder # not very useful + - funlen # useless - gochecknoglobals # mostly useless - gochecknoinits # we use init functions - - gocognit - gocyclo # using cyclop with the max 30 instead - godox # we sometimes leave TODOS right in the code - gomoddirectives # we use replace directives diff --git a/agent/agents/mysql/perfschema/perfschema.go b/agent/agents/mysql/perfschema/perfschema.go index d47f730643..64a32b4d52 100644 --- a/agent/agents/mysql/perfschema/perfschema.go +++ b/agent/agents/mysql/perfschema/perfschema.go @@ -305,7 +305,7 @@ func (m *PerfSchema) refreshHistoryCache(ctx context.Context) error { return nil } -func (m *PerfSchema) getNewBuckets(periodStart time.Time, periodLengthSecs uint32) ([]*agentv1.MetricsBucket, error) { +func (m *PerfSchema) getNewBuckets(periodStart time.Time, periodLengthSecs uint32) ([]*agentv1.MetricsBucket, error) { //nolint:gocognit current, err := getSummaries(m.q) if err != nil { return nil, err diff --git a/agent/agents/mysql/slowlog/slowlog.go b/agent/agents/mysql/slowlog/slowlog.go index 3199007cf1..a3e88a9f26 100644 --- a/agent/agents/mysql/slowlog/slowlog.go +++ b/agent/agents/mysql/slowlog/slowlog.go @@ -408,7 +408,7 @@ func hashIntoQueryID(fingerprint string) string { // makeBuckets is a pure function for easier testing. // -//nolint:cyclop,maintidx +//nolint:gocognit,cyclop,maintidx func makeBuckets( agentID string, res event.Result, diff --git a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go index 243380df02..a3730f8d60 100644 --- a/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go +++ b/agent/agents/postgres/pgstatmonitor/pgstatmonitor.go @@ -534,7 +534,7 @@ func (m *PGStatMonitorQAN) getNewBuckets(ctx context.Context, periodLengthSecs u // makeBuckets uses current state of pg_stat_monitor table and accumulated previous state // to make metrics buckets. -func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]*pgStatMonitorExtended) []*agentv1.MetricsBucket { +func (m *PGStatMonitorQAN) makeBuckets(current, cache map[time.Time]map[string]*pgStatMonitorExtended) []*agentv1.MetricsBucket { //nolint:gocognit res := make([]*agentv1.MetricsBucket, 0, len(current)) for bucketStartTime, bucket := range current { diff --git a/agent/agents/postgres/pgstatmonitor/stat_monitor_cache.go b/agent/agents/postgres/pgstatmonitor/stat_monitor_cache.go index 253a72741b..0b69dcca73 100644 --- a/agent/agents/postgres/pgstatmonitor/stat_monitor_cache.go +++ b/agent/agents/postgres/pgstatmonitor/stat_monitor_cache.go @@ -62,6 +62,8 @@ func newStatMonitorCache(l *logrus.Entry) *statMonitorCache { // getStatMonitorExtended returns the current state of pg_stat_monitor table with extended information (database, username) // and the previous cashed state grouped by bucket start time. +// +//nolint:gocognit func (ssc *statMonitorCache) getStatMonitorExtended( ctx context.Context, q *reform.Querier, diff --git a/agent/client/client.go b/agent/client/client.go index 55575a1fb2..571be3b7d5 100644 --- a/agent/client/client.go +++ b/agent/client/client.go @@ -301,7 +301,7 @@ func (c *Client) processJobsResults(ctx context.Context) { } } -func (c *Client) processSupervisorRequests(ctx context.Context) { +func (c *Client) processSupervisorRequests(ctx context.Context) { //nolint:gocognit var wg sync.WaitGroup wg.Add(1) diff --git a/agent/cmd/pmm-agent-entrypoint/main.go b/agent/cmd/pmm-agent-entrypoint/main.go index ea878c5560..d2a0569215 100644 --- a/agent/cmd/pmm-agent-entrypoint/main.go +++ b/agent/cmd/pmm-agent-entrypoint/main.go @@ -127,7 +127,7 @@ func sendSIGKILLwithTimeout(process *os.Process, timeout int, l *logrus.Entry) * }) } -func main() { +func main() { //nolint:gocognit config := reaper.MakeConfig() config.Debug = false reaper.RunForked(config) diff --git a/agent/config/config.go b/agent/config/config.go index aefef1c98b..8fe9f49719 100644 --- a/agent/config/config.go +++ b/agent/config/config.go @@ -192,7 +192,7 @@ func getFromCmdLine(cfg *Config, l *logrus.Entry) (string, error) { } // get is Get for unit tests: it parses args instead of command-line. -func get(args []string, cfg *Config, l *logrus.Entry) (string, error) { //nolint:cyclop +func get(args []string, cfg *Config, l *logrus.Entry) (string, error) { //nolint:gocognit,cyclop var configFileF string var err error // tweak configuration on exit to cover all return points diff --git a/managed/cmd/pmm-managed/main.go b/managed/cmd/pmm-managed/main.go index 3c37cd5c0c..b9460d29de 100644 --- a/managed/cmd/pmm-managed/main.go +++ b/managed/cmd/pmm-managed/main.go @@ -623,7 +623,7 @@ func newClickhouseDB(dsn string, maxIdleConns, maxOpenConns int) (*sql.DB, error return db, nil } -func main() { //nolint:maintidx,cyclop +func main() { //nolint:gocognit,maintidx,cyclop // empty version breaks much of pmm-managed logic if version.Version == "" { panic("pmm-managed version is not set during build.") diff --git a/managed/models/agent_model.go b/managed/models/agent_model.go index 359ca192d9..7c4a8431af 100644 --- a/managed/models/agent_model.go +++ b/managed/models/agent_model.go @@ -487,7 +487,7 @@ type DSNParams struct { } // DSN returns a DSN string for accessing a given Service with this Agent (and an implicit driver). -func (s *Agent) DSN(service *Service, dsnParams DSNParams, tdp *DelimiterPair, pmmAgentVersion *version.Parsed) string { //nolint:cyclop,maintidx +func (s *Agent) DSN(service *Service, dsnParams DSNParams, tdp *DelimiterPair, pmmAgentVersion *version.Parsed) string { //nolint:gocognit,cyclop,maintidx host := pointer.GetString(service.Address) port := pointer.GetUint16(service.Port) socket := pointer.GetString(service.Socket) @@ -835,7 +835,7 @@ func (s *Agent) IsMySQLTablestatsGroupEnabled() bool { } // Files returns files map required to connect to DB. -func (s Agent) Files() map[string]string { +func (s Agent) Files() map[string]string { //nolint:gocognit switch s.AgentType { case MySQLdExporterType, QANMySQLPerfSchemaAgentType, QANMySQLSlowlogAgentType: files := make(map[string]string) diff --git a/managed/models/encryption_helpers.go b/managed/models/encryption_helpers.go index 275385d290..ba9aea666a 100644 --- a/managed/models/encryption_helpers.go +++ b/managed/models/encryption_helpers.go @@ -34,7 +34,7 @@ func DecryptAgent(agent Agent) Agent { return agentEncryption(agent, encryption.Decrypt) } -func agentEncryption(agent Agent, handler func(string) (string, error)) Agent { +func agentEncryption(agent Agent, handler func(string) (string, error)) Agent { //nolint:gocognit if agent.Username != nil { username, err := handler(*agent.Username) if err != nil { diff --git a/managed/models/node_helpers.go b/managed/models/node_helpers.go index c49b1db1ef..c2f49d2e3d 100644 --- a/managed/models/node_helpers.go +++ b/managed/models/node_helpers.go @@ -247,7 +247,7 @@ func CreateNode(q *reform.Querier, nodeType NodeType, params *CreateNodeParams) } // RemoveNode removes single Node. -func RemoveNode(q *reform.Querier, id string, mode RemoveMode) error { +func RemoveNode(q *reform.Querier, id string, mode RemoveMode) error { //nolint:gocognit n, err := FindNodeByID(q, id) if err != nil { return err diff --git a/managed/models/service_helpers.go b/managed/models/service_helpers.go index b8c1c64060..5240eb5351 100644 --- a/managed/models/service_helpers.go +++ b/managed/models/service_helpers.go @@ -314,7 +314,7 @@ func AddNewService(q *reform.Querier, serviceType ServiceType, params *AddDBMSSe // RemoveService removes single Service. // If associated service software versions entry exists it is removed by the ON DELETE CASCADE option. -func RemoveService(q *reform.Querier, id string, mode RemoveMode) error { +func RemoveService(q *reform.Querier, id string, mode RemoveMode) error { //nolint:gocognit s, err := FindServiceByID(q, id) if err != nil { return err diff --git a/managed/models/settings_helpers.go b/managed/models/settings_helpers.go index 0878c2d60d..5f61a58cfe 100644 --- a/managed/models/settings_helpers.go +++ b/managed/models/settings_helpers.go @@ -119,7 +119,7 @@ func SetPMMServerID(q reform.DBTX) error { } // UpdateSettings updates only non-zero, non-empty values. -func UpdateSettings(q reform.DBTX, params *ChangeSettingsParams) (*Settings, error) { //nolint:cyclop +func UpdateSettings(q reform.DBTX, params *ChangeSettingsParams) (*Settings, error) { //nolint:gocognit,cyclop err := ValidateSettings(params) if err != nil { return nil, NewInvalidArgumentError("%s", err.Error()) diff --git a/managed/services/agents/handler.go b/managed/services/agents/handler.go index 244f2c20b6..a8a72cd724 100644 --- a/managed/services/agents/handler.go +++ b/managed/services/agents/handler.go @@ -63,7 +63,7 @@ func NewHandler(db *reform.DB, qanClient qanClient, vmdb prometheusService, regi } // Run takes over pmm-agent gRPC stream and runs it until completion. -func (h *Handler) Run(stream agentv1.AgentService_ConnectServer) error { +func (h *Handler) Run(stream agentv1.AgentService_ConnectServer) error { //nolint:gocognit disconnectReason := "unknown" ctx := stream.Context() diff --git a/managed/services/agents/jobs.go b/managed/services/agents/jobs.go index 55e858ec20..4d6767c505 100644 --- a/managed/services/agents/jobs.go +++ b/managed/services/agents/jobs.go @@ -67,7 +67,7 @@ func NewJobsService(db *reform.DB, registry *Registry, retention retentionServic } // RestartJob restarts a job with the given jobID. -func (s *JobsService) RestartJob(ctx context.Context, jobID string) error { +func (s *JobsService) RestartJob(ctx context.Context, jobID string) error { //nolint:gocognit var job *models.Job var artifact *models.Artifact var locationModel *models.BackupLocation @@ -169,7 +169,7 @@ func (s *JobsService) RestartJob(ctx context.Context, jobID string) error { return nil } -func (s *JobsService) handleJobResult(_ context.Context, l *logrus.Entry, result *agentv1.JobResult) { //nolint:cyclop +func (s *JobsService) handleJobResult(_ context.Context, l *logrus.Entry, result *agentv1.JobResult) { //nolint:gocognit,cyclop var scheduleID string if errTx := s.db.InTransaction(func(t *reform.TX) error { //nolint:contextcheck job, err := models.FindJobByID(t.Querier, result.JobId) diff --git a/managed/services/agents/state.go b/managed/services/agents/state.go index a033b98b48..6e08cd6591 100644 --- a/managed/services/agents/state.go +++ b/managed/services/agents/state.go @@ -140,7 +140,7 @@ func (u *StateUpdater) runStateChangeHandler(ctx context.Context, agent *pmmAgen } // sendSetStateRequest sends SetStateRequest to given pmm-agent. -func (u *StateUpdater) sendSetStateRequest(ctx context.Context, agent *pmmAgentInfo) error { //nolint:cyclop,maintidx +func (u *StateUpdater) sendSetStateRequest(ctx context.Context, agent *pmmAgentInfo) error { //nolint:gocognit,cyclop,maintidx l := logger.Get(ctx) start := time.Now() defer func() { diff --git a/managed/services/backup/backup_service.go b/managed/services/backup/backup_service.go index 5903155845..cee742493d 100644 --- a/managed/services/backup/backup_service.go +++ b/managed/services/backup/backup_service.go @@ -69,7 +69,7 @@ type PerformBackupParams struct { } // PerformBackup starts on-demand backup. -func (s *Service) PerformBackup(ctx context.Context, params PerformBackupParams) (string, error) { //nolint:cyclop +func (s *Service) PerformBackup(ctx context.Context, params PerformBackupParams) (string, error) { //nolint:gocognit,cyclop dbVersion, err := s.compatibilityService.CheckSoftwareCompatibilityForService(ctx, params.ServiceID) if err != nil { return "", err diff --git a/managed/services/backup/pitr_timerange_service.go b/managed/services/backup/pitr_timerange_service.go index 75f70f5c4d..4140e7d6ec 100644 --- a/managed/services/backup/pitr_timerange_service.go +++ b/managed/services/backup/pitr_timerange_service.go @@ -270,7 +270,7 @@ func getTimelines(slices []*oplogChunk) []Timeline { // mergeTimelines merges overlapping sets on timelines // it presumes timelines are sorted and don't start from 0. -func mergeTimelines(timelines ...[]Timeline) []Timeline { +func mergeTimelines(timelines ...[]Timeline) []Timeline { //nolint:gocognit // fast paths if len(timelines) == 0 { return nil diff --git a/managed/services/inventory/services.go b/managed/services/inventory/services.go index 4b912a89ed..081b79477f 100644 --- a/managed/services/inventory/services.go +++ b/managed/services/inventory/services.go @@ -299,7 +299,7 @@ func (ss *ServicesService) AddExternalService(ctx context.Context, params *model // Remove removes Service without any Agents. // Removes Service with the Agents if force == true. // Returns an error if force == false and Service has Agents. -func (ss *ServicesService) Remove(ctx context.Context, id string, force bool) error { +func (ss *ServicesService) Remove(ctx context.Context, id string, force bool) error { //nolint:gocognit pmmAgentIDs := make(map[string]struct{}) if e := ss.db.InTransactionContext(ctx, nil, func(tx *reform.TX) error { diff --git a/managed/services/management/azure_database.go b/managed/services/management/azure_database.go index a8a6fe0c24..433c552690 100644 --- a/managed/services/management/azure_database.go +++ b/managed/services/management/azure_database.go @@ -189,7 +189,7 @@ func (s *ManagementService) DiscoverAzureDatabase( } // AddAzureDatabase add azure database to monitoring. -func (s *ManagementService) AddAzureDatabase(ctx context.Context, req *managementv1.AddAzureDatabaseRequest) (*managementv1.AddAzureDatabaseResponse, error) { +func (s *ManagementService) AddAzureDatabase(ctx context.Context, req *managementv1.AddAzureDatabaseRequest) (*managementv1.AddAzureDatabaseResponse, error) { //nolint:gocognit if !s.isAzureEnabled() { return nil, services.ErrAzureDisabled } diff --git a/managed/services/management/external.go b/managed/services/management/external.go index 83060de063..dda4012c16 100644 --- a/managed/services/management/external.go +++ b/managed/services/management/external.go @@ -29,7 +29,7 @@ import ( ) // AddExternal adds an external service based on the provided request. -func (s *ManagementService) addExternal(ctx context.Context, req *managementv1.AddExternalServiceParams) (*managementv1.AddServiceResponse, error) { +func (s *ManagementService) addExternal(ctx context.Context, req *managementv1.AddExternalServiceParams) (*managementv1.AddServiceResponse, error) { //nolint:gocognit external := &managementv1.ExternalServiceResult{} var pmmAgentID *string diff --git a/managed/services/management/haproxy.go b/managed/services/management/haproxy.go index 6ce60d1778..c35ecedf91 100644 --- a/managed/services/management/haproxy.go +++ b/managed/services/management/haproxy.go @@ -29,7 +29,7 @@ import ( ) // AddHAProxy adds an HAProxy service based on the provided request. -func (s *ManagementService) addHAProxy(ctx context.Context, req *managementv1.AddHAProxyServiceParams) (*managementv1.AddServiceResponse, error) { +func (s *ManagementService) addHAProxy(ctx context.Context, req *managementv1.AddHAProxyServiceParams) (*managementv1.AddServiceResponse, error) { //nolint:gocognit var pmmAgentID *string haproxy := &managementv1.HAProxyServiceResult{} diff --git a/managed/services/management/mongodb.go b/managed/services/management/mongodb.go index 3dca4b7401..70bb399929 100644 --- a/managed/services/management/mongodb.go +++ b/managed/services/management/mongodb.go @@ -28,7 +28,7 @@ import ( ) // AddMongoDB adds "MongoDB Service", "MongoDB Exporter Agent" and "QAN MongoDB Profiler". -func (s *ManagementService) addMongoDB(ctx context.Context, req *managementv1.AddMongoDBServiceParams) (*managementv1.AddServiceResponse, error) { +func (s *ManagementService) addMongoDB(ctx context.Context, req *managementv1.AddMongoDBServiceParams) (*managementv1.AddServiceResponse, error) { //nolint:gocognit mongodb := &managementv1.MongoDBServiceResult{} if e := s.db.InTransactionContext(ctx, nil, func(tx *reform.TX) error { diff --git a/managed/services/management/mysql.go b/managed/services/management/mysql.go index baa9e60f42..c45cb7810e 100644 --- a/managed/services/management/mysql.go +++ b/managed/services/management/mysql.go @@ -33,7 +33,7 @@ const ( ) // AddMySQL adds "MySQL Service", "MySQL Exporter Agent" and "QAN MySQL PerfSchema Agent". -func (s *ManagementService) addMySQL(ctx context.Context, req *managementv1.AddMySQLServiceParams) (*managementv1.AddServiceResponse, error) { +func (s *ManagementService) addMySQL(ctx context.Context, req *managementv1.AddMySQLServiceParams) (*managementv1.AddServiceResponse, error) { //nolint:gocognit mysql := &managementv1.MySQLServiceResult{} errTx := s.db.InTransactionContext(ctx, nil, func(tx *reform.TX) error { diff --git a/managed/services/management/node.go b/managed/services/management/node.go index b91b875b40..146e70fdd1 100644 --- a/managed/services/management/node.go +++ b/managed/services/management/node.go @@ -36,7 +36,7 @@ import ( ) // RegisterNode performs the registration of a new node. -func (s *ManagementService) RegisterNode(ctx context.Context, req *managementv1.RegisterNodeRequest) (*managementv1.RegisterNodeResponse, error) { +func (s *ManagementService) RegisterNode(ctx context.Context, req *managementv1.RegisterNodeRequest) (*managementv1.RegisterNodeResponse, error) { //nolint:gocognit res := &managementv1.RegisterNodeResponse{} e := s.db.InTransactionContext(ctx, nil, func(tx *reform.TX) error { @@ -213,7 +213,7 @@ func (s *ManagementService) UnregisterNode(ctx context.Context, req *managementv const upQuery = `up{job=~".*_hr$"}` // ListNodes returns a filtered list of Nodes. -func (s *ManagementService) ListNodes(ctx context.Context, req *managementv1.ListNodesRequest) (*managementv1.ListNodesResponse, error) { +func (s *ManagementService) ListNodes(ctx context.Context, req *managementv1.ListNodesRequest) (*managementv1.ListNodesResponse, error) { //nolint:gocognit filters := models.NodeFilters{ NodeType: services.ProtoToModelNodeType(req.NodeType), } diff --git a/managed/services/management/postgresql.go b/managed/services/management/postgresql.go index 2a97628733..9484a435d7 100644 --- a/managed/services/management/postgresql.go +++ b/managed/services/management/postgresql.go @@ -28,7 +28,7 @@ import ( ) // AddPostgreSQL adds "PostgreSQL Service", "PostgreSQL Exporter Agent" and "QAN PostgreSQL PerfSchema Agent". -func (s *ManagementService) addPostgreSQL(ctx context.Context, req *managementv1.AddPostgreSQLServiceParams) (*managementv1.AddServiceResponse, error) { +func (s *ManagementService) addPostgreSQL(ctx context.Context, req *managementv1.AddPostgreSQLServiceParams) (*managementv1.AddServiceResponse, error) { //nolint:gocognit postgres := &managementv1.PostgreSQLServiceResult{} errTx := s.db.InTransactionContext(ctx, nil, func(tx *reform.TX) error { diff --git a/managed/services/management/rds.go b/managed/services/management/rds.go index 2e9b8a1222..55c5a4fa26 100644 --- a/managed/services/management/rds.go +++ b/managed/services/management/rds.go @@ -140,7 +140,7 @@ func listRegions(partitions []string) []string { } // DiscoverRDS discovers RDS instances. -func (s *ManagementService) DiscoverRDS(ctx context.Context, req *managementv1.DiscoverRDSRequest) (*managementv1.DiscoverRDSResponse, error) { +func (s *ManagementService) DiscoverRDS(ctx context.Context, req *managementv1.DiscoverRDSRequest) (*managementv1.DiscoverRDSResponse, error) { //nolint:gocognit l := logger.Get(ctx).WithField("component", "discover/rds") settings, err := models.GetSettings(s.db.Querier) @@ -258,7 +258,7 @@ func (s *ManagementService) DiscoverRDS(ctx context.Context, req *managementv1.D } // AddRDS adds RDS instance. -func (s *ManagementService) addRDS(ctx context.Context, req *managementv1.AddRDSServiceParams) (*managementv1.AddServiceResponse, error) { //nolint:cyclop,maintidx +func (s *ManagementService) addRDS(ctx context.Context, req *managementv1.AddRDSServiceParams) (*managementv1.AddServiceResponse, error) { //nolint:gocognit,cyclop,maintidx rds := &managementv1.RDSServiceResult{} pmmAgentID := models.PMMServerAgentID diff --git a/managed/services/management/service.go b/managed/services/management/service.go index b48b48ad39..1c353ef157 100644 --- a/managed/services/management/service.go +++ b/managed/services/management/service.go @@ -119,7 +119,7 @@ func (s *ManagementService) AddService(ctx context.Context, req *managementv1.Ad } // ListServices returns a filtered list of Services with some attributes from Agents and Nodes. -func (s *ManagementService) ListServices(ctx context.Context, req *managementv1.ListServicesRequest) (*managementv1.ListServicesResponse, error) { +func (s *ManagementService) ListServices(ctx context.Context, req *managementv1.ListServicesRequest) (*managementv1.ListServicesResponse, error) { //nolint:gocognit filters := models.ServiceFilters{ NodeID: req.NodeId, ServiceType: services.ProtoToModelServiceType(req.ServiceType), @@ -257,7 +257,7 @@ func (s *ManagementService) ListServices(ctx context.Context, req *managementv1. } // RemoveService removes a Service along with its Agents. -func (s *ManagementService) RemoveService(ctx context.Context, req *managementv1.RemoveServiceRequest) (*managementv1.RemoveServiceResponse, error) { +func (s *ManagementService) RemoveService(ctx context.Context, req *managementv1.RemoveServiceRequest) (*managementv1.RemoveServiceResponse, error) { //nolint:gocognit err := s.validateRequest(req) if err != nil { return nil, err diff --git a/managed/services/preconditions.go b/managed/services/preconditions.go index 8df82edd78..c16aac7216 100644 --- a/managed/services/preconditions.go +++ b/managed/services/preconditions.go @@ -95,7 +95,7 @@ func CheckMongoDBBackupPreconditions(q *reform.Querier, mode models.BackupMode, // in the same folder may cause data inconsistency. // // WARNING: This function is valid only when executed as part of transaction with serializable isolation level. -func CheckArtifactOverlapping(q *reform.Querier, serviceID, locationID, folder string) error { +func CheckArtifactOverlapping(q *reform.Querier, serviceID, locationID, folder string) error { //nolint:gocognit // TODO This doesn't work for all cases. For example, there may exist more than one storage locations pointing to the same place. const ( diff --git a/managed/services/qan/client.go b/managed/services/qan/client.go index a8b5adefc2..e7d6e5ae14 100644 --- a/managed/services/qan/client.go +++ b/managed/services/qan/client.go @@ -169,7 +169,7 @@ func (c *Client) SchemaByQueryID(ctx context.Context, serviceID, queryID string) } // Collect adds labels to the data from pmm-agent and sends it to qan-api. -func (c *Client) Collect(ctx context.Context, metricsBuckets []*agentv1.MetricsBucket) error { +func (c *Client) Collect(ctx context.Context, metricsBuckets []*agentv1.MetricsBucket) error { //nolint:gocognit start := time.Now() defer func() { if dur := time.Since(start); dur > time.Second { diff --git a/managed/services/server/server.go b/managed/services/server/server.go index 952a403d85..00a5d36cda 100644 --- a/managed/services/server/server.go +++ b/managed/services/server/server.go @@ -621,7 +621,7 @@ func (s *Server) validateChangeSettingsRequest(ctx context.Context, req *serverv } // ChangeSettings changes PMM Server settings. -func (s *Server) ChangeSettings(ctx context.Context, req *serverv1.ChangeSettingsRequest) (*serverv1.ChangeSettingsResponse, error) { +func (s *Server) ChangeSettings(ctx context.Context, req *serverv1.ChangeSettingsRequest) (*serverv1.ChangeSettingsResponse, error) { //nolint:gocognit s.envRW.RLock() defer s.envRW.RUnlock() if err := s.validateChangeSettingsRequest(ctx, req); err != nil { diff --git a/managed/services/supervisord/supervisord.go b/managed/services/supervisord/supervisord.go index 7e91db40c3..9ecb389236 100644 --- a/managed/services/supervisord/supervisord.go +++ b/managed/services/supervisord/supervisord.go @@ -102,7 +102,7 @@ func New(configDir string, params *models.Params) *Service { } // Run reads supervisord's log (maintail) and sends events to subscribers. -func (s *Service) Run(ctx context.Context) { +func (s *Service) Run(ctx context.Context) { //nolint:gocognit if s.supervisorctlPath == "" { s.l.Errorf("supervisorctl not found, updates are disabled.") return diff --git a/managed/services/telemetry/config.go b/managed/services/telemetry/config.go index cba5425118..b8db77ad91 100644 --- a/managed/services/telemetry/config.go +++ b/managed/services/telemetry/config.go @@ -178,7 +178,7 @@ const ( ) // Init initializes telemetry config. -func (c *ServiceConfig) Init(l *logrus.Entry) error { //nolint:gocognit +func (c *ServiceConfig) Init(l *logrus.Entry) error { c.l = l configFile := os.Getenv(envConfigFile) diff --git a/managed/services/telemetry/telemetry.go b/managed/services/telemetry/telemetry.go index 92cb4c6908..9db793f027 100644 --- a/managed/services/telemetry/telemetry.go +++ b/managed/services/telemetry/telemetry.go @@ -210,7 +210,7 @@ func (s *Service) processSendCh(ctx context.Context) { } } -func (s *Service) prepareReport(ctx context.Context) *telemetryv1.GenericReport { +func (s *Service) prepareReport(ctx context.Context) *telemetryv1.GenericReport { //nolint:gocognit initializedDataSources := make(map[DataSourceName]DataSource) telemetryMetric, _ := s.makeMetric(ctx) var totalTime time.Duration diff --git a/managed/services/victoriametrics/prometheus.go b/managed/services/victoriametrics/prometheus.go index 53d37e355d..99499c7362 100644 --- a/managed/services/victoriametrics/prometheus.go +++ b/managed/services/victoriametrics/prometheus.go @@ -28,7 +28,7 @@ import ( // AddScrapeConfigs - adds agents scrape configuration to given scrape config, // pmm_agent_id and push_metrics used for filtering. -func AddScrapeConfigs(l *logrus.Entry, cfg *config.Config, q *reform.Querier, //nolint:cyclop,maintidx +func AddScrapeConfigs(l *logrus.Entry, cfg *config.Config, q *reform.Querier, //nolint:gocognit,cyclop,maintidx globalResolutions *models.MetricsResolutions, pmmAgentID *string, pushMetrics bool, skipExternalAgents bool, ) error { agents, err := models.FindAgentsForScrapeConfig(q, pmmAgentID, pushMetrics) diff --git a/managed/utils/envvars/parser.go b/managed/utils/envvars/parser.go index a66fd8352f..3da487c108 100644 --- a/managed/utils/envvars/parser.go +++ b/managed/utils/envvars/parser.go @@ -70,7 +70,7 @@ func (e InvalidDurationError) Error() string { return string(e) } // - the environment variables prefixed with GF_ passed as related to Grafana. // - the environment variables relating to proxies // - the environment variable set by podman -func ParseEnvVars(envs []string) (*models.ChangeSettingsParams, []error, []string) { //nolint:cyclop,maintidx +func ParseEnvVars(envs []string) (*models.ChangeSettingsParams, []error, []string) { //nolint:gocognit,cyclop,maintidx envSettings := &models.ChangeSettingsParams{} var errs []error var warns []string diff --git a/qan-api2/services/analytics/profile.go b/qan-api2/services/analytics/profile.go index ce03d853c4..f14aaac73c 100644 --- a/qan-api2/services/analytics/profile.go +++ b/qan-api2/services/analytics/profile.go @@ -26,7 +26,7 @@ import ( ) // GetReport implements rpc to get report for given filtering. -func (s *Service) GetReport(ctx context.Context, in *qanpb.GetReportRequest) (*qanpb.GetReportResponse, error) { +func (s *Service) GetReport(ctx context.Context, in *qanpb.GetReportRequest) (*qanpb.GetReportResponse, error) { //nolint:gocognit if in.PeriodStartFrom == nil || in.PeriodStartTo == nil { return nil, fmt.Errorf("from-date: %s or to-date: %s cannot be empty", in.PeriodStartFrom, in.PeriodStartTo) }