From 23dfb251f3976f0bf05c59ddb4b92a47b06dcbb6 Mon Sep 17 00:00:00 2001 From: Bianca Date: Wed, 20 Mar 2024 12:37:21 +0000 Subject: [PATCH 1/8] Set telemetry events for deployment_time to lower case --- internal/cli/atlas/deployments/logs.go | 3 +++ internal/cli/atlas/deployments/options/connect_opts.go | 2 ++ internal/cli/atlas/deployments/options/connect_opts_local.go | 4 ---- internal/telemetry/event.go | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/cli/atlas/deployments/logs.go b/internal/cli/atlas/deployments/logs.go index bab5bea6da..f6496940e2 100644 --- a/internal/cli/atlas/deployments/logs.go +++ b/internal/cli/atlas/deployments/logs.go @@ -30,6 +30,7 @@ import ( "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/flag" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/search" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/store" + "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/telemetry" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/usage" "github.com/spf13/afero" "github.com/spf13/cobra" @@ -66,10 +67,12 @@ func (opts *DownloadOpts) Run(ctx context.Context) error { } if opts.IsLocalDeploymentType() { + telemetry.AppendOption(telemetry.WithDeploymentType(options.LocalCluster)) return opts.RunLocal(ctx) } if opts.IsAtlasDeploymentType() { + telemetry.AppendOption(telemetry.WithDeploymentType(options.LocalCluster)) if err := opts.validateAtlasFlags(); err != nil { return err } diff --git a/internal/cli/atlas/deployments/options/connect_opts.go b/internal/cli/atlas/deployments/options/connect_opts.go index b56effc094..9f3ff87b7d 100644 --- a/internal/cli/atlas/deployments/options/connect_opts.go +++ b/internal/cli/atlas/deployments/options/connect_opts.go @@ -53,6 +53,7 @@ func (opts *ConnectOpts) Connect(ctx context.Context) error { } if opts.IsAtlasDeploymentType() { + telemetry.AppendOption(telemetry.WithDeploymentType(AtlasCluster)) if err := opts.validateAndPromptAtlasOpts(); err != nil { return err } @@ -60,6 +61,7 @@ func (opts *ConnectOpts) Connect(ctx context.Context) error { return opts.connectToAtlas() } + telemetry.AppendOption(telemetry.WithDeploymentType(LocalCluster)) return opts.connectToLocal(ctx) } diff --git a/internal/cli/atlas/deployments/options/connect_opts_local.go b/internal/cli/atlas/deployments/options/connect_opts_local.go index 969dc983ad..7b726b4d32 100644 --- a/internal/cli/atlas/deployments/options/connect_opts_local.go +++ b/internal/cli/atlas/deployments/options/connect_opts_local.go @@ -15,13 +15,9 @@ package options import ( "context" - - "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/telemetry" ) func (opts *ConnectOpts) connectToLocal(ctx context.Context) error { - telemetry.AppendOption(telemetry.WithDeploymentType(LocalCluster)) - connectionString, err := opts.ConnectionString(ctx) if err != nil { return err diff --git a/internal/telemetry/event.go b/internal/telemetry/event.go index b5d2b08e7c..3cb01496cc 100644 --- a/internal/telemetry/event.go +++ b/internal/telemetry/event.go @@ -164,7 +164,7 @@ func withAnonymousID() EventOpt { func WithDeploymentType(t string) EventOpt { return func(event Event) { - event.Properties["deployment_type"] = t + event.Properties["deployment_type"] = strings.ToLower(t) } } From 7095e5ae70e90c5f235d5c27b21091a5292d18aa Mon Sep 17 00:00:00 2001 From: Bianca Date: Wed, 20 Mar 2024 14:57:36 +0000 Subject: [PATCH 2/8] Set deployment type at deployment type check --- .../cli/atlas/deployments/options/deployment_opts.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/cli/atlas/deployments/options/deployment_opts.go b/internal/cli/atlas/deployments/options/deployment_opts.go index a527a23413..746e856364 100644 --- a/internal/cli/atlas/deployments/options/deployment_opts.go +++ b/internal/cli/atlas/deployments/options/deployment_opts.go @@ -242,11 +242,19 @@ func (opts *DeploymentOpts) ValidateAndPromptDeploymentType() error { } func (opts *DeploymentOpts) IsAtlasDeploymentType() bool { - return strings.EqualFold(opts.DeploymentType, AtlasCluster) + if strings.EqualFold(opts.DeploymentType, AtlasCluster) { + telemetry.AppendOption(telemetry.WithDeploymentType(AtlasCluster)) + return true + } + return false } func (opts *DeploymentOpts) IsLocalDeploymentType() bool { - return strings.EqualFold(opts.DeploymentType, LocalCluster) + if strings.EqualFold(opts.DeploymentType, LocalCluster) { + telemetry.AppendOption(telemetry.WithDeploymentType(LocalCluster)) + return true + } + return false } func (opts *DeploymentOpts) NoDeploymentTypeSet() bool { From a40caeb633c68991a2ea5e2d7452e964ac492af4 Mon Sep 17 00:00:00 2001 From: Bianca Date: Wed, 20 Mar 2024 17:21:19 +0000 Subject: [PATCH 3/8] WIP --- internal/cli/atlas/deployments/delete.go | 1 + internal/cli/atlas/deployments/delete_test.go | 24 ++++++++++ internal/cli/atlas/deployments/list.go | 4 +- internal/cli/atlas/deployments/list_test.go | 41 +++++++++++++++++ internal/cli/atlas/deployments/logs.go | 3 -- .../atlas/deployments/options/connect_opts.go | 2 - .../deployments/options/deployment_opts.go | 19 ++++---- .../options/deployment_opts_telemetry.go | 36 +++++++++++++++ .../deployments/test/fixture/deployment.go | 1 + .../test/fixture/deployment_local.go | 16 ++++--- .../mocks/mock_deployment_opts_telemetry.go | 46 +++++++++++++++++++ 11 files changed, 171 insertions(+), 22 deletions(-) create mode 100644 internal/cli/atlas/deployments/options/deployment_opts_telemetry.go create mode 100644 internal/mocks/mock_deployment_opts_telemetry.go diff --git a/internal/cli/atlas/deployments/delete.go b/internal/cli/atlas/deployments/delete.go index bbcc18561a..8e531bad7b 100644 --- a/internal/cli/atlas/deployments/delete.go +++ b/internal/cli/atlas/deployments/delete.go @@ -86,6 +86,7 @@ func (opts *DeleteOpts) runLocal(ctx context.Context) error { } func (opts *DeleteOpts) PostRun() error { + opts.UpdateDeploymentTelemetry() if !opts.EnableWatch || !opts.IsAtlasDeploymentType() { return nil } diff --git a/internal/cli/atlas/deployments/delete_test.go b/internal/cli/atlas/deployments/delete_test.go index a77700abaf..37c1b62559 100644 --- a/internal/cli/atlas/deployments/delete_test.go +++ b/internal/cli/atlas/deployments/delete_test.go @@ -159,3 +159,27 @@ func TestDeleteBuilder(t *testing.T) { []string{flag.TypeFlag, flag.Force, flag.EnableWatch, flag.WatchTimeout, flag.ProjectID}, ) } + +func TestDelete_PostRun(t *testing.T) { + ctrl := gomock.NewController(t) + deploymentsTest := fixture.NewMockLocalDeploymentOpts(ctrl, "localDeployment") + buf := new(bytes.Buffer) + + opts := &DeleteOpts{ + DeploymentOpts: *deploymentsTest.Opts, + GlobalOpts: cli.GlobalOpts{ + ProjectID: "64f670f0bf789926667dad1a", + }, + OutputOpts: cli.OutputOpts{ + OutWriter: buf, + }, + DeleteOpts: cli.NewDeleteOpts(deleteSuccessMessage, deleteFailMessage), + } + + deploymentsTest.MockDeploymentTelemetry.EXPECT().AppendDeploymentType().Times(1) + + if err := opts.PostRun(); err != nil { + t.Fatalf("PostRun() unexpected error: %v", err) + } + t.Log(buf.String()) +} diff --git a/internal/cli/atlas/deployments/list.go b/internal/cli/atlas/deployments/list.go index df75990293..25e169f7fe 100644 --- a/internal/cli/atlas/deployments/list.go +++ b/internal/cli/atlas/deployments/list.go @@ -71,6 +71,7 @@ func (opts *ListOpts) Run(ctx context.Context) error { } func (opts *ListOpts) PostRun() error { + opts.UpdateDeploymentTelemetry() return opts.PostRunMessages() } @@ -89,7 +90,8 @@ func ListBuilder() *cobra.Command { PreRunE: func(cmd *cobra.Command, _ []string) error { return opts.PreRunE( opts.InitStore(cmd.Context(), cmd.OutOrStdout()), - opts.InitOutput(cmd.OutOrStdout(), listTemplate)) + opts.InitOutput(cmd.OutOrStdout(), listTemplate), + ) }, RunE: func(cmd *cobra.Command, _ []string) error { return opts.Run(cmd.Context()) diff --git a/internal/cli/atlas/deployments/list_test.go b/internal/cli/atlas/deployments/list_test.go index 6d6531c9a6..23dbc9d9dc 100644 --- a/internal/cli/atlas/deployments/list_test.go +++ b/internal/cli/atlas/deployments/list_test.go @@ -24,6 +24,7 @@ import ( "github.com/golang/mock/gomock" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli/atlas/deployments/options" + "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli/atlas/deployments/test/fixture" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/config" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/flag" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/mocks" @@ -147,3 +148,43 @@ func TestListBuilder(t *testing.T) { []string{flag.ProjectID}, ) } + +func TestList_PostRun(t *testing.T) { + ctrl := gomock.NewController(t) + buf := new(bytes.Buffer) + + mockStore := mocks.NewMockClusterLister(ctrl) + mockCredentialsGetter := mocks.NewMockCredentialsGetter(ctrl) + mockProfileReader := mocks.NewMockProfileReader(ctrl) + + deploymentsTest := fixture.NewMockLocalDeploymentOpts(ctrl, "localDeployment") + deploymentsTest.Opts.Config = mockProfileReader + deploymentsTest.Opts.CredStore = mockCredentialsGetter + deploymentsTest.Opts.AtlasClusterListStore = mockStore + + listOpts := &ListOpts{ + DeploymentOpts: *deploymentsTest.Opts, + GlobalOpts: cli.GlobalOpts{ + ProjectID: "64f670f0bf789926667dad1a", + }, + OutputOpts: cli.OutputOpts{ + Template: listTemplate, + OutWriter: buf, + }, + } + + mockCredentialsGetter. + EXPECT(). + AuthType(). + Return(config.OAuth). + Times(1) + + deploymentsTest.MockDeploymentTelemetry. + EXPECT(). + AppendDeploymentType(). + Times(1) + + if err := listOpts.PostRun(); err != nil { + t.Fatalf("PostRun() unexpected error: %v", err) + } +} diff --git a/internal/cli/atlas/deployments/logs.go b/internal/cli/atlas/deployments/logs.go index f6496940e2..bab5bea6da 100644 --- a/internal/cli/atlas/deployments/logs.go +++ b/internal/cli/atlas/deployments/logs.go @@ -30,7 +30,6 @@ import ( "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/flag" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/search" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/store" - "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/telemetry" "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/usage" "github.com/spf13/afero" "github.com/spf13/cobra" @@ -67,12 +66,10 @@ func (opts *DownloadOpts) Run(ctx context.Context) error { } if opts.IsLocalDeploymentType() { - telemetry.AppendOption(telemetry.WithDeploymentType(options.LocalCluster)) return opts.RunLocal(ctx) } if opts.IsAtlasDeploymentType() { - telemetry.AppendOption(telemetry.WithDeploymentType(options.LocalCluster)) if err := opts.validateAtlasFlags(); err != nil { return err } diff --git a/internal/cli/atlas/deployments/options/connect_opts.go b/internal/cli/atlas/deployments/options/connect_opts.go index 9f3ff87b7d..b56effc094 100644 --- a/internal/cli/atlas/deployments/options/connect_opts.go +++ b/internal/cli/atlas/deployments/options/connect_opts.go @@ -53,7 +53,6 @@ func (opts *ConnectOpts) Connect(ctx context.Context) error { } if opts.IsAtlasDeploymentType() { - telemetry.AppendOption(telemetry.WithDeploymentType(AtlasCluster)) if err := opts.validateAndPromptAtlasOpts(); err != nil { return err } @@ -61,7 +60,6 @@ func (opts *ConnectOpts) Connect(ctx context.Context) error { return opts.connectToAtlas() } - telemetry.AppendOption(telemetry.WithDeploymentType(LocalCluster)) return opts.connectToLocal(ctx) } diff --git a/internal/cli/atlas/deployments/options/deployment_opts.go b/internal/cli/atlas/deployments/options/deployment_opts.go index 746e856364..384145b177 100644 --- a/internal/cli/atlas/deployments/options/deployment_opts.go +++ b/internal/cli/atlas/deployments/options/deployment_opts.go @@ -96,6 +96,7 @@ type DeploymentOpts struct { DefaultSetter cli.DefaultSetterOpts AtlasClusterListStore store.ClusterLister Config setup.ProfileReader + DeploymentTelemetry DeploymentTelemetry } type Deployment struct { @@ -115,6 +116,8 @@ func (opts *DeploymentOpts) InitStore(ctx context.Context, writer io.Writer) fun return err } opts.DefaultSetter.OutWriter = writer + opts.DeploymentTelemetry = NewDeploymentTypeTelemetry(opts) + opts.UpdateDeploymentTelemetry() return opts.DefaultSetter.InitStore(ctx) } } @@ -242,19 +245,11 @@ func (opts *DeploymentOpts) ValidateAndPromptDeploymentType() error { } func (opts *DeploymentOpts) IsAtlasDeploymentType() bool { - if strings.EqualFold(opts.DeploymentType, AtlasCluster) { - telemetry.AppendOption(telemetry.WithDeploymentType(AtlasCluster)) - return true - } - return false + return strings.EqualFold(opts.DeploymentType, AtlasCluster) } func (opts *DeploymentOpts) IsLocalDeploymentType() bool { - if strings.EqualFold(opts.DeploymentType, LocalCluster) { - telemetry.AppendOption(telemetry.WithDeploymentType(LocalCluster)) - return true - } - return false + return strings.EqualFold(opts.DeploymentType, LocalCluster) } func (opts *DeploymentOpts) NoDeploymentTypeSet() bool { @@ -264,3 +259,7 @@ func (opts *DeploymentOpts) NoDeploymentTypeSet() bool { func (opts *DeploymentOpts) IsAuthEnabled() bool { return opts.DBUsername != "" } + +func (opts *DeploymentOpts) UpdateDeploymentTelemetry() { + opts.DeploymentTelemetry.AppendDeploymentType() +} diff --git a/internal/cli/atlas/deployments/options/deployment_opts_telemetry.go b/internal/cli/atlas/deployments/options/deployment_opts_telemetry.go new file mode 100644 index 0000000000..6dbe93c065 --- /dev/null +++ b/internal/cli/atlas/deployments/options/deployment_opts_telemetry.go @@ -0,0 +1,36 @@ +// Copyright 2023 MongoDB Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package options + +import ( + "github.com/mongodb/mongodb-atlas-cli/atlascli/internal/telemetry" +) + +//go:generate mockgen -destination=../../../../mocks/mock_deployment_opts_telemetry.go -package=mocks github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli/atlas/deployments/options DeploymentTelemetry +type DeploymentTelemetry interface { + AppendDeploymentType() +} + +func NewDeploymentTypeTelemetry(opts *DeploymentOpts) DeploymentTelemetry { + return opts +} + +func (opts *DeploymentOpts) AppendDeploymentType() { + if opts.IsLocalDeploymentType() { + telemetry.AppendOption(telemetry.WithDeploymentType(LocalCluster)) + } else if opts.IsAtlasDeploymentType() { + telemetry.AppendOption(telemetry.WithDeploymentType(AtlasCluster)) + } +} diff --git a/internal/cli/atlas/deployments/test/fixture/deployment.go b/internal/cli/atlas/deployments/test/fixture/deployment.go index 9a3eb61a76..ff6afc58ce 100644 --- a/internal/cli/atlas/deployments/test/fixture/deployment.go +++ b/internal/cli/atlas/deployments/test/fixture/deployment.go @@ -24,5 +24,6 @@ type MockDeploymentOpts struct { MockCredentialsGetter *mocks.MockCredentialsGetter MockAtlasClusterListStore *mocks.MockClusterLister MockPodman *mocks.MockClient + MockDeploymentTelemetry *mocks.MockDeploymentTelemetry Opts *options.DeploymentOpts } diff --git a/internal/cli/atlas/deployments/test/fixture/deployment_local.go b/internal/cli/atlas/deployments/test/fixture/deployment_local.go index ff450c89bf..82329895f2 100644 --- a/internal/cli/atlas/deployments/test/fixture/deployment_local.go +++ b/internal/cli/atlas/deployments/test/fixture/deployment_local.go @@ -24,15 +24,19 @@ import ( func NewMockLocalDeploymentOpts(ctrl *gomock.Controller, deploymentName string) MockDeploymentOpts { mockPodman := mocks.NewMockClient(ctrl) - return MockDeploymentOpts{ - ctrl: ctrl, - MockPodman: mockPodman, + mockDeploymentTelemetry := mocks.NewMockDeploymentTelemetry(ctrl) + mockOpts := MockDeploymentOpts{ + ctrl: ctrl, + MockPodman: mockPodman, + MockDeploymentTelemetry: mockDeploymentTelemetry, Opts: &options.DeploymentOpts{ - PodmanClient: mockPodman, - DeploymentName: deploymentName, - DeploymentType: "local", + PodmanClient: mockPodman, + DeploymentName: deploymentName, + DeploymentType: "local", + DeploymentTelemetry: mockDeploymentTelemetry, }, } + return mockOpts } func (m *MockDeploymentOpts) LocalMockFlowWithMockContainer(ctx context.Context, mockContainer []*podman.Container) { diff --git a/internal/mocks/mock_deployment_opts_telemetry.go b/internal/mocks/mock_deployment_opts_telemetry.go new file mode 100644 index 0000000000..e4f1779198 --- /dev/null +++ b/internal/mocks/mock_deployment_opts_telemetry.go @@ -0,0 +1,46 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli/atlas/deployments/options (interfaces: DeploymentTelemetry) + +// Package mocks is a generated GoMock package. +package mocks + +import ( + reflect "reflect" + + gomock "github.com/golang/mock/gomock" +) + +// MockDeploymentTelemetry is a mock of DeploymentTelemetry interface. +type MockDeploymentTelemetry struct { + ctrl *gomock.Controller + recorder *MockDeploymentTelemetryMockRecorder +} + +// MockDeploymentTelemetryMockRecorder is the mock recorder for MockDeploymentTelemetry. +type MockDeploymentTelemetryMockRecorder struct { + mock *MockDeploymentTelemetry +} + +// NewMockDeploymentTelemetry creates a new mock instance. +func NewMockDeploymentTelemetry(ctrl *gomock.Controller) *MockDeploymentTelemetry { + mock := &MockDeploymentTelemetry{ctrl: ctrl} + mock.recorder = &MockDeploymentTelemetryMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDeploymentTelemetry) EXPECT() *MockDeploymentTelemetryMockRecorder { + return m.recorder +} + +// AppendDeploymentType mocks base method. +func (m *MockDeploymentTelemetry) AppendDeploymentType() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "AppendDeploymentType") +} + +// AppendDeploymentType indicates an expected call of AppendDeploymentType. +func (mr *MockDeploymentTelemetryMockRecorder) AppendDeploymentType() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AppendDeploymentType", reflect.TypeOf((*MockDeploymentTelemetry)(nil).AppendDeploymentType)) +} From f69e7fdb6434a5b1bf06356e6156abec406b3b72 Mon Sep 17 00:00:00 2001 From: Bianca Date: Fri, 22 Mar 2024 15:02:22 +0000 Subject: [PATCH 4/8] Remove unecessary buf print --- internal/cli/atlas/deployments/delete_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/cli/atlas/deployments/delete_test.go b/internal/cli/atlas/deployments/delete_test.go index 37c1b62559..4a424811b6 100644 --- a/internal/cli/atlas/deployments/delete_test.go +++ b/internal/cli/atlas/deployments/delete_test.go @@ -181,5 +181,4 @@ func TestDelete_PostRun(t *testing.T) { if err := opts.PostRun(); err != nil { t.Fatalf("PostRun() unexpected error: %v", err) } - t.Log(buf.String()) } From 268e14ded311186236f9cd89e475e4a688dc56fd Mon Sep 17 00:00:00 2001 From: Bianca Date: Fri, 22 Mar 2024 15:05:24 +0000 Subject: [PATCH 5/8] remove lower case transformation at telemetry level --- internal/telemetry/event.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/telemetry/event.go b/internal/telemetry/event.go index 3cb01496cc..b5d2b08e7c 100644 --- a/internal/telemetry/event.go +++ b/internal/telemetry/event.go @@ -164,7 +164,7 @@ func withAnonymousID() EventOpt { func WithDeploymentType(t string) EventOpt { return func(event Event) { - event.Properties["deployment_type"] = strings.ToLower(t) + event.Properties["deployment_type"] = t } } From 1b8d5e265415250de1f6583891e88d30a74ffcb2 Mon Sep 17 00:00:00 2001 From: Bianca Date: Fri, 22 Mar 2024 15:06:04 +0000 Subject: [PATCH 6/8] Lower case deploymentType at selection time --- .../atlas/deployments/options/deployment_opts_select.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/cli/atlas/deployments/options/deployment_opts_select.go b/internal/cli/atlas/deployments/options/deployment_opts_select.go index 1048dc15d4..be2e6b9faa 100644 --- a/internal/cli/atlas/deployments/options/deployment_opts_select.go +++ b/internal/cli/atlas/deployments/options/deployment_opts_select.go @@ -102,9 +102,9 @@ func (opts *DeploymentOpts) Select(deployments []Deployment) (Deployment, error) if len(deployments) == 1 { opts.DeploymentName = deployments[0].Name - opts.DeploymentType = deployments[0].Type + opts.DeploymentType = strings.ToLower(deployments[0].Type) - telemetry.AppendOption(telemetry.WithDeploymentType(opts.DeploymentType)) + opts.AppendDeploymentType() return deployments[0], nil } @@ -130,7 +130,7 @@ func (opts *DeploymentOpts) Select(deployments []Deployment) (Deployment, error) deployment := deploymentsByDisplayName[displayName] opts.DeploymentName = deployment.Name - opts.DeploymentType = deployment.Type - telemetry.AppendOption(telemetry.WithDeploymentType(opts.DeploymentType)) + opts.DeploymentType = strings.ToLower(deployment.Type) + opts.AppendDeploymentType() return deployment, nil } From 417c105cd62e8f5fd27ad8ae0afcd3807e29d24a Mon Sep 17 00:00:00 2001 From: Bianca Date: Fri, 22 Mar 2024 15:09:18 +0000 Subject: [PATCH 7/8] Update AppendDeploymentType --- .../deployments/options/deployment_opts_telemetry.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/cli/atlas/deployments/options/deployment_opts_telemetry.go b/internal/cli/atlas/deployments/options/deployment_opts_telemetry.go index 6dbe93c065..e803341ef6 100644 --- a/internal/cli/atlas/deployments/options/deployment_opts_telemetry.go +++ b/internal/cli/atlas/deployments/options/deployment_opts_telemetry.go @@ -28,9 +28,13 @@ func NewDeploymentTypeTelemetry(opts *DeploymentOpts) DeploymentTelemetry { } func (opts *DeploymentOpts) AppendDeploymentType() { + var deploymentType string if opts.IsLocalDeploymentType() { - telemetry.AppendOption(telemetry.WithDeploymentType(LocalCluster)) + deploymentType = LocalCluster } else if opts.IsAtlasDeploymentType() { - telemetry.AppendOption(telemetry.WithDeploymentType(AtlasCluster)) + deploymentType = AtlasCluster + } + if deploymentType != "" { + telemetry.AppendOption(telemetry.WithDeploymentType(deploymentType)) } } From 2fb0acc53cb9bac825c81dd2f1c38de7cfc1adef Mon Sep 17 00:00:00 2001 From: Bianca Date: Fri, 22 Mar 2024 15:16:18 +0000 Subject: [PATCH 8/8] Use opts telemetry on setup --- internal/cli/atlas/deployments/setup.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/cli/atlas/deployments/setup.go b/internal/cli/atlas/deployments/setup.go index c24b02bde0..714d16a83c 100644 --- a/internal/cli/atlas/deployments/setup.go +++ b/internal/cli/atlas/deployments/setup.go @@ -815,7 +815,7 @@ func (opts *SetupOpts) Run(ctx context.Context) error { return err } - telemetry.AppendOption(telemetry.WithDeploymentType(opts.DeploymentType)) + opts.AppendDeploymentType() if strings.EqualFold(options.LocalCluster, opts.DeploymentType) { return opts.runLocal(ctx) }