From 4ff12c2aed913f6739de9c2a48476710bc97f695 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Tue, 15 Sep 2020 08:27:35 +0100 Subject: [PATCH] MM-28115: Add env var for telemetry installation type. (#15431) --- services/telemetry/telemetry.go | 11 +++++++---- services/telemetry/telemetry_test.go | 26 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/services/telemetry/telemetry.go b/services/telemetry/telemetry.go index e34ea28b40..0507dc76d1 100644 --- a/services/telemetry/telemetry.go +++ b/services/telemetry/telemetry.go @@ -29,6 +29,8 @@ const ( RUDDER_KEY = "placeholder_rudder_key" RUDDER_DATAPLANE_URL = "placeholder_rudder_dataplane_url" + ENV_VAR_INSTALL_TYPE = "MM_INSTALL_TYPE" + TRACK_CONFIG_SERVICE = "config_service" TRACK_CONFIG_TEAM = "config_team" TRACK_CONFIG_CLIENT_REQ = "config_client_requirements" @@ -850,10 +852,11 @@ func (ts *TelemetryService) trackPlugins() { func (ts *TelemetryService) trackServer() { data := map[string]interface{}{ - "edition": model.BuildEnterpriseReady, - "version": model.CurrentVersion, - "database_type": *ts.srv.Config().SqlSettings.DriverName, - "operating_system": runtime.GOOS, + "edition": model.BuildEnterpriseReady, + "version": model.CurrentVersion, + "database_type": *ts.srv.Config().SqlSettings.DriverName, + "operating_system": runtime.GOOS, + "installation_type": os.Getenv(ENV_VAR_INSTALL_TYPE), } if scr, err := ts.dbStore.User().AnalyticsGetSystemAdminCount(); err == nil { diff --git a/services/telemetry/telemetry_test.go b/services/telemetry/telemetry_test.go index 0b55700c6d..a3a9655b12 100644 --- a/services/telemetry/telemetry_test.go +++ b/services/telemetry/telemetry_test.go @@ -473,4 +473,30 @@ func TestRudderTelemetry(t *testing.T) { // Did not receive telemetry } }) + + t.Run("TestInstallationType", func(t *testing.T) { + os.Unsetenv(ENV_VAR_INSTALL_TYPE) + telemetryService.sendDailyTelemetry(true) + + var batches []batch + collectBatches(&batches) + + for _, b := range batches { + if b.Event == TRACK_SERVER { + assert.Equal(t, b.Properties["installation_type"], "") + } + } + + os.Setenv(ENV_VAR_INSTALL_TYPE, "docker") + defer os.Unsetenv(ENV_VAR_INSTALL_TYPE) + + batches = []batch{} + collectBatches(&batches) + + for _, b := range batches { + if b.Event == TRACK_SERVER { + assert.Equal(t, b.Properties["installation_type"], "docker") + } + } + }) }