Skip to content

Commit 10ec95b

Browse files
authored
Merge pull request wavefrontHQ#96 from keep94/30425
In new Go API, name internal metrics based on sender mode.
2 parents 05ff4a0 + a9f7b5a commit 10ec95b

File tree

3 files changed

+32
-6
lines changed

3 files changed

+32
-6
lines changed

senders/client_factory.go

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ package senders
22

33
import (
44
"fmt"
5-
"github.com/wavefronthq/wavefront-sdk-go/internal"
65
"net/url"
76
"os"
87
"strconv"
98
"strings"
9+
10+
"github.com/wavefronthq/wavefront-sdk-go/internal"
1011
)
1112

1213
const (
@@ -44,6 +45,18 @@ type configuration struct {
4445
SDKMetricsTags map[string]string
4546
}
4647

48+
func (c *configuration) Direct() bool {
49+
return c.Token != ""
50+
}
51+
52+
func (c *configuration) MetricPrefix() string {
53+
result := "~sdk.go.core.sender.proxy"
54+
if c.Direct() {
55+
result = "~sdk.go.core.sender.direct"
56+
}
57+
return result
58+
}
59+
4760
func (c *configuration) setDefaultPort(port int) {
4861
c.MetricsPort = port
4962
c.TracesPort = port
@@ -80,11 +93,11 @@ func CreateConfig(wfURL string, setters ...Option) (*configuration, error) {
8093

8194
switch strings.ToLower(u.Scheme) {
8295
case "http":
83-
if cfg.Token != "" {
96+
if cfg.Direct() {
8497
cfg.setDefaultPort(80)
8598
}
8699
case "https":
87-
if cfg.Token != "" {
100+
if cfg.Direct() {
88101
cfg.setDefaultPort(443)
89102
}
90103
default:
@@ -114,7 +127,7 @@ func newWavefrontClient(cfg *configuration) (Sender, error) {
114127

115128
sender := &wavefrontSender{
116129
defaultSource: internal.GetHostname("wavefront_direct_sender"),
117-
proxy: len(cfg.Token) == 0,
130+
proxy: !cfg.Direct(),
118131
}
119132
sender.initializeInternalMetrics(cfg)
120133
sender.pointHandler = newLineHandler(metricsReporter, cfg, internal.MetricFormat, "points", sender.internalRegistry)
@@ -130,7 +143,7 @@ func newWavefrontClient(cfg *configuration) (Sender, error) {
130143
func (sender *wavefrontSender) initializeInternalMetrics(cfg *configuration) {
131144

132145
var setters []internal.RegistryOption
133-
setters = append(setters, internal.SetPrefix("~sdk.go.core.sender.direct"))
146+
setters = append(setters, internal.SetPrefix(cfg.MetricPrefix()))
134147
setters = append(setters, internal.SetTag("pid", strconv.Itoa(os.Getpid())))
135148

136149
for key, value := range cfg.SDKMetricsTags {

senders/client_factory_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,19 @@ func TestDefaultPortsProxy(t *testing.T) {
3131
assert.Equal(t, 30001, cfg.TracesPort)
3232
}
3333

34+
func TestMetricPrefixProxy(t *testing.T) {
35+
cfg, err := senders.CreateConfig("http://localhost")
36+
require.NoError(t, err)
37+
assert.False(t, cfg.Direct())
38+
assert.Equal(t, "~sdk.go.core.sender.proxy", cfg.MetricPrefix())
39+
}
40+
41+
func TestMetricPrefixDirect(t *testing.T) {
42+
cfg, err := senders.CreateConfig("http://11111111-2222-3333-4444-555555555555@localhost")
43+
require.NoError(t, err)
44+
assert.True(t, cfg.Direct())
45+
assert.Equal(t, "~sdk.go.core.sender.direct", cfg.MetricPrefix())
46+
}
3447
func TestDefaultPortsDIHttp(t *testing.T) {
3548
cfg, err := senders.CreateConfig("http://11111111-2222-3333-4444-555555555555@localhost")
3649
require.NoError(t, err)

version/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
package version
22

3-
const Version = "0.9.10"
3+
const Version = "0.10.2"

0 commit comments

Comments
 (0)