Skip to content

Commit

Permalink
feat: include oss version in telemetry data (#3241)
Browse files Browse the repository at this point in the history
  • Loading branch information
mathnogueira committed Oct 11, 2023
1 parent 6c6cec5 commit dcedf80
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 28 deletions.
4 changes: 2 additions & 2 deletions .goreleaser.demo.yaml
Expand Up @@ -25,8 +25,8 @@ builds:
binary: tracetest-server
main: ./server/main.go
ldflags:
- -X github.com/kubeshop/tracetest/server/app.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/app.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/version.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/version.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/analytics.SecretKey={{ .Env.ANALYTICS_BE_KEY }}
- -X github.com/kubeshop/tracetest/server/analytics.FrontendKey={{ .Env.ANALYTICS_FE_KEY }}
env:
Expand Down
4 changes: 2 additions & 2 deletions .goreleaser.dev.yaml
Expand Up @@ -28,8 +28,8 @@ builds:
binary: tracetest-server
main: ./server/main.go
ldflags:
- -X github.com/kubeshop/tracetest/server/app.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/app.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/version.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/version.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/analytics.SecretKey={{ .Env.ANALYTICS_BE_KEY }}
- -X github.com/kubeshop/tracetest/server/analytics.FrontendKey={{ .Env.ANALYTICS_FE_KEY }}
env:
Expand Down
4 changes: 2 additions & 2 deletions .goreleaser.rc.yaml
Expand Up @@ -27,8 +27,8 @@ builds:
binary: tracetest-server
main: ./server/main.go
ldflags:
- -X github.com/kubeshop/tracetest/server/app.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/app.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/version.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/version.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/analytics.SecretKey={{ .Env.ANALYTICS_BE_KEY }}
- -X github.com/kubeshop/tracetest/server/analytics.FrontendKey={{ .Env.ANALYTICS_FE_KEY }}
env:
Expand Down
4 changes: 2 additions & 2 deletions .goreleaser.yaml
Expand Up @@ -29,8 +29,8 @@ builds:
binary: tracetest-server
main: ./server/main.go
ldflags:
- -X github.com/kubeshop/tracetest/server/app.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/app.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/version.Version={{ .Env.VERSION }}
- -X github.com/kubeshop/tracetest/server/version.Env={{ .Env.TRACETEST_ENV }}
- -X github.com/kubeshop/tracetest/server/analytics.SecretKey={{ .Env.ANALYTICS_BE_KEY }}
- -X github.com/kubeshop/tracetest/server/analytics.FrontendKey={{ .Env.ANALYTICS_FE_KEY }}
env:
Expand Down
4 changes: 2 additions & 2 deletions server/Makefile
@@ -1,8 +1,8 @@
VERSION ?= "dev"
TRACETEST_ENV ?= "dev"
GO_LDFLAGS := $(shell echo \
-X "'github.com/kubeshop/tracetest/server/app.Version=$(VERSION)'" \
-X "'github.com/kubeshop/tracetest/server/app.Env=$(TRACETEST_ENV)'" \
-X "'github.com/kubeshop/tracetest/server/version.Version=$(VERSION)'" \
-X "'github.com/kubeshop/tracetest/server/version.Env=$(TRACETEST_ENV)'" \
-X "'github.com/kubeshop/tracetest/server/analytics.SecretKey=$(ANALYTICS_BE_KEY)'" \
-X "'github.com/kubeshop/tracetest/server/analytics.FrontendKey=$(ANALYTICS_FE_KEY)'" \
| sed 's/ / /g')
Expand Down
14 changes: 6 additions & 8 deletions server/app/app.go
Expand Up @@ -41,14 +41,12 @@ import (
"github.com/kubeshop/tracetest/server/tracedb"
"github.com/kubeshop/tracetest/server/traces"
"github.com/kubeshop/tracetest/server/variableset"
"github.com/kubeshop/tracetest/server/version"
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/trace"
)

var (
Version = "dev"
Env = "dev"

pgChannelName = "tracetest_queue"
)

Expand All @@ -71,7 +69,7 @@ func New(config *config.AppConfig) (*App, error) {
}

func (app *App) Version() string {
return fmt.Sprintf("tracetest-server %s (%s)", Version, Env)
return fmt.Sprintf("tracetest-server %s (%s)", version.Version, version.Env)
}

func (app *App) Stop() {
Expand Down Expand Up @@ -135,7 +133,7 @@ func (app *App) subscribeToConfigChanges(sm *subscription.Manager) {
}

func (app *App) initAnalytics(configFromDB config.Config) error {
return analytics.Init(configFromDB.IsAnalyticsEnabled(), app.serverID, Version, Env, app.cfg.AnalyticsServerKey(), app.cfg.AnalyticsFrontendKey())
return analytics.Init(configFromDB.IsAnalyticsEnabled(), app.serverID, version.Version, version.Env, app.cfg.AnalyticsServerKey(), app.cfg.AnalyticsFrontendKey())
}

var instanceID = id.GenerateID().String()
Expand Down Expand Up @@ -407,8 +405,8 @@ func registerSPAHandler(router *mux.Router, cfg httpServerConfig, analyticsEnabl
cfg,
analyticsEnabled,
serverID,
Version,
Env,
version.Version,
version.Env,
isTracetestDev,
),
)
Expand Down Expand Up @@ -642,7 +640,7 @@ func httpRouter(

tracedbFactory,
mappers,
Version,
version.Version,
)
apiApiController := openapi.NewApiApiController(controller)
customController := httpServer.NewCustomController(controller, apiApiController, openapi.DefaultErrorHandler, tracer)
Expand Down
2 changes: 2 additions & 0 deletions server/telemetry/resource.go
Expand Up @@ -5,6 +5,7 @@ import (
"os"

"github.com/kubeshop/tracetest/server/config"
"github.com/kubeshop/tracetest/server/version"
"go.opentelemetry.io/otel/sdk/resource"
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
)
Expand All @@ -26,6 +27,7 @@ func getResource(cfg *config.TelemetryExporterOption) (*resource.Resource, error
semconv.SchemaURL,
semconv.ServiceNameKey.String(serviceName),
semconv.HostName(hostname),
semconv.ServiceVersion(version.Version),
),
)

Expand Down
11 changes: 1 addition & 10 deletions server/telemetry/tracer.go
Expand Up @@ -9,9 +9,7 @@ import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
"go.opentelemetry.io/otel/propagation"
"go.opentelemetry.io/otel/sdk/resource"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
"go.opentelemetry.io/otel/trace"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
Expand Down Expand Up @@ -58,14 +56,7 @@ func NewTracerProvider(ctx context.Context, exporterConfig *config.TelemetryExpo
return sdktrace.NewTracerProvider(), nil
}

r, err := resource.Merge(
resource.Default(),
resource.NewWithAttributes(
semconv.SchemaURL,
semconv.ServiceNameKey.String(exporterConfig.ServiceName),
),
)

r, err := getResource(exporterConfig)
if err != nil {
return nil, fmt.Errorf("could not get provider resource: %w", err)
}
Expand Down
6 changes: 6 additions & 0 deletions server/version/version.go
@@ -0,0 +1,6 @@
package version

var (
Version = "dev"
Env = "dev"
)

0 comments on commit dcedf80

Please sign in to comment.