Skip to content

Commit ce5c04c

Browse files
authored
CLOUDP-297205: Fix duplicated telemetry and early uuid collection (#3584)
1 parent 318118e commit ce5c04c

22 files changed

+117
-5
lines changed

internal/cli/deployments/connect.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ func Run(ctx context.Context, opts *ConnectOpts) error {
5050

5151
func PostRun(opts *ConnectOpts) {
5252
opts.DeploymentTelemetry.AppendDeploymentType()
53+
opts.DeploymentTelemetry.AppendDeploymentUUID()
5354
}
5455

5556
// atlas deployments connect [clusterName].

internal/cli/deployments/connect_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,5 +157,11 @@ func TestPostRun(t *testing.T) {
157157
AppendDeploymentType().
158158
Times(1)
159159

160+
deploymentsTest.
161+
MockDeploymentTelemetry.
162+
EXPECT().
163+
AppendDeploymentUUID().
164+
Times(1)
165+
160166
PostRun(opts)
161167
}

internal/cli/deployments/delete.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ func (opts *DeleteOpts) Run(ctx context.Context) error {
6969
if opts.IsAtlasDeploymentType() {
7070
return opts.runAtlas()
7171
}
72+
7273
return opts.runLocal(ctx)
7374
}
7475

@@ -77,9 +78,13 @@ func (opts *DeleteOpts) runAtlas() error {
7778
}
7879

7980
func (opts *DeleteOpts) runLocal(ctx context.Context) error {
81+
// Collect UUID before deletion
82+
opts.DeploymentTelemetry.AppendDeploymentUUID()
83+
8084
return opts.Delete(func() error {
8185
_, _ = log.Warningln("deleting deployment...")
8286
opts.StartSpinner()
87+
8388
defer opts.StopSpinner()
8489
return opts.DeploymentOpts.RemoveLocal(ctx)
8590
})
@@ -141,6 +146,7 @@ Deleting a Local deployment also deletes any local data volumes.
141146
if len(args) == 1 {
142147
opts.DeploymentName = args[0]
143148
}
149+
144150
return opts.PreRunE(
145151
opts.initAtlasStore(cmd.Context()),
146152
opts.InitOutput(cmd.OutOrStdout(), ""),

internal/cli/deployments/delete_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ func TestDelete_Run_Local(t *testing.T) {
8383
opts.Confirm = true
8484

8585
deploymentsTest.LocalMockFlow(ctx)
86+
deploymentsTest.
87+
MockDeploymentTelemetry.
88+
EXPECT().
89+
AppendDeploymentUUID().
90+
Times(1)
8691

8792
deploymentsTest.
8893
MockContainerEngine.

internal/cli/deployments/logs.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ func (opts *DownloadOpts) validateAtlasFlags() error {
229229

230230
func (opts *DownloadOpts) PostRun() {
231231
opts.DeploymentTelemetry.AppendDeploymentType()
232+
opts.DeploymentTelemetry.AppendDeploymentUUID()
232233
}
233234

234235
// atlas deployments logs.

internal/cli/deployments/logs_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,11 @@ func TestDownloadOpts_PostRun(t *testing.T) {
115115
AppendDeploymentType().
116116
Times(1)
117117

118+
deploymentTest.
119+
MockDeploymentTelemetry.
120+
EXPECT().
121+
AppendDeploymentUUID().
122+
Times(1)
123+
118124
opts.PostRun()
119125
}

internal/cli/deployments/options/deployment_opts_telemetry.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ var (
3838
//go:generate mockgen -destination=../../../mocks/mock_deployment_opts_telemetry.go -package=mocks github.com/mongodb/mongodb-atlas-cli/atlascli/internal/cli/deployments/options DeploymentTelemetry
3939
type DeploymentTelemetry interface {
4040
AppendDeploymentType()
41+
AppendDeploymentUUID()
4142
}
4243

4344
func NewDeploymentTypeTelemetry(opts *DeploymentOpts) DeploymentTelemetry {
@@ -91,13 +92,20 @@ func (opts *DeploymentOpts) AppendDeploymentType() {
9192
var deploymentType string
9293
if opts.IsLocalDeploymentType() {
9394
deploymentType = LocalCluster
94-
if err := opts.collectUUID(context.TODO()); err != nil {
95-
_, _ = log.Debugf("error collecting deployment uuid: %v", err)
96-
}
9795
} else if opts.IsAtlasDeploymentType() {
9896
deploymentType = AtlasCluster
9997
}
10098
if deploymentType != "" {
10199
telemetry.AppendOption(telemetry.WithDeploymentType(deploymentType))
102100
}
103101
}
102+
103+
func (opts *DeploymentOpts) AppendDeploymentUUID() {
104+
if opts.IsAtlasDeploymentType() || opts.DeploymentType == "" || opts.DeploymentUUID != "" {
105+
return
106+
}
107+
108+
if err := opts.collectUUID(context.TODO()); err != nil {
109+
_, _ = log.Debugf("error collecting deployment uuid: %v", err)
110+
}
111+
}

internal/cli/deployments/pause.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ func (opts *PauseOpts) Run(ctx context.Context) error {
7070
}
7171

7272
func (opts *PauseOpts) RunLocal(ctx context.Context, deployment options.Deployment) error {
73+
// Collect UUID before pausing
74+
opts.DeploymentTelemetry.AppendDeploymentUUID()
75+
7376
if err := opts.stopContainer(ctx, deployment); err != nil {
7477
return err
7578
}

internal/cli/deployments/pause_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,12 @@ func TestPause_RunLocal(t *testing.T) {
5858
Return(nil).
5959
Times(1)
6060

61+
deploymentTest.
62+
MockDeploymentTelemetry.
63+
EXPECT().
64+
AppendDeploymentUUID().
65+
Times(1)
66+
6167
if err := pauseOpts.Run(ctx); err != nil {
6268
t.Fatalf("Run() unexpected error: %v", err)
6369
}

internal/cli/deployments/search/indexes/create.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,9 @@ func (opts *CreateOpts) watchAtlas(_ context.Context) (any, bool, error) {
304304
}
305305

306306
func (opts *CreateOpts) PostRun(ctx context.Context) error {
307-
opts.AppendDeploymentType()
307+
opts.DeploymentTelemetry.AppendDeploymentType()
308+
opts.DeploymentTelemetry.AppendDeploymentUUID()
309+
308310
if !opts.EnableWatch {
309311
return opts.Print(opts.indexID.Index)
310312
}

0 commit comments

Comments
 (0)