From 4b8e4908fe55a2c377f8c43cab7d4703bd17a136 Mon Sep 17 00:00:00 2001 From: Luke Winikates Date: Thu, 21 Sep 2023 14:05:25 -0700 Subject: [PATCH] chore: enable revive linter and resolve linter warnings --- .golangci.yaml | 5 +++-- internal/auth/csp/types.go | 2 +- internal/auth/csp_service.go | 12 ++++++------ internal/histogram/formatter.go | 4 ++-- internal/histogram/formatter_test.go | 14 +++++++------- internal/sanitize.go | 2 +- internal/sdkmetrics/registry_test.go | 4 ++-- internal/span/formatter.go | 24 ++++++++++++------------ internal/span/formatter_test.go | 4 ++-- senders/configuration.go | 2 +- senders/multi_sender.go | 4 ++-- senders/noop.go | 12 +++++------- senders/option.go | 8 ++++---- senders/real_sender.go | 14 +++++++------- senders/real_sender_test.go | 12 ++++++------ senders/types.go | 4 ++-- senders/wavefront_sender_test.go | 28 ++++++++++++++-------------- 17 files changed, 77 insertions(+), 78 deletions(-) diff --git a/.golangci.yaml b/.golangci.yaml index 42d0c27..be56594 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -6,11 +6,12 @@ linters: - govet - gofmt - gci -# - revive + - revive - ineffassign -# - staticcheck + - staticcheck issues: exclude-rules: - path: example.*_test\.go linters: - ineffassign + - revive diff --git a/internal/auth/csp/types.go b/internal/auth/csp/types.go index 9db22b5..d5e1afe 100644 --- a/internal/auth/csp/types.go +++ b/internal/auth/csp/types.go @@ -5,7 +5,7 @@ type Client interface { } type AuthorizeResponse struct { - IdToken string `json:"id_token"` + IDToken string `json:"id_token"` TokenType string `json:"token_type"` ExpiresIn int64 `json:"expires_in"` Scope string `json:"scope"` diff --git a/internal/auth/csp_service.go b/internal/auth/csp_service.go index 7b4133e..8046a98 100644 --- a/internal/auth/csp_service.go +++ b/internal/auth/csp_service.go @@ -25,22 +25,22 @@ type CSPService struct { // NewCSPServerToServerService returns a Service instance that gets access tokens via CSP client credentials func NewCSPServerToServerService( - CSPBaseUrl string, - ClientId string, + CSPBaseURL string, + ClientID string, ClientSecret string, OrgID *string, ) Service { return newService(&csp.ClientCredentialsClient{ - BaseURL: CSPBaseUrl, - ClientID: ClientId, + BaseURL: CSPBaseURL, + ClientID: ClientID, ClientSecret: ClientSecret, OrgID: OrgID, }) } -func NewCSPTokenService(CSPBaseUrl, apiToken string) Service { +func NewCSPTokenService(CSPBaseURL, apiToken string) Service { return newService(&csp.APITokenClient{ - BaseURL: CSPBaseUrl, + BaseURL: CSPBaseURL, APIToken: apiToken, }) } diff --git a/internal/histogram/formatter.go b/internal/histogram/formatter.go index c1802ef..4154bbc 100644 --- a/internal/histogram/formatter.go +++ b/internal/histogram/formatter.go @@ -10,10 +10,10 @@ import ( "github.com/wavefronthq/wavefront-sdk-go/internal" ) -// Gets a histogram line in the Wavefront histogram data format: +// Line returns a histogram line in the Wavefront histogram data format: // {!M | !H | !D} [] # [centroids] source= [pointTags] // Example: "!M 1533531013 #20 30.0 #10 5.1 request.latency source=appServer1 region=us-west" -func HistogramLine(name string, centroids histogram.Centroids, hgs map[histogram.Granularity]bool, ts int64, source string, tags map[string]string, defaultSource string) (string, error) { +func Line(name string, centroids histogram.Centroids, hgs map[histogram.Granularity]bool, ts int64, source string, tags map[string]string, defaultSource string) (string, error) { if name == "" { return "", errors.New("empty distribution name") } diff --git a/internal/histogram/formatter_test.go b/internal/histogram/formatter_test.go index 3194f1a..203770d 100644 --- a/internal/histogram/formatter_test.go +++ b/internal/histogram/formatter_test.go @@ -20,7 +20,7 @@ func BenchmarkHistogramLine(b *testing.B) { var r string for n := 0; n < b.N; n++ { - r, _ = HistogramLine(name, centroids, hgs, ts, src, tags, "") + r, _ = Line(name, centroids, hgs, ts, src, tags, "") } benchmarkLine = r } @@ -34,7 +34,7 @@ func TestHistogramLineCentroidsFormat(t *testing.T) { {Value: 30.0, Count: 20}, } - line, err := HistogramLine("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true}, + line, err := Line("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true}, 1533529977, "test_source", map[string]string{"env": "test"}, "") assert.Nil(t, err) @@ -57,31 +57,31 @@ func TestHistogramLineCentroidsFormat(t *testing.T) { func TestHistogramLine(t *testing.T) { centroids := makeCentroids() - line, err := HistogramLine("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true}, + line, err := Line("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true}, 1533529977, "test_source", map[string]string{"env": "test"}, "") expected := "!M 1533529977 #20 30 \"request.latency\" source=\"test_source\" \"env\"=\"test\"\n" assert.NoError(t, err) assert.Equal(t, expected, line) - line, err = HistogramLine("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true, histogram.HOUR: false}, + line, err = Line("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true, histogram.HOUR: false}, 1533529977, "", map[string]string{"env": "test"}, "default") expected = "!M 1533529977 #20 30 \"request.latency\" source=\"default\" \"env\"=\"test\"\n" assert.NoError(t, err) assert.Equal(t, expected, line) - line, err = HistogramLine("request.latency", centroids, map[histogram.Granularity]bool{histogram.HOUR: true, histogram.MINUTE: false}, + line, err = Line("request.latency", centroids, map[histogram.Granularity]bool{histogram.HOUR: true, histogram.MINUTE: false}, 1533529977, "", map[string]string{"env": "test"}, "default") expected = "!H 1533529977 #20 30 \"request.latency\" source=\"default\" \"env\"=\"test\"\n" assert.NoError(t, err) assert.Equal(t, expected, line) - line, err = HistogramLine("request.latency", centroids, map[histogram.Granularity]bool{histogram.DAY: true}, + line, err = Line("request.latency", centroids, map[histogram.Granularity]bool{histogram.DAY: true}, 1533529977, "", map[string]string{"env": "test"}, "default") expected = "!D 1533529977 #20 30 \"request.latency\" source=\"default\" \"env\"=\"test\"\n" assert.NoError(t, err) assert.Equal(t, expected, line) - line, err = HistogramLine("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true, histogram.HOUR: true, histogram.DAY: false}, + line, err = Line("request.latency", centroids, map[histogram.Granularity]bool{histogram.MINUTE: true, histogram.HOUR: true, histogram.DAY: false}, 1533529977, "test_source", map[string]string{"env": "test"}, "") assert.NoError(t, err) diff --git a/internal/sanitize.go b/internal/sanitize.go index 020b2b1..9da0442 100644 --- a/internal/sanitize.go +++ b/internal/sanitize.go @@ -29,7 +29,7 @@ func Sanitize(str string) string { if (strings.HasPrefix(str, DeltaPrefix) || strings.HasPrefix(str, AltDeltaPrefix)) && str[skipHead] == 126 { sb.WriteString(string(str[skipHead])) - skipHead += 1 + skipHead++ } if str[0] == 126 { sb.WriteString(string(str[0])) diff --git a/internal/sdkmetrics/registry_test.go b/internal/sdkmetrics/registry_test.go index 4b94e7b..8befb5b 100644 --- a/internal/sdkmetrics/registry_test.go +++ b/internal/sdkmetrics/registry_test.go @@ -13,11 +13,11 @@ type fakeSender struct { tags []string } -func (f *fakeSender) SendDeltaCounter(name string, value float64, source string, tags map[string]string) error { +func (f *fakeSender) SendDeltaCounter(string, float64, string, map[string]string) error { return nil } -func (f *fakeSender) SendMetric(name string, value float64, ts int64, source string, tags map[string]string) error { +func (f *fakeSender) SendMetric(name string, _ float64, _ int64, _ string, tags map[string]string) error { f.count = f.count + 1 if f.prefix != "" && !strings.HasPrefix(name, f.prefix) { f.errors = f.errors + 1 diff --git a/internal/span/formatter.go b/internal/span/formatter.go index ffd93d9..2e45816 100644 --- a/internal/span/formatter.go +++ b/internal/span/formatter.go @@ -15,7 +15,7 @@ import ( // "getAllUsers source=localhost traceId=7b3bf470-9456-11e8-9eb6-529269fb1459 spanId=0313bafe-9457-11e8-9eb6-529269fb1459 // // parent=2f64e538-9457-11e8-9eb6-529269fb1459 application=Wavefront http.method=GET 1533531013 343500" -func Line(name string, startMillis, durationMillis int64, source, traceId, spanId string, parents, followsFrom []string, tags []Tag, spanLogs []Log, defaultSource string) (string, error) { +func Line(name string, startMillis, durationMillis int64, source, traceID, spanID string, parents, followsFrom []string, tags []Tag, spanLogs []Log, defaultSource string) (string, error) { if name == "" { return "", errors.New("span name cannot be empty") } @@ -24,11 +24,11 @@ func Line(name string, startMillis, durationMillis int64, source, traceId, spanI source = defaultSource } - if !isUUIDFormat(traceId) { - return "", fmt.Errorf("traceId is not in UUID format: span=%s traceId=%s", name, traceId) + if !isUUIDFormat(traceID) { + return "", fmt.Errorf("traceId is not in UUID format: span=%s traceId=%s", name, traceID) } - if !isUUIDFormat(spanId) { - return "", fmt.Errorf("spanId is not in UUID format: span=%s spanId=%s", name, spanId) + if !isUUIDFormat(spanID) { + return "", fmt.Errorf("spanId is not in UUID format: span=%s spanId=%s", name, spanID) } sb := internal.GetBuffer() @@ -38,9 +38,9 @@ func Line(name string, startMillis, durationMillis int64, source, traceId, spanI sb.WriteString(" source=") sb.WriteString(internal.SanitizeValue(source)) sb.WriteString(" traceId=") - sb.WriteString(traceId) + sb.WriteString(traceID) sb.WriteString(" spanId=") - sb.WriteString(spanId) + sb.WriteString(spanID) for _, parent := range parents { sb.WriteString(" parent=") @@ -80,10 +80,10 @@ func Line(name string, startMillis, durationMillis int64, source, traceId, spanI return sb.String(), nil } -func LogJSON(traceId, spanId string, spanLogs []Log, span string) (string, error) { +func LogJSON(traceID, spanID string, spanLogs []Log, span string) (string, error) { l := Logs{ - TraceId: traceId, - SpanId: spanId, + TraceID: traceID, + SpanID: spanID, Logs: spanLogs, Span: span, } @@ -123,8 +123,8 @@ type Log struct { } type Logs struct { - TraceId string `json:"traceId"` - SpanId string `json:"spanId"` + TraceID string `json:"traceId"` + SpanID string `json:"spanId"` Logs []Log `json:"logs"` Span string `json:"span"` } diff --git a/internal/span/formatter_test.go b/internal/span/formatter_test.go index e5f5154..2bd5adc 100644 --- a/internal/span/formatter_test.go +++ b/internal/span/formatter_test.go @@ -14,11 +14,11 @@ func BenchmarkSpanLine(b *testing.B) { start := int64(1533531013) dur := int64(343500) src := "test_source" - traceId := "7b3bf470-9456-11e8-9eb6-529269fb1459" + traceID := "7b3bf470-9456-11e8-9eb6-529269fb1459" var r string for n := 0; n < b.N; n++ { - r, _ = Line(name, start, dur, src, traceId, traceId, []string{traceId}, nil, nil, nil, "") + r, _ = Line(name, start, dur, src, traceID, traceID, []string{traceID}, nil, nil, nil, "") } line = r } diff --git a/senders/configuration.go b/senders/configuration.go index 2c00ed3..92f6a89 100644 --- a/senders/configuration.go +++ b/senders/configuration.go @@ -13,7 +13,7 @@ import ( ) const ( - defaultCSPBaseUrl = "https://console.cloud.vmware.com/" + defaultCSPBaseURL = "https://console.cloud.vmware.com/" defaultTracesPort = 30001 defaultMetricsPort = 2878 defaultBatchSize = 10_000 diff --git a/senders/multi_sender.go b/senders/multi_sender.go index 0a3bfcb..789322b 100644 --- a/senders/multi_sender.go +++ b/senders/multi_sender.go @@ -90,10 +90,10 @@ func (ms *multiSender) SendDistribution(name string, centroids []histogram.Centr return errors.get() } -func (ms *multiSender) SendSpan(name string, startMillis, durationMillis int64, source, traceId, spanId string, parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog) error { +func (ms *multiSender) SendSpan(name string, startMillis, durationMillis int64, source, traceID, spanID string, parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog) error { var errors multiError for _, sender := range ms.senders { - err := sender.SendSpan(name, startMillis, durationMillis, source, traceId, spanId, parents, followsFrom, tags, spanLogs) + err := sender.SendSpan(name, startMillis, durationMillis, source, traceID, spanID, parents, followsFrom, tags, spanLogs) if err != nil { errors.add(err) } diff --git a/senders/noop.go b/senders/noop.go index 402db98..4e69384 100644 --- a/senders/noop.go +++ b/senders/noop.go @@ -24,25 +24,23 @@ func (sender *noOpSender) Start() { // no-op } -func (sender *noOpSender) SendMetric(name string, value float64, ts int64, source string, tags map[string]string) error { +func (sender *noOpSender) SendMetric(string, float64, int64, string, map[string]string) error { return nil } -func (sender *noOpSender) SendDeltaCounter(name string, value float64, source string, tags map[string]string) error { +func (sender *noOpSender) SendDeltaCounter(string, float64, string, map[string]string) error { return nil } -func (sender *noOpSender) SendDistribution(name string, centroids []histogram.Centroid, - hgs map[histogram.Granularity]bool, ts int64, source string, tags map[string]string) error { +func (sender *noOpSender) SendDistribution(string, []histogram.Centroid, map[histogram.Granularity]bool, int64, string, map[string]string) error { return nil } -func (sender *noOpSender) SendSpan(name string, startMillis, durationMillis int64, source, traceId, spanId string, - parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog) error { +func (sender *noOpSender) SendSpan(string, int64, int64, string, string, string, []string, []string, []SpanTag, []SpanLog) error { return nil } -func (sender *noOpSender) SendEvent(name string, startMillis, endMillis int64, source string, tags map[string]string, setters ...event.Option) error { +func (sender *noOpSender) SendEvent(string, int64, int64, string, map[string]string, ...event.Option) error { return nil } diff --git a/senders/option.go b/senders/option.go index b8bfe27..009dfca 100644 --- a/senders/option.go +++ b/senders/option.go @@ -49,7 +49,7 @@ func CSPAPIToken(cspAPIToken string, options ...CSPOption) Option { return func(c *configuration) { cspTokenAuth := auth.CSPAPIToken{ Token: cspAPIToken, - BaseURL: defaultCSPBaseUrl, + BaseURL: defaultCSPBaseURL, } for _, option := range options { option(&cspTokenAuth) @@ -59,12 +59,12 @@ func CSPAPIToken(cspAPIToken string, options ...CSPOption) Option { } // CSPClientCredentials configures the sender to use a CSP Client Credentials for authentication -func CSPClientCredentials(clientId string, clientSecret string, options ...CSPOption) Option { +func CSPClientCredentials(clientID string, clientSecret string, options ...CSPOption) Option { return func(c *configuration) { clientCredentials := &auth.CSPClientCredentials{ - ClientID: clientId, + ClientID: clientID, ClientSecret: clientSecret, - BaseURL: defaultCSPBaseUrl, + BaseURL: defaultCSPBaseURL, } for _, option := range options { option(clientCredentials) diff --git a/senders/real_sender.go b/senders/real_sender.go index 49cc55c..4418cfa 100644 --- a/senders/real_sender.go +++ b/senders/real_sender.go @@ -94,7 +94,7 @@ func (sender *realSender) SendDistribution( source string, tags map[string]string, ) error { - line, err := histogramInternal.HistogramLine(name, centroids, hgs, ts, source, tags, sender.defaultSource) + line, err := histogramInternal.Line(name, centroids, hgs, ts, source, tags, sender.defaultSource) return trySendWith( line, err, @@ -107,9 +107,9 @@ func trySendWith(line string, err error, handler internal.LineHandler, tracker s if err != nil { tracker.IncInvalid() return err - } else { - tracker.IncValid() } + + tracker.IncValid() err = handler.HandleLine(line) if err != nil { tracker.IncDropped() @@ -120,7 +120,7 @@ func trySendWith(line string, err error, handler internal.LineHandler, tracker s func (sender *realSender) SendSpan( name string, startMillis, durationMillis int64, - source, traceId, spanId string, + source, traceID, spanID string, parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog, @@ -132,8 +132,8 @@ func (sender *realSender) SendSpan( startMillis, durationMillis, source, - traceId, - spanId, + traceID, + spanID, parents, followsFrom, makeSpanTags(tags), @@ -150,7 +150,7 @@ func (sender *realSender) SendSpan( } if len(spanLogs) > 0 { - logJSON, logJSONErr := span.LogJSON(traceId, spanId, logs, line) + logJSON, logJSONErr := span.LogJSON(traceID, spanID, logs, line) return trySendWith( logJSON, logJSONErr, diff --git a/senders/real_sender_test.go b/senders/real_sender_test.go index 12de49e..13a1f95 100644 --- a/senders/real_sender_test.go +++ b/senders/real_sender_test.go @@ -15,10 +15,10 @@ func TestSendDirect(t *testing.T) { token := "direct-send-api-token" directServer := startTestServer(false) defer directServer.Close() - updatedUrl, err := url.Parse(directServer.URL) + updatedURL, err := url.Parse(directServer.URL) assert.NoError(t, err) - updatedUrl.User = url.User(token) - wf, err := NewSender(updatedUrl.String()) + updatedURL.User = url.User(token) + wf, err := NewSender(updatedURL.String()) require.NoError(t, err) testSender(t, wf, directServer) @@ -36,11 +36,11 @@ func TestSendDirectWithTags(t *testing.T) { directServer := startTestServer(false) defer directServer.Close() - updatedUrl, err := url.Parse(directServer.URL) + updatedURL, err := url.Parse(directServer.URL) assert.NoError(t, err) - updatedUrl.User = url.User(token) + updatedURL.User = url.User(token) tags := map[string]string{"foo": "bar"} - wf, err := NewSender(updatedUrl.String(), SDKMetricsTags(tags)) + wf, err := NewSender(updatedURL.String(), SDKMetricsTags(tags)) require.NoError(t, err) testSender(t, wf, directServer) diff --git a/senders/types.go b/senders/types.go index 6a2533d..229c383 100644 --- a/senders/types.go +++ b/senders/types.go @@ -28,11 +28,11 @@ type DistributionSender interface { // SpanSender Interface for sending tracing spans to Wavefront type SpanSender interface { // SendSpan sends a tracing span to Wavefront. - // traceId, spanId, parentIds and preceding spanIds are expected to be UUID strings. + // traceID, spanId, parentIds and preceding spanIds are expected to be UUID strings. // parents and preceding spans can be empty for a root span. // span tag keys can be repeated (example: "user"="foo" and "user"="bar") // span logs are currently omitted - SendSpan(name string, startMillis, durationMillis int64, source, traceId, spanId string, parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog) error + SendSpan(name string, startMillis, durationMillis int64, source, traceID, spanID string, parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog) error } // EventSender Interface for sending events to Wavefront. NOT yet supported. diff --git a/senders/wavefront_sender_test.go b/senders/wavefront_sender_test.go index e636719..20482f3 100644 --- a/senders/wavefront_sender_test.go +++ b/senders/wavefront_sender_test.go @@ -148,15 +148,15 @@ func TestWavefrontSender_SendSpan(t *testing.T) { proxy: false, } - traceId := "28e09666-9610-4690-a908-5298d95551ad" - spanId := "28b0ad93-58f5-4efe-a68b-7b7a84c8ace8" + traceID := "28e09666-9610-4690-a908-5298d95551ad" + spanID := "28b0ad93-58f5-4efe-a68b-7b7a84c8ace8" assert.NoError(t, sender.SendSpan( "foo", 200, 2000, "test", - traceId, - spanId, + traceID, + spanID, []string{"pat", "marty"}, []string{"gloria"}, []SpanTag{}, @@ -170,8 +170,8 @@ func TestWavefrontSender_SendSpan(t *testing.T) { "", 200, 2000, "test", - traceId, - spanId, + traceID, + spanID, []string{"pat", "marty"}, []string{"gloria"}, []SpanTag{}, @@ -185,8 +185,8 @@ func TestWavefrontSender_SendSpan(t *testing.T) { "foo", 2000, 400, "test", - traceId, - spanId, + traceID, + spanID, []string{"pat", "marty"}, []string{"gloria"}, []SpanTag{}, @@ -215,15 +215,15 @@ func TestWavefrontSender_SendSpan_SpanLogs(t *testing.T) { proxy: false, } - traceId := "28e09666-9610-4690-a908-5298d95551ad" - spanId := "28b0ad93-58f5-4efe-a68b-7b7a84c8ace8" + traceID := "28e09666-9610-4690-a908-5298d95551ad" + spanID := "28b0ad93-58f5-4efe-a68b-7b7a84c8ace8" assert.NoError(t, sender.SendSpan( "foo", 200, 2000, "test", - traceId, - spanId, + traceID, + spanID, []string{"pat", "marty"}, []string{"gloria"}, []SpanTag{}, @@ -245,8 +245,8 @@ func TestWavefrontSender_SendSpan_SpanLogs(t *testing.T) { "foo", 2000, 400, "test", - traceId, - spanId, + traceID, + spanID, []string{"pat", "marty"}, []string{"gloria"}, []SpanTag{},