Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Fix linter findings for unparam and revive.unused-parameter #12150

Merged
merged 5 commits into from
Nov 8, 2022
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ linters:
- staticcheck
- typecheck
- unconvert
- unparam
- unused

linters-settings:
Expand Down Expand Up @@ -73,7 +74,7 @@ linters-settings:
arguments: [ "outputBuffer.Write", "fmt.Printf", "fmt.Println", "fmt.Print", "fmt.Fprintf", "fmt.Fprint", "fmt.Fprintln" ]
- name: unnecessary-stmt
- name: unreachable-code
# - name: unused-parameter
- name: unused-parameter
- name: var-declaration
- name: var-naming
- name: waitgroup-by-value
Expand Down
4 changes: 2 additions & 2 deletions agent/agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ type Agent struct {
}

// NewAgent returns an Agent for the given Config.
func NewAgent(cfg *config.Config) (*Agent, error) {
func NewAgent(cfg *config.Config) *Agent {
a := &Agent{
Config: cfg,
}
return a, nil
return a
}

// inputUnit is a group of input plugins and the shared channel they write to.
Expand Down
83 changes: 41 additions & 42 deletions agent/agent_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,108 +4,107 @@ import (
"testing"
"time"

"github.com/stretchr/testify/require"

"github.com/influxdata/telegraf/config"
_ "github.com/influxdata/telegraf/plugins/inputs/all"
_ "github.com/influxdata/telegraf/plugins/outputs/all"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)

func TestAgent_OmitHostname(t *testing.T) {
c := config.NewConfig()
c.Agent.OmitHostname = true
_, err := NewAgent(c)
assert.NoError(t, err)
assert.NotContains(t, c.Tags, "host")
_ = NewAgent(c)
require.NotContains(t, c.Tags, "host")
}

func TestAgent_LoadPlugin(t *testing.T) {
c := config.NewConfig()
c.InputFilters = []string{"mysql"}
err := c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ := NewAgent(c)
assert.Equal(t, 1, len(a.Config.Inputs))
require.NoError(t, err)
a := NewAgent(c)
require.Equal(t, 1, len(a.Config.Inputs))

c = config.NewConfig()
c.InputFilters = []string{"foo"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 0, len(a.Config.Inputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 0, len(a.Config.Inputs))

c = config.NewConfig()
c.InputFilters = []string{"mysql", "foo"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 1, len(a.Config.Inputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 1, len(a.Config.Inputs))

c = config.NewConfig()
c.InputFilters = []string{"mysql", "redis"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 2, len(a.Config.Inputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 2, len(a.Config.Inputs))

c = config.NewConfig()
c.InputFilters = []string{"mysql", "foo", "redis", "bar"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 2, len(a.Config.Inputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 2, len(a.Config.Inputs))
}

func TestAgent_LoadOutput(t *testing.T) {
c := config.NewConfig()
c.OutputFilters = []string{"influxdb"}
err := c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ := NewAgent(c)
assert.Equal(t, 2, len(a.Config.Outputs))
require.NoError(t, err)
a := NewAgent(c)
require.Equal(t, 2, len(a.Config.Outputs))

c = config.NewConfig()
c.OutputFilters = []string{"kafka"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 1, len(a.Config.Outputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 1, len(a.Config.Outputs))

c = config.NewConfig()
c.OutputFilters = []string{}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 3, len(a.Config.Outputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 3, len(a.Config.Outputs))

c = config.NewConfig()
c.OutputFilters = []string{"foo"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 0, len(a.Config.Outputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 0, len(a.Config.Outputs))

c = config.NewConfig()
c.OutputFilters = []string{"influxdb", "foo"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 2, len(a.Config.Outputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 2, len(a.Config.Outputs))

c = config.NewConfig()
c.OutputFilters = []string{"influxdb", "kafka"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
assert.Equal(t, 3, len(c.Outputs))
a, _ = NewAgent(c)
assert.Equal(t, 3, len(a.Config.Outputs))
require.NoError(t, err)
require.Equal(t, 3, len(c.Outputs))
a = NewAgent(c)
require.Equal(t, 3, len(a.Config.Outputs))

c = config.NewConfig()
c.OutputFilters = []string{"influxdb", "foo", "kafka", "bar"}
err = c.LoadConfig("../config/testdata/telegraf-agent.toml")
assert.NoError(t, err)
a, _ = NewAgent(c)
assert.Equal(t, 3, len(a.Config.Outputs))
require.NoError(t, err)
a = NewAgent(c)
require.Equal(t, 3, len(a.Config.Outputs))
}

func TestWindow(t *testing.T) {
Expand Down
9 changes: 3 additions & 6 deletions agent/tick.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"time"

"github.com/benbjohnson/clock"

"github.com/influxdata/telegraf/internal"
)

Expand Down Expand Up @@ -137,7 +138,7 @@ func NewUnalignedTicker(interval, jitter, offset time.Duration) *UnalignedTicker
return t
}

func (t *UnalignedTicker) start(clk clock.Clock) *UnalignedTicker {
func (t *UnalignedTicker) start(clk clock.Clock) {
t.ch = make(chan time.Time, 1)
ctx, cancel := context.WithCancel(context.Background())
t.cancel = cancel
Expand All @@ -153,8 +154,6 @@ func (t *UnalignedTicker) start(clk clock.Clock) *UnalignedTicker {
defer t.wg.Done()
t.run(ctx, ticker, clk)
}()

return t
}

func sleep(ctx context.Context, duration time.Duration, clk clock.Clock) error {
Expand Down Expand Up @@ -234,7 +233,7 @@ func NewRollingTicker(interval, jitter time.Duration) *RollingTicker {
return t
}

func (t *RollingTicker) start(clk clock.Clock) *RollingTicker {
func (t *RollingTicker) start(clk clock.Clock) {
t.ch = make(chan time.Time, 1)

ctx, cancel := context.WithCancel(context.Background())
Expand All @@ -248,8 +247,6 @@ func (t *RollingTicker) start(clk clock.Clock) *RollingTicker {
defer t.wg.Done()
t.run(ctx, timer)
}()

return t
}

func (t *RollingTicker) next() time.Duration {
Expand Down
6 changes: 3 additions & 3 deletions cmd/telegraf/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func NewMockTelegraf() *MockTelegraf {
return &MockTelegraf{}
}

func (m *MockTelegraf) Init(serverErr <-chan error, f Filters, g GlobalFlags, w WindowFlags) {
func (m *MockTelegraf) Init(_ <-chan error, _ Filters, g GlobalFlags, w WindowFlags) {
m.GlobalFlags = g
m.WindowFlags = w
}
Expand All @@ -47,7 +47,7 @@ func NewMockConfig(buffer io.Writer) *MockConfig {
}
}

func (m *MockConfig) CollectDeprecationInfos(inFilter, outFilter, aggFilter, procFilter []string) map[string][]config.PluginDeprecationInfo {
func (m *MockConfig) CollectDeprecationInfos(_, _, _, _ []string) map[string][]config.PluginDeprecationInfo {
return m.ExpectedDeprecatedPlugins
}

Expand All @@ -65,7 +65,7 @@ func NewMockServer() *MockServer {
return &MockServer{}
}

func (m *MockServer) Start(address string) {
func (m *MockServer) Start(_ string) {
m.Address = "localhost:6060"
}

Expand Down
5 changes: 1 addition & 4 deletions cmd/telegraf/telegraf.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,10 +251,7 @@ func (t *Telegraf) runAgent(ctx context.Context) error {
log.Printf("W! Deprecated outputs: %d and %d options", count[0], count[1])
}

ag, err := agent.NewAgent(c)
if err != nil {
return err
}
ag := agent.NewAgent(c)

// Notify systemd that telegraf is ready
// SdNotify() only tries to notify if the NOTIFY_SOCKET environment is set, so it's safe to call when systemd isn't present.
Expand Down
18 changes: 7 additions & 11 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -728,17 +728,13 @@ func (c *Config) addParser(parentcategory, parentname string, table *ast.Table)
}
parser := creator(parentname)

conf, err := c.buildParser(parentname, table)
if err != nil {
return nil, err
}

conf := c.buildParser(parentname, table)
if err := c.toml.UnmarshalTable(table, parser); err != nil {
return nil, err
}

running := models.NewRunningParser(parser, conf)
err = running.Init()
err := running.Init()
return running, err
}

Expand Down Expand Up @@ -1043,16 +1039,16 @@ func (c *Config) buildAggregator(name string, tbl *ast.Table) (*models.Aggregato
// buildParser parses Parser specific items from the ast.Table,
// builds the filter and returns a
// models.ParserConfig to be inserted into models.RunningParser
func (c *Config) buildParser(name string, tbl *ast.Table) (*models.ParserConfig, error) {
var dataformat string
c.getFieldString(tbl, "data_format", &dataformat)
func (c *Config) buildParser(name string, tbl *ast.Table) *models.ParserConfig {
var dataFormat string
c.getFieldString(tbl, "data_format", &dataFormat)

conf := &models.ParserConfig{
Parent: name,
DataFormat: dataformat,
DataFormat: dataFormat,
}

return conf, nil
return conf
}

// buildProcessor parses Processor specific items from the ast.Table,
Expand Down
Loading