Skip to content

Commit b0b5fc2

Browse files
SAGE-1578: added upload metrics by node
1 parent 726d033 commit b0b5fc2

File tree

6 files changed

+43
-13
lines changed

6 files changed

+43
-13
lines changed

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
services:
33
loader:
44
build: .
5+
restart: always
56
ports:
67
- "127.0.0.1:8080:8080"
78
environment:

file_uploader.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,13 @@ func (up *s3FileUploader) UploadFile(src, dst string, meta *MetaData) error {
9090
// update metrics
9191
// TODO(sean) make these non-global variables
9292
// TODO(sean) think about splitting data vs meta files
93+
// TODO(sean) figure out how to get VSN metadata for metrics
94+
size := float64(stat.Size())
95+
node := meta.Meta["node"]
9396
uploadsProcessedTotal.Inc()
94-
uploadsProcessedBytes.Add(float64(stat.Size()))
97+
uploadsProcessedBytes.Add(size)
98+
uploadsProcessedTotalByNode.WithLabelValues(node).Inc()
99+
uploadsProcessedBytesByNode.WithLabelValues(node).Add(size)
95100

96101
return nil
97102
}

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ module github.com/sagecontinuum/sage-storage-loader
33
go 1.19
44

55
require (
6-
github.com/aws/aws-sdk-go v1.44.131
7-
github.com/prometheus/client_golang v1.13.1
6+
github.com/aws/aws-sdk-go v1.44.151
7+
github.com/prometheus/client_golang v1.14.0
88
)
99

1010
require (
@@ -17,6 +17,6 @@ require (
1717
github.com/prometheus/client_model v0.3.0 // indirect
1818
github.com/prometheus/common v0.37.0 // indirect
1919
github.com/prometheus/procfs v0.8.0 // indirect
20-
golang.org/x/sys v0.1.0 // indirect
20+
golang.org/x/sys v0.2.0 // indirect
2121
google.golang.org/protobuf v1.28.1 // indirect
2222
)

go.sum

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ github.com/aws/aws-sdk-go v1.44.3 h1:GA9bJsWeJdwPtcKK9Uq3jfMaPko0ROWzVuqwFM7BBP0
4242
github.com/aws/aws-sdk-go v1.44.3/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo=
4343
github.com/aws/aws-sdk-go v1.44.131 h1:kd61x79ax0vyiC/SZ9X1hKh8E0pt1BUOOcVBJEFhxkg=
4444
github.com/aws/aws-sdk-go v1.44.131/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
45+
github.com/aws/aws-sdk-go v1.44.151 h1:2FrJZm3kTcyTtfpE7LEQT9XW+jkoi4KEvBhFWqHEZmo=
46+
github.com/aws/aws-sdk-go v1.44.151/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
4547
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
4648
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
4749
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -173,6 +175,8 @@ github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqr
173175
github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
174176
github.com/prometheus/client_golang v1.13.1 h1:3gMjIY2+/hzmqhtUC/aQNYldJA6DtH3CgQvwS+02K1c=
175177
github.com/prometheus/client_golang v1.13.1/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ=
178+
github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
179+
github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
176180
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
177181
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
178182
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -344,6 +348,8 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
344348
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
345349
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
346350
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
351+
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
352+
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
347353
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
348354
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
349355
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=

main.go

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,32 @@ import (
2020

2121
// TODO(sean) make this part of the service
2222
var (
23-
uploadsProcessedTotal = promauto.NewCounter(prometheus.CounterOpts{
24-
Name: "storageloader_uploads_total",
25-
Help: "Total number of uploads processed.",
26-
})
27-
uploadsProcessedBytes = promauto.NewCounter(prometheus.CounterOpts{
28-
Name: "storageloader_uploads_bytes_total",
29-
Help: "Total upload bytes processed.",
30-
})
23+
uploadsProcessedTotal = promauto.NewCounter(
24+
prometheus.CounterOpts{
25+
Name: "storageloader_uploads_total",
26+
Help: "Total number of uploads processed.",
27+
},
28+
)
29+
uploadsProcessedBytes = promauto.NewCounter(
30+
prometheus.CounterOpts{
31+
Name: "storageloader_upload_bytes_total",
32+
Help: "Total upload bytes processed.",
33+
},
34+
)
35+
uploadsProcessedTotalByNode = promauto.NewCounterVec(
36+
prometheus.CounterOpts{
37+
Name: "storageloader_uploads_total_by_node_total",
38+
Help: "Total number of uploads processed by node.",
39+
},
40+
[]string{"node"},
41+
)
42+
uploadsProcessedBytesByNode = promauto.NewCounterVec(
43+
prometheus.CounterOpts{
44+
Name: "storageloader_upload_bytes_by_node_total",
45+
Help: "Total number of uploads processed by node.",
46+
},
47+
[]string{"node"},
48+
)
3149
)
3250

3351
// TODO(sean) consider updating the design to decoupling and splitting the "scan filesystem" step into its own

worker.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func (w *Worker) Process(job Job) error {
108108
return fmt.Errorf("error uploading data file: %s", err.Error())
109109
}
110110

111-
if err := w.Uploader.UploadFile(metaPath, filepath.Join(s3path, targetNameMeta), nil); err != nil {
111+
if err := w.Uploader.UploadFile(metaPath, filepath.Join(s3path, targetNameMeta), &meta); err != nil {
112112
return fmt.Errorf("error uploading meta file: %s", err.Error())
113113
}
114114

0 commit comments

Comments
 (0)