diff --git a/senders/client_noop.go b/senders/client_noop.go deleted file mode 100644 index 60d2cc9..0000000 --- a/senders/client_noop.go +++ /dev/null @@ -1,59 +0,0 @@ -package senders - -import ( - "github.com/wavefronthq/wavefront-sdk-go/event" - "github.com/wavefronthq/wavefront-sdk-go/histogram" -) - -type wavefrontNoOpSender struct { -} - -var ( - defaultNoopClient Sender = &wavefrontNoOpSender{} -) - -// NewWavefrontNoOpClient returns a Wavefront Client instance for which all operations are no-ops. -func NewWavefrontNoOpClient() (Sender, error) { - return defaultNoopClient, nil -} - -func (sender *wavefrontNoOpSender) private() { -} - -func (sender *wavefrontNoOpSender) Start() { - // no-op -} - -func (sender *wavefrontNoOpSender) SendMetric(name string, value float64, ts int64, source string, tags map[string]string) error { - return nil -} - -func (sender *wavefrontNoOpSender) SendDeltaCounter(name string, value float64, source string, tags map[string]string) error { - return nil -} - -func (sender *wavefrontNoOpSender) SendDistribution(name string, centroids []histogram.Centroid, - hgs map[histogram.Granularity]bool, ts int64, source string, tags map[string]string) error { - return nil -} - -func (sender *wavefrontNoOpSender) SendSpan(name string, startMillis, durationMillis int64, source, traceId, spanId string, - parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog) error { - return nil -} - -func (sender *wavefrontNoOpSender) SendEvent(name string, startMillis, endMillis int64, source string, tags map[string]string, setters ...event.Option) error { - return nil -} - -func (sender *wavefrontNoOpSender) Close() { - // no-op -} - -func (sender *wavefrontNoOpSender) Flush() error { - return nil -} - -func (sender *wavefrontNoOpSender) GetFailureCount() int64 { - return 0 -} diff --git a/senders/integration_test.go b/senders/integration_test.go index 5a79bbd..bf4a81c 100644 --- a/senders/integration_test.go +++ b/senders/integration_test.go @@ -54,7 +54,7 @@ func TestEndToEndWithInternalMetrics(t *testing.T) { sender, err := NewSender(testServer.URL, SendInternalMetrics(true)) require.NoError(t, err) require.NoError(t, sender.SendMetric("my metric", 20, 0, "localhost", nil)) - sender.(*wavefrontSender).internalRegistry.Flush() + sender.(*realSender).internalRegistry.Flush() require.NoError(t, sender.Flush()) metricLines := testServer.MetricLines @@ -71,7 +71,7 @@ func TestEndToEndWithoutInternalMetrics(t *testing.T) { sender, err := NewSender(testServer.URL, SendInternalMetrics(false)) require.NoError(t, err) require.NoError(t, sender.SendMetric("my metric", 20, 0, "localhost", nil)) - sender.(*wavefrontSender).internalRegistry.Flush() + sender.(*realSender).internalRegistry.Flush() require.NoError(t, sender.Flush()) metricLines := testServer.MetricLines diff --git a/senders/client_multi.go b/senders/multi_sender.go similarity index 100% rename from senders/client_multi.go rename to senders/multi_sender.go diff --git a/senders/client_factory.go b/senders/new_sender.go similarity index 98% rename from senders/client_factory.go rename to senders/new_sender.go index 352e80c..67bcbb4 100644 --- a/senders/client_factory.go +++ b/senders/new_sender.go @@ -94,7 +94,7 @@ func NewSender(wfURL string, setters ...Option) (Sender, error) { metricsReporter := internal.NewReporter(cfg.metricsURL(), tokenService, client) tracesReporter := internal.NewReporter(cfg.tracesURL(), tokenService, client) - sender := &wavefrontSender{ + sender := &realSender{ defaultSource: internal.GetHostname("wavefront_direct_sender"), proxy: !cfg.Direct(), } @@ -201,7 +201,7 @@ func (c *configuration) metricsURL() string { return fmt.Sprintf("%s:%d%s", c.Server, c.MetricsPort, c.Path) } -func (sender *wavefrontSender) realInternalRegistry(cfg *configuration) sdkmetrics.Registry { +func (sender *realSender) realInternalRegistry(cfg *configuration) sdkmetrics.Registry { var setters []sdkmetrics.RegistryOption setters = append(setters, sdkmetrics.SetPrefix(cfg.MetricPrefix())) @@ -216,7 +216,6 @@ func (sender *wavefrontSender) realInternalRegistry(cfg *configuration) sdkmetri sender, setters..., ) - } func copyTags(orig map[string]string) map[string]string { diff --git a/senders/client_factory_test.go b/senders/new_sender_test.go similarity index 100% rename from senders/client_factory_test.go rename to senders/new_sender_test.go diff --git a/senders/noop.go b/senders/noop.go new file mode 100644 index 0000000..402db98 --- /dev/null +++ b/senders/noop.go @@ -0,0 +1,59 @@ +package senders + +import ( + "github.com/wavefronthq/wavefront-sdk-go/event" + "github.com/wavefronthq/wavefront-sdk-go/histogram" +) + +type noOpSender struct { +} + +var ( + defaultNoopClient Sender = &noOpSender{} +) + +// NewWavefrontNoOpClient returns a Wavefront Client instance for which all operations are no-ops. +func NewWavefrontNoOpClient() (Sender, error) { + return defaultNoopClient, nil +} + +func (sender *noOpSender) private() { +} + +func (sender *noOpSender) Start() { + // no-op +} + +func (sender *noOpSender) SendMetric(name string, value float64, ts int64, source string, tags map[string]string) error { + return nil +} + +func (sender *noOpSender) SendDeltaCounter(name string, value float64, source string, tags 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 { + return nil +} + +func (sender *noOpSender) SendSpan(name string, startMillis, durationMillis int64, source, traceId, spanId string, + parents, followsFrom []string, tags []SpanTag, spanLogs []SpanLog) error { + return nil +} + +func (sender *noOpSender) SendEvent(name string, startMillis, endMillis int64, source string, tags map[string]string, setters ...event.Option) error { + return nil +} + +func (sender *noOpSender) Close() { + // no-op +} + +func (sender *noOpSender) Flush() error { + return nil +} + +func (sender *noOpSender) GetFailureCount() int64 { + return 0 +} diff --git a/senders/client_noop_test.go b/senders/noop_test.go similarity index 100% rename from senders/client_noop_test.go rename to senders/noop_test.go diff --git a/senders/client.go b/senders/real_sender.go similarity index 89% rename from senders/client.go rename to senders/real_sender.go index 63bdbf7..eea3517 100644 --- a/senders/client.go +++ b/senders/real_sender.go @@ -23,7 +23,7 @@ type Sender interface { private() } -type wavefrontSender struct { +type realSender struct { reporter internal.Reporter defaultSource string pointHandler internal.LineHandler @@ -46,7 +46,7 @@ func newLineHandler(reporter internal.Reporter, cfg *configuration, format, pref return internal.NewLineHandler(reporter, format, cfg.FlushInterval, batchSize, cfg.MaxBufferSize, opts...) } -func (sender *wavefrontSender) Start() { +func (sender *realSender) Start() { sender.pointHandler.Start() sender.histoHandler.Start() sender.spanHandler.Start() @@ -55,10 +55,10 @@ func (sender *wavefrontSender) Start() { sender.eventHandler.Start() } -func (sender *wavefrontSender) private() { +func (sender *realSender) private() { } -func (sender *wavefrontSender) SendMetric(name string, value float64, ts int64, source string, tags map[string]string) error { +func (sender *realSender) SendMetric(name string, value float64, ts int64, source string, tags map[string]string) error { line, err := metric.Line(name, value, ts, source, tags, sender.defaultSource) return trySendWith( line, @@ -68,7 +68,7 @@ func (sender *wavefrontSender) SendMetric(name string, value float64, ts int64, ) } -func (sender *wavefrontSender) SendDeltaCounter(name string, value float64, source string, tags map[string]string) error { +func (sender *realSender) SendDeltaCounter(name string, value float64, source string, tags map[string]string) error { if name == "" { sender.internalRegistry.PointsTracker().IncInvalid() return fmt.Errorf("empty metric name") @@ -82,7 +82,7 @@ func (sender *wavefrontSender) SendDeltaCounter(name string, value float64, sour return nil } -func (sender *wavefrontSender) SendDistribution( +func (sender *realSender) SendDistribution( name string, centroids []histogram.Centroid, hgs map[histogram.Granularity]bool, @@ -113,7 +113,7 @@ func trySendWith(line string, err error, handler internal.LineHandler, tracker s return err } -func (sender *wavefrontSender) SendSpan( +func (sender *realSender) SendSpan( name string, startMillis, durationMillis int64, source, traceId, spanId string, @@ -172,7 +172,7 @@ func makeSpanLogs(logs []SpanLog) []span.Log { return spanLogs } -func (sender *wavefrontSender) SendEvent( +func (sender *realSender) SendEvent( name string, startMillis, endMillis int64, source string, @@ -195,7 +195,7 @@ func (sender *wavefrontSender) SendEvent( ) } -func (sender *wavefrontSender) Close() { +func (sender *realSender) Close() { sender.pointHandler.Stop() sender.histoHandler.Stop() sender.spanHandler.Stop() @@ -204,7 +204,7 @@ func (sender *wavefrontSender) Close() { sender.eventHandler.Stop() } -func (sender *wavefrontSender) Flush() error { +func (sender *realSender) Flush() error { errStr := "" err := sender.pointHandler.Flush() if err != nil { @@ -232,7 +232,7 @@ func (sender *wavefrontSender) Flush() error { return nil } -func (sender *wavefrontSender) GetFailureCount() int64 { +func (sender *realSender) GetFailureCount() int64 { return sender.pointHandler.GetFailureCount() + sender.histoHandler.GetFailureCount() + sender.spanHandler.GetFailureCount() + diff --git a/senders/client_test.go b/senders/real_sender_test.go similarity index 100% rename from senders/client_test.go rename to senders/real_sender_test.go diff --git a/senders/wavefront_sender_test.go b/senders/wavefront_sender_test.go index 477bb61..f266fba 100644 --- a/senders/wavefront_sender_test.go +++ b/senders/wavefront_sender_test.go @@ -15,7 +15,7 @@ func TestWavefrontSender_SendMetric(t *testing.T) { spanHandler := &mockHandler{} spanLogHandler := &mockHandler{} eventHandler := &mockHandler{} - sender := wavefrontSender{ + sender := realSender{ reporter: nil, defaultSource: "test", pointHandler: pointHandler, @@ -50,7 +50,7 @@ func TestWavefrontSender_SendDeltaCounter(t *testing.T) { spanHandler := &mockHandler{} spanLogHandler := &mockHandler{} eventHandler := &mockHandler{} - sender := wavefrontSender{ + sender := realSender{ reporter: nil, defaultSource: "test", pointHandler: pointHandler, @@ -90,7 +90,7 @@ func TestWavefrontSender_SendDistribution(t *testing.T) { spanHandler := &mockHandler{} spanLogHandler := &mockHandler{} eventHandler := &mockHandler{} - sender := wavefrontSender{ + sender := realSender{ reporter: nil, defaultSource: "test", pointHandler: pointHandler, @@ -135,7 +135,7 @@ func TestWavefrontSender_SendSpan(t *testing.T) { spanHandler := &mockHandler{} spanLogHandler := &mockHandler{} eventHandler := &mockHandler{} - sender := wavefrontSender{ + sender := realSender{ reporter: nil, defaultSource: "test", pointHandler: pointHandler, @@ -202,7 +202,7 @@ func TestWavefrontSender_SendSpan_SpanLogs(t *testing.T) { spanHandler := &mockHandler{} spanLogHandler := &mockHandler{} eventHandler := &mockHandler{} - sender := wavefrontSender{ + sender := realSender{ reporter: nil, defaultSource: "test", pointHandler: pointHandler, @@ -268,7 +268,7 @@ func TestWavefrontSender_SendEventWithProxyFalse(t *testing.T) { spanHandler := &mockHandler{} spanLogHandler := &mockHandler{} eventHandler := &mockHandler{} - sender := wavefrontSender{ + sender := realSender{ reporter: nil, defaultSource: "test", pointHandler: pointHandler, @@ -299,7 +299,7 @@ func TestWavefrontSender_SendEventWithProxyTrue(t *testing.T) { spanHandler := &mockHandler{} spanLogHandler := &mockHandler{} eventHandler := &mockHandler{} - sender := wavefrontSender{ + sender := realSender{ reporter: nil, defaultSource: "test", pointHandler: pointHandler,