Skip to content

Commit d104a8b

Browse files
committed
Better organize cli traces code
1 parent 684f786 commit d104a8b

File tree

3 files changed

+47
-40
lines changed

3 files changed

+47
-40
lines changed

cli/app.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ var app = &cli.App{
470470
Usage: "Work with viam-server traces",
471471
Subcommands: []*cli.Command{
472472
{
473-
Name: "import-local",
473+
Name: "import-local",
474474
Usage: "Import traces from a local viam server trace file to an OTLP endpoint.",
475475
Flags: lo.Flatten([][]cli.Flag{
476476
{&cli.StringFlag{
@@ -481,10 +481,10 @@ var app = &cli.App{
481481
}},
482482
commonOtlpFlags,
483483
}),
484-
Action: createCommandWithT(ImportTraceFileAction),
484+
Action: createCommandWithT(traceImportLocalAction),
485485
},
486486
{
487-
Name: "import-remote",
487+
Name: "import-remote",
488488
Usage: "Import traces from a remote viam machine to an OTLP endpoint.",
489489
Flags: lo.Flatten([][]cli.Flag{
490490
commonOtlpFlags,
@@ -493,28 +493,28 @@ var app = &cli.App{
493493
Action: createCommandWithT(traceImportRemoteAction),
494494
},
495495
{
496-
Name: "print-local",
496+
Name: "print-local",
497497
Usage: "Print traces in a local file to the console",
498-
Flags: lo.Flatten([][]cli.Flag{
499-
{&cli.StringFlag{
498+
Flags: []cli.Flag{
499+
&cli.StringFlag{
500500
Name: "path",
501501
TakesFile: true,
502502
Required: true,
503503
Usage: "path to file to import",
504-
}},
505-
}),
504+
},
505+
},
506506
Action: createCommandWithT(tracePrintLocalAction),
507507
},
508508
{
509-
Name: "print-remote",
509+
Name: "print-remote",
510510
Usage: "Print traces from a remote viam machine to the console",
511511
Flags: lo.Flatten([][]cli.Flag{
512512
commonPartFlags,
513513
}),
514514
Action: createCommandWithT(tracePrintRemoteAction),
515515
},
516516
{
517-
Name: "fetch-remote",
517+
Name: "fetch-remote",
518518
Usage: "Download a traces from a viam machine and save them to disk",
519519
Flags: lo.Flatten([][]cli.Flag{
520520
commonPartFlags,
@@ -526,7 +526,7 @@ var app = &cli.App{
526526
},
527527
},
528528
}),
529-
Action: createCommandWithT(tracePrintLocalAction),
529+
Action: createCommandWithT(traceFetchRemoteAction),
530530
},
531531
},
532532
},

cli/client.go

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1321,27 +1321,24 @@ func (err wrongNumArgsError) Error() string {
13211321
return fmt.Sprintf("expected %d-%d arguments but got %d", err.min, err.max, err.have)
13221322
}
13231323

1324-
type machinesPartGetFTDCArgs struct {
1324+
type baseRemotePartArgs struct {
13251325
Organization string
13261326
Location string
13271327
Machine string
13281328
Part string
13291329
}
13301330

13311331
type traceFetchRemoteArgs struct {
1332-
Organization string
1333-
Location string
1334-
Machine string
1335-
Part string
1336-
Destination string
1332+
baseRemotePartArgs
1333+
Destination string
13371334
}
13381335

13391336
type importTracesFileArgs struct {
13401337
Path string
13411338
}
13421339

13431340
// MachinesPartGetFTDCAction is the corresponding Action for 'machines part get-ftdc'.
1344-
func MachinesPartGetFTDCAction(c *cli.Context, args machinesPartGetFTDCArgs) error {
1341+
func MachinesPartGetFTDCAction(c *cli.Context, args baseRemotePartArgs) error {
13451342
client, err := newViamClient(c)
13461343
if err != nil {
13471344
return err
@@ -1356,7 +1353,7 @@ func MachinesPartGetFTDCAction(c *cli.Context, args machinesPartGetFTDCArgs) err
13561353
return client.machinesPartGetFTDCAction(c, args, globalArgs.Debug, logger)
13571354
}
13581355

1359-
func traceImportRemoteAction(ctx *cli.Context, args machinesPartGetFTDCArgs) error {
1356+
func traceImportRemoteAction(ctx *cli.Context, args baseRemotePartArgs) error {
13601357
client, err := newViamClient(ctx)
13611358
if err != nil {
13621359
return err
@@ -1372,19 +1369,22 @@ func traceImportRemoteAction(ctx *cli.Context, args machinesPartGetFTDCArgs) err
13721369
if err != nil {
13731370
return err
13741371
}
1375-
//nolint: errcheck()
1372+
//nolint: errcheck
13761373
defer os.RemoveAll(targetPath)
13771374

1378-
if err := client.machinesPartGetTracesAction(ctx, args, targetPath, globalArgs.Debug, logger); err != nil {
1375+
if err := client.machinesPartGetTracesAction(
1376+
ctx,
1377+
traceFetchRemoteArgs{
1378+
baseRemotePartArgs: args,
1379+
Destination: targetPath,
1380+
},
1381+
globalArgs.Debug,
1382+
logger,
1383+
); err != nil {
13791384
return err
13801385
}
13811386

1382-
return importTraceFileAction(ctx, importTracesFileArgs{Path: filepath.Join(targetPath, "traces")})
1383-
}
1384-
1385-
// ImportTraceFileAction is the corresponding action for 'trace import-local'.
1386-
func ImportTraceFileAction(c *cli.Context, args importTracesFileArgs) error {
1387-
return importTraceFileAction(c, args)
1387+
return traceImportLocalAction(ctx, importTracesFileArgs{Path: filepath.Join(targetPath, "traces")})
13881388
}
13891389

13901390
// MachinesPartCopyFilesAction is the corresponding Action for 'machines part cp'.
@@ -1507,7 +1507,7 @@ func (c *viamClient) machinesPartCopyFilesAction(
15071507

15081508
func (c *viamClient) machinesPartGetFTDCAction(
15091509
ctx *cli.Context,
1510-
flagArgs machinesPartGetFTDCArgs,
1510+
flagArgs baseRemotePartArgs,
15111511
debug bool,
15121512
logger logging.Logger,
15131513
) error {
@@ -1568,8 +1568,7 @@ func (c *viamClient) machinesPartGetFTDCAction(
15681568

15691569
func (c *viamClient) machinesPartGetTracesAction(
15701570
ctx *cli.Context,
1571-
flagArgs machinesPartGetFTDCArgs,
1572-
destination string,
1571+
flagArgs traceFetchRemoteArgs,
15731572
debug bool,
15741573
logger logging.Logger,
15751574
) error {
@@ -1586,7 +1585,7 @@ func (c *viamClient) machinesPartGetTracesAction(
15861585
var startTime time.Time
15871586
if !quiet {
15881587
startTime = time.Now()
1589-
printf(ctx.App.Writer, "Saving to %s ...", path.Join(destination, part.GetId()))
1588+
printf(ctx.App.Writer, "Saving to %s ...", path.Join(flagArgs.Destination, part.GetId()))
15901589
}
15911590
if err := c.copyFilesFromMachine(
15921591
flagArgs.Organization,
@@ -1597,7 +1596,7 @@ func (c *viamClient) machinesPartGetTracesAction(
15971596
true,
15981597
false,
15991598
[]string{src},
1600-
destination,
1599+
flagArgs.Destination,
16011600
logger,
16021601
); err != nil {
16031602
if statusErr := status.Convert(err); statusErr != nil &&
@@ -1615,7 +1614,7 @@ func (c *viamClient) machinesPartGetTracesAction(
16151614

16161615
func tracePrintRemoteAction(
16171616
ctx *cli.Context,
1618-
args machinesPartGetFTDCArgs,
1617+
args baseRemotePartArgs,
16191618
) error {
16201619
client, err := newViamClient(ctx)
16211620
if err != nil {
@@ -1632,7 +1631,15 @@ func tracePrintRemoteAction(
16321631
return err
16331632
}
16341633
defer os.RemoveAll(tmp)
1635-
if err := client.machinesPartGetTracesAction(ctx, args, tmp, globalArgs.Debug, logger); err != nil {
1634+
if err := client.machinesPartGetTracesAction(
1635+
ctx,
1636+
traceFetchRemoteArgs{
1637+
baseRemotePartArgs: args,
1638+
Destination: tmp,
1639+
},
1640+
globalArgs.Debug,
1641+
logger,
1642+
); err != nil {
16361643
return err
16371644
}
16381645
return tracePrintLocalAction(ctx, importTracesFileArgs{Path: filepath.Join(tmp, "traces")})
@@ -1649,8 +1656,8 @@ func traceFetchRemoteAction(ctx *cli.Context, args traceFetchRemoteArgs) error {
16491656
return err
16501657
}
16511658
logger := globalArgs.createLogger()
1652-
1653-
client.machinesPartGetTracesAction(ctx, args, "", globalArgs.Debug, logger)
1659+
1660+
return client.machinesPartGetTracesAction(ctx, args, globalArgs.Debug, logger)
16541661
}
16551662

16561663
func tracePrintLocalAction(
@@ -1684,7 +1691,7 @@ func tracePrintLocalAction(
16841691
return err
16851692
}
16861693

1687-
func importTraceFileAction(
1694+
func traceImportLocalAction(
16881695
ctx *cli.Context,
16891696
args importTracesFileArgs,
16901697
) error {

cli/client_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1224,7 +1224,7 @@ func TestShellGetFTDC(t *testing.T) {
12241224
args := []string{"foo", "bar"}
12251225
cCtx, viamClient, _, _ := setup(asc, nil, nil, partFlags, "token", args...)
12261226
test.That(t,
1227-
viamClient.machinesPartGetFTDCAction(cCtx, parseStructFromCtx[machinesPartGetFTDCArgs](cCtx), true, logger),
1227+
viamClient.machinesPartGetFTDCAction(cCtx, parseStructFromCtx[baseRemotePartArgs](cCtx), true, logger),
12281228
test.ShouldBeError, wrongNumArgsError{2, 0, 1})
12291229
})
12301230

@@ -1243,7 +1243,7 @@ func TestShellGetFTDC(t *testing.T) {
12431243
cCtx, viamClient, _, _ := setupWithRunningPart(
12441244
t, asc, nil, nil, partFlags, "token", partFqdn, args...)
12451245
test.That(t,
1246-
viamClient.machinesPartGetFTDCAction(cCtx, parseStructFromCtx[machinesPartGetFTDCArgs](cCtx), true, logger),
1246+
viamClient.machinesPartGetFTDCAction(cCtx, parseStructFromCtx[baseRemotePartArgs](cCtx), true, logger),
12471247
test.ShouldNotBeNil)
12481248

12491249
entries, err := os.ReadDir(tempDir)
@@ -1277,7 +1277,7 @@ func TestShellGetFTDC(t *testing.T) {
12771277
cCtx, viamClient, _, _ := setupWithRunningPart(
12781278
t, asc, nil, nil, partFlags, "token", partFqdn, args...)
12791279
test.That(t,
1280-
viamClient.machinesPartGetFTDCAction(cCtx, parseStructFromCtx[machinesPartGetFTDCArgs](cCtx), true, logger),
1280+
viamClient.machinesPartGetFTDCAction(cCtx, parseStructFromCtx[baseRemotePartArgs](cCtx), true, logger),
12811281
test.ShouldBeNil)
12821282

12831283
entries, err := os.ReadDir(filepath.Join(targetPath, partID))

0 commit comments

Comments
 (0)