@@ -2,11 +2,12 @@ package senders
22
33import (
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
1213const (
@@ -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+
4760func (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) {
130143func (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 {
0 commit comments