cmd/uplink: add upload log file flag

Change-Id: I740eaf431cfe5bb3dcb746e4128dea5efc935257
This commit is contained in:
Jeff Wendling 2023-05-24 19:37:33 -04:00
parent d6615cb698
commit a0fbc87b31
7 changed files with 26 additions and 9 deletions

View File

@ -4,9 +4,11 @@
package main
import (
"bufio"
"context"
"fmt"
"io"
"os"
"strconv"
"strings"
"sync"
@ -46,6 +48,7 @@ type cmdCp struct {
maximumConcurrentPieces int
longTailMargin int
uploadLogFile string
inmemoryEC bool
@ -111,6 +114,9 @@ func (c *cmdCp) Setup(params clingy.Parameters) {
clingy.Transform(strconv.Atoi),
clingy.Advanced,
).(int)
c.uploadLogFile = params.Flag("upload-log-file", "File to write upload logs to", "",
clingy.Advanced,
).(string)
c.inmemoryEC = params.Flag("inmemory-erasure-coding", "Keep erasure-coded pieces in-memory instead of writing them on the disk during upload", false,
clingy.Transform(strconv.ParseBool),
@ -137,6 +143,17 @@ func (c *cmdCp) Execute(ctx context.Context) error {
return errs.New("must have at least one source and destination path")
}
if c.uploadLogFile != "" {
fh, err := os.OpenFile(c.uploadLogFile, os.O_WRONLY|os.O_CREATE|os.O_EXCL, 0644)
if err != nil {
return errs.Wrap(err)
}
defer func() { _ = fh.Close() }()
bw := bufio.NewWriter(fh)
defer func() { _ = bw.Flush() }()
ctx = testuplink.WithLogWriter(ctx, bw)
}
fs, err := c.ex.OpenFilesystem(ctx, c.access,
ulext.ConcurrentSegmentUploadsConfig(testuplink.ConcurrentSegmentUploadsConfig{
SchedulerOptions: scheduler.Options{

2
go.mod
View File

@ -64,7 +64,7 @@ require (
storj.io/drpc v0.0.33
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41
storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e
)
require (

4
go.sum
View File

@ -985,5 +985,5 @@ storj.io/picobuf v0.0.1 h1:ekEvxSQCbEjTVIi/qxj2za13SJyfRE37yE30IBkZeT0=
storj.io/picobuf v0.0.1/go.mod h1:7ZTAMs6VesgTHbbhFU79oQ9hDaJ+MD4uoFQZ1P4SEz0=
storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8 h1:bUSNdChb1E5a/IFAy1l5zq+oZIYR5WPJ1JC71GC12dA=
storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8/go.mod h1:JxBlgPwo+P0OOJDSPJLwBJWUPnhnvrHOlKAN0aV/bhY=
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4 h1:OXdKu4nUJiILbD2e2kLCSSpbVPfkCfrBodmOPba0N0E=
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4/go.mod h1:Xq9HTfy/mnHm9X44OzRquLnpUMwdxdVnDyAnVTMNkPQ=
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e h1:RtIm29dk/wW45jBOjy/3WaNOv/hzWyzIdA9HLgXsfrk=
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e/go.mod h1:ZRxnPrbf6AEH89ScCReIwcIQg3w37CW47J5l1AZ50QQ=

View File

@ -13,7 +13,7 @@ require (
storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8
storj.io/storj v1.63.1
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e
)
require (

View File

@ -1252,5 +1252,5 @@ storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8 h1:bUSNdChb1E5a/IFAy1l5zq+oZ
storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8/go.mod h1:JxBlgPwo+P0OOJDSPJLwBJWUPnhnvrHOlKAN0aV/bhY=
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0 h1:pSfGf9E9OlUd17W7LSpL4tTONIyFji6dz8I2iTDd8BY=
storj.io/storjscan v0.0.0-20220926140643-1623c3b391b0/go.mod h1:5nLgAOl1KTDVyqORAhvrp+167PtShEuS1L3pJgXPjwo=
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4 h1:OXdKu4nUJiILbD2e2kLCSSpbVPfkCfrBodmOPba0N0E=
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4/go.mod h1:Xq9HTfy/mnHm9X44OzRquLnpUMwdxdVnDyAnVTMNkPQ=
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e h1:RtIm29dk/wW45jBOjy/3WaNOv/hzWyzIdA9HLgXsfrk=
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e/go.mod h1:ZRxnPrbf6AEH89ScCReIwcIQg3w37CW47J5l1AZ50QQ=

View File

@ -223,5 +223,5 @@ require (
storj.io/minio v0.0.0-20230118205046-c025fcc9eef3 // indirect
storj.io/monkit-jaeger v0.0.0-20220915074555-d100d7589f41 // indirect
storj.io/picobuf v0.0.1 // indirect
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4 // indirect
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e // indirect
)

View File

@ -1961,6 +1961,6 @@ storj.io/picobuf v0.0.1 h1:ekEvxSQCbEjTVIi/qxj2za13SJyfRE37yE30IBkZeT0=
storj.io/picobuf v0.0.1/go.mod h1:7ZTAMs6VesgTHbbhFU79oQ9hDaJ+MD4uoFQZ1P4SEz0=
storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8 h1:bUSNdChb1E5a/IFAy1l5zq+oZIYR5WPJ1JC71GC12dA=
storj.io/private v0.0.0-20230405095015-9e5bbc1c7ca8/go.mod h1:JxBlgPwo+P0OOJDSPJLwBJWUPnhnvrHOlKAN0aV/bhY=
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4 h1:OXdKu4nUJiILbD2e2kLCSSpbVPfkCfrBodmOPba0N0E=
storj.io/uplink v1.10.1-0.20230419134602-db8e801a38e4/go.mod h1:Xq9HTfy/mnHm9X44OzRquLnpUMwdxdVnDyAnVTMNkPQ=
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e h1:RtIm29dk/wW45jBOjy/3WaNOv/hzWyzIdA9HLgXsfrk=
storj.io/uplink v1.10.1-0.20230524150903-9e61c35f248e/go.mod h1:ZRxnPrbf6AEH89ScCReIwcIQg3w37CW47J5l1AZ50QQ=
storj.io/zipper v0.0.0-20220124122551-2ac2d53a46f6 h1:vJQmb+uAiYn8hVfkhMl6OqjnUyMWSCPnkzW8IsjF8vE=