Skip to content

Commit 1f2516a

Browse files
committed
fix: rm instrumentation for lint command
- Remove metrics/instrumentation for lint command since it does not provide any value. - Minor refactor to move resposibility of exiting with error from cmd.New() to main().
1 parent 8d53589 commit 1f2516a

6 files changed

Lines changed: 28 additions & 39 deletions

File tree

cmd/helpers.go

Lines changed: 0 additions & 18 deletions
This file was deleted.

cmd/lint.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77

88
"github.com/MakeNowJust/heredoc"
99
"github.com/odpf/meteor/agent"
10-
"github.com/odpf/meteor/metrics"
1110
"github.com/odpf/meteor/plugins"
1211
"github.com/odpf/meteor/recipe"
1312
"github.com/odpf/meteor/registry"
@@ -18,7 +17,7 @@ import (
1817
)
1918

2019
// LintCmd creates a command object for linting recipes
21-
func LintCmd(lg log.Logger, mt *metrics.StatsdMonitor) *cobra.Command {
20+
func LintCmd(lg log.Logger) *cobra.Command {
2221
var (
2322
report [][]string
2423
success = 0
@@ -53,7 +52,6 @@ func LintCmd(lg log.Logger, mt *metrics.StatsdMonitor) *cobra.Command {
5352
ExtractorFactory: registry.Extractors,
5453
ProcessorFactory: registry.Processors,
5554
SinkFactory: registry.Sinks,
56-
Monitor: mt,
5755
Logger: lg,
5856
})
5957

cmd/root.go

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package cmd
22

33
import (
44
"errors"
5-
"fmt"
6-
"os"
75

86
"github.com/MakeNowJust/heredoc"
97
"github.com/odpf/meteor/config"
@@ -14,14 +12,11 @@ import (
1412
"github.com/spf13/cobra"
1513
)
1614

17-
const exitError = 1
18-
1915
// New adds all child commands to the root command and sets flags appropriately.
20-
func New() *cobra.Command {
16+
func New() (*cobra.Command, error) {
2117
cfg, err := config.Load("./meteor.yaml")
2218
if err != nil && !errors.As(err, &saltconfig.ConfigFileNotFoundError{}) {
23-
fmt.Printf("ERROR: %s\n", err.Error())
24-
os.Exit(exitError)
19+
return nil, err
2520
}
2621

2722
lgLvl := cfg.LogLevel
@@ -31,13 +26,6 @@ func New() *cobra.Command {
3126
lg := log.NewLogrus(log.LogrusWithLevel(lgLvl))
3227
plugins.SetLog(lg)
3328

34-
// Setup statsd monitor to collect monitoring metrics
35-
mt, err := newStatsdMonitor(cfg)
36-
if err != nil {
37-
fmt.Printf("ERROR: %s\n", err.Error())
38-
os.Exit(exitError)
39-
}
40-
4129
var cmd = &cobra.Command{
4230
Use: "meteor <command> <subcommand> [flags]",
4331
Short: "Metadata CLI",
@@ -71,8 +59,8 @@ func New() *cobra.Command {
7159
cmd.AddCommand(ListCmd(lg))
7260
cmd.AddCommand(InfoCmd(lg))
7361
cmd.AddCommand(RunCmd())
74-
cmd.AddCommand(LintCmd(lg, mt))
62+
cmd.AddCommand(LintCmd(lg))
7563
cmd.AddCommand(NewCmd(lg))
7664

77-
return cmd
65+
return cmd, nil
7866
}

cmd/run.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/MakeNowJust/heredoc"
1313
"github.com/odpf/meteor/agent"
1414
"github.com/odpf/meteor/config"
15+
"github.com/odpf/meteor/metrics"
1516
"github.com/odpf/meteor/plugins"
1617
"github.com/odpf/meteor/recipe"
1718
"github.com/odpf/meteor/registry"
@@ -140,3 +141,15 @@ func RunCmd() *cobra.Command {
140141

141142
return cmd
142143
}
144+
145+
func newStatsdMonitor(cfg config.Config) (*metrics.StatsdMonitor, error) {
146+
if !cfg.StatsdEnabled {
147+
return nil, nil
148+
}
149+
150+
client, err := metrics.NewStatsdClient(cfg.StatsdHost)
151+
if err != nil {
152+
return nil, err
153+
}
154+
return metrics.NewStatsdMonitor(client, cfg.StatsdPrefix), nil
155+
}

main.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,12 @@ const (
2020

2121
func main() {
2222
// Execute the root command
23-
root := cmd.New()
23+
root, err := cmd.New()
24+
if err != nil {
25+
fmt.Printf("ERROR: %s\n", err.Error())
26+
os.Exit(exitError)
27+
}
28+
2429
cmd, err := root.ExecuteC()
2530

2631
if err == nil {

test/e2e/e2e_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,10 @@ func TestMySqlToKafka(t *testing.T) {
111111
if err != nil {
112112
t.Error(err)
113113
}
114-
command := cmd.New(utils.Logger, nil, cfg)
114+
command, err := cmd.New(utils.Logger, nil, cfg)
115+
if err != nil {
116+
t.Fatal(err)
117+
}
115118
command.SetArgs([]string{"run", "mysql_kafka.yml"})
116119
if err := command.Execute(); err != nil {
117120
if strings.HasPrefix(err.Error(), "unknown command ") {

0 commit comments

Comments
 (0)