Skip to content

Commit 726d033

Browse files
added total uploads and total bytes processed metrics (#3)
1 parent 43a87cb commit 726d033

File tree

6 files changed

+535
-4
lines changed

6 files changed

+535
-4
lines changed

docker-compose.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
services:
33
loader:
44
build: .
5+
ports:
6+
- "127.0.0.1:8080:8080"
57
environment:
68
- LOADER_NUM_WORKERS=3
79
- LOADER_DATA_DIR=/data
@@ -16,8 +18,8 @@ services:
1618
image: minio/minio
1719
command: [ "server", "/data", "--console-address", ":9001" ]
1820
ports:
19-
- "9000:9000"
20-
- "9001:9001"
21+
- "127.0.0.1:9000:9000"
22+
- "127.0.0.1:9001:9001"
2123
environment:
2224
- MINIO_ROOT_USER=admin
2325
- MINIO_ROOT_PASSWORD=password

file_uploader.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ func (up *s3FileUploader) UploadFile(src, dst string, meta *MetaData) error {
6464
return fmt.Errorf("could not create a new uploader")
6565
}
6666

67+
stat, err := os.Stat(src)
68+
if err != nil {
69+
return err
70+
}
71+
6772
f, err := os.Open(src)
6873
if err != nil {
6974
return err
@@ -82,6 +87,12 @@ func (up *s3FileUploader) UploadFile(src, dst string, meta *MetaData) error {
8287
return fmt.Errorf("s3 uploader failed: %s", err.Error())
8388
}
8489

90+
// update metrics
91+
// TODO(sean) make these non-global variables
92+
// TODO(sean) think about splitting data vs meta files
93+
uploadsProcessedTotal.Inc()
94+
uploadsProcessedBytes.Add(float64(stat.Size()))
95+
8596
return nil
8697
}
8798

go.mod

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
11
module github.com/sagecontinuum/sage-storage-loader
22

3-
go 1.18
3+
go 1.19
44

5-
require github.com/aws/aws-sdk-go v1.44.3
5+
require (
6+
github.com/aws/aws-sdk-go v1.44.131
7+
github.com/prometheus/client_golang v1.13.1
8+
)
69

710
require (
11+
github.com/beorn7/perks v1.0.1 // indirect
12+
github.com/cespare/xxhash/v2 v2.1.2 // indirect
813
github.com/davecgh/go-spew v1.1.1 // indirect
14+
github.com/golang/protobuf v1.5.2 // indirect
915
github.com/jmespath/go-jmespath v0.4.0 // indirect
16+
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
17+
github.com/prometheus/client_model v0.3.0 // indirect
18+
github.com/prometheus/common v0.37.0 // indirect
19+
github.com/prometheus/procfs v0.8.0 // indirect
20+
golang.org/x/sys v0.1.0 // indirect
21+
google.golang.org/protobuf v1.28.1 // indirect
1022
)

0 commit comments

Comments
 (0)