Skip to content

Commit d0ccc7f

Browse files
Furistoroboquat
authored andcommitted
[content-service] Log filesystem usage error
1 parent 0298079 commit d0ccc7f

File tree

23 files changed

+84
-153
lines changed

23 files changed

+84
-153
lines changed

components/content-service/pkg/initializer/download.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ func (ws *fileDownloadInitializer) Run(ctx context.Context, mappings []archive.I
4949
span, ctx := opentracing.StartSpanFromContext(ctx, "FileDownloadInitializer.Run")
5050
defer tracing.FinishSpan(span, &err)
5151
start := time.Now()
52-
initialSize, diskErr := getDiskUsage()
53-
if diskErr != nil {
54-
log.WithError(err).Error("could not get disk usage")
52+
initialSize, fsErr := getFsUsage()
53+
if fsErr != nil {
54+
log.WithError(fsErr).Error("could not get disk usage")
5555
}
5656

5757
for _, info := range ws.FilesInfos {
@@ -62,10 +62,10 @@ func (ws *fileDownloadInitializer) Run(ctx context.Context, mappings []archive.I
6262
}
6363
}
6464

65-
if diskErr == nil {
66-
currentSize, diskErr := getDiskUsage()
67-
if diskErr != nil {
68-
log.WithError(err).Error("could not get disk usage")
65+
if fsErr == nil {
66+
currentSize, fsErr := getFsUsage()
67+
if fsErr != nil {
68+
log.WithError(fsErr).Error("could not get disk usage")
6969
}
7070

7171
metrics = csapi.InitializerMetrics{csapi.InitializerMetric{

components/content-service/pkg/initializer/git.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ func (ws *GitInitializer) Run(ctx context.Context, mappings []archive.IDMapping)
6464
span.SetTag("isGitWS", isGitWS)
6565
defer tracing.FinishSpan(span, &err)
6666
start := time.Now()
67-
initialSize, diskErr := getDiskUsage()
68-
if diskErr != nil {
69-
log.WithError(err).Error("could not get disk usage")
67+
initialSize, fsErr := getFsUsage()
68+
if fsErr != nil {
69+
log.WithError(fsErr).Error("could not get disk usage")
7070
}
7171

7272
src = csapi.WorkspaceInitFromOther
@@ -177,10 +177,10 @@ func (ws *GitInitializer) Run(ctx context.Context, mappings []archive.IDMapping)
177177

178178
log.WithField("stage", "init").WithField("location", ws.Location).Debug("Git operations complete")
179179

180-
if diskErr == nil {
181-
currentSize, diskErr := getDiskUsage()
182-
if diskErr != nil {
183-
log.WithError(err).Error("could not get disk usage")
180+
if fsErr == nil {
181+
currentSize, fsErr := getFsUsage()
182+
if fsErr != nil {
183+
log.WithError(fsErr).Error("could not get disk usage")
184184
}
185185

186186
stats = csapi.InitializerMetrics{csapi.InitializerMetric{

components/content-service/pkg/initializer/initializer.go

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ func (e CompositeInitializer) Run(ctx context.Context, mappings []archive.IDMapp
6767
span, ctx := opentracing.StartSpanFromContext(ctx, "CompositeInitializer.Run")
6868
defer tracing.FinishSpan(span, &err)
6969
start := time.Now()
70-
initialSize, diskErr := getDiskUsage()
71-
if diskErr != nil {
72-
log.WithError(err).Error("could not get disk usage")
70+
initialSize, fsErr := getFsUsage()
71+
if fsErr != nil {
72+
log.WithError(fsErr).Error("could not get disk usage")
7373
}
7474

7575
total := []csapi.InitializerMetric{}
@@ -81,10 +81,10 @@ func (e CompositeInitializer) Run(ctx context.Context, mappings []archive.IDMapp
8181
total = append(total, stats...)
8282
}
8383

84-
if diskErr == nil {
85-
currentSize, diskErr := getDiskUsage()
86-
if diskErr != nil {
87-
log.WithError(err).Error("could not get disk usage")
84+
if fsErr == nil {
85+
currentSize, fsErr := getFsUsage()
86+
if fsErr != nil {
87+
log.WithError(fsErr).Error("could not get disk usage")
8888
}
8989

9090
total = append(total, csapi.InitializerMetric{
@@ -215,9 +215,9 @@ func (bi *fromBackupInitializer) Run(ctx context.Context, mappings []archive.IDM
215215
}
216216

217217
start := time.Now()
218-
initialSize, diskErr := getDiskUsage()
219-
if diskErr != nil {
220-
log.WithError(err).Error("could not get disk usage")
218+
initialSize, fsErr := getFsUsage()
219+
if fsErr != nil {
220+
log.WithError(fsErr).Error("could not get disk usage")
221221
}
222222

223223
hasBackup, err := bi.RemoteStorage.Download(ctx, bi.Location, storage.DefaultBackup, mappings)
@@ -231,10 +231,10 @@ func (bi *fromBackupInitializer) Run(ctx context.Context, mappings []archive.IDM
231231
return src, nil, xerrors.Errorf("cannot restore backup: %w", err)
232232
}
233233

234-
if diskErr == nil {
235-
currentSize, diskErr := getDiskUsage()
236-
if diskErr != nil {
237-
log.WithError(err).Error("could not get disk usage")
234+
if fsErr == nil {
235+
currentSize, fsErr := getFsUsage()
236+
if fsErr != nil {
237+
log.WithError(fsErr).Error("could not get disk usage")
238238
}
239239

240240
stats = csapi.InitializerMetrics{csapi.InitializerMetric{
@@ -574,9 +574,14 @@ func PlaceWorkspaceReadyFile(ctx context.Context, wspath string, initsrc csapi.W
574574
return nil
575575
}
576576

577-
func getDiskUsage() (uint64, error) {
577+
func getFsUsage() (uint64, error) {
578578
var stat syscall.Statfs_t
579-
err := syscall.Statfs("/workspace", &stat)
579+
580+
err := syscall.Statfs("/dst", &stat)
581+
if os.IsNotExist(err) {
582+
err = syscall.Statfs("/workspace", &stat)
583+
}
584+
580585
if err != nil {
581586
return 0, err
582587
}

components/content-service/pkg/initializer/prebuild.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ func (p *PrebuildInitializer) Run(ctx context.Context, mappings []archive.IDMapp
3939
span, ctx := opentracing.StartSpanFromContext(ctx, "PrebuildInitializer")
4040
defer tracing.FinishSpan(span, &err)
4141
startTime := time.Now()
42-
initialSize, diskErr := getDiskUsage()
43-
if diskErr != nil {
44-
log.WithError(err).Error("could not get disk usage")
42+
initialSize, fsErr := getFsUsage()
43+
if fsErr != nil {
44+
log.WithError(fsErr).Error("could not get disk usage")
4545
}
4646

4747
var spandata []tracelog.Field
@@ -109,10 +109,10 @@ func (p *PrebuildInitializer) Run(ctx context.Context, mappings []archive.IDMapp
109109
}
110110
log.Debug("Initialized workspace with prebuilt snapshot")
111111

112-
if diskErr == nil {
113-
currentSize, err := getDiskUsage()
112+
if fsErr == nil {
113+
currentSize, fsErr := getFsUsage()
114114
if err != nil {
115-
log.WithError(err).Error("could not get disk usage")
115+
log.WithError(fsErr).Error("could not get disk usage")
116116
}
117117

118118
stats = append(stats, csapi.InitializerMetric{

components/content-service/pkg/initializer/snapshot.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ func (s *SnapshotInitializer) Run(ctx context.Context, mappings []archive.IDMapp
3333
span.SetTag("snapshot", s.Snapshot)
3434
defer tracing.FinishSpan(span, &err)
3535
start := time.Now()
36-
initialSize, diskErr := getDiskUsage()
37-
if diskErr != nil {
38-
log.WithError(err).Error("could not get disk usage")
36+
initialSize, fsErr := getFsUsage()
37+
if fsErr != nil {
38+
log.WithError(fsErr).Error("could not get disk usage")
3939
}
4040

4141
src = csapi.WorkspaceInitFromBackup
@@ -53,10 +53,10 @@ func (s *SnapshotInitializer) Run(ctx context.Context, mappings []archive.IDMapp
5353
return src, nil, xerrors.Errorf("did not find snapshot %s", s.Snapshot)
5454
}
5555

56-
if diskErr == nil {
57-
currentSize, diskErr := getDiskUsage()
58-
if diskErr == nil {
59-
log.WithError(err).Error("could not get disk usage")
56+
if fsErr == nil {
57+
currentSize, fsErr := getFsUsage()
58+
if fsErr == nil {
59+
log.WithError(fsErr).Error("could not get disk usage")
6060
}
6161

6262
stats = csapi.InitializerMetrics{csapi.InitializerMetric{

components/supervisor/pkg/metrics/reporter.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func NewGrpcMetricsReporter(gitpodHost string) *GrpcMetricsReporter {
4040
"grpc_server_started_total": true,
4141
"grpc_server_handling_seconds": true,
4242
"supervisor_ide_ready_duration_total": true,
43-
"initializer_bytes_second": true,
43+
"supervisor_initializer_bytes_second": true,
4444
},
4545
values: make(map[string]float64),
4646
addCounter: func(name string, labels map[string]string, value uint64) {

components/ws-daemon/pkg/content/service.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import (
4444
type metrics struct {
4545
BackupWaitingTimeHist prometheus.Histogram
4646
BackupWaitingTimeoutCounter prometheus.Counter
47-
InitializerHistogram prometheus.HistogramVec
47+
InitializerHistogram *prometheus.HistogramVec
4848
}
4949

5050
// WorkspaceService implements the InitService and WorkspaceService
@@ -130,7 +130,7 @@ func NewWorkspaceService(ctx context.Context, cfg Config, kubernetesNamespace st
130130
metrics: &metrics{
131131
BackupWaitingTimeHist: waitingTimeHist,
132132
BackupWaitingTimeoutCounter: waitingTimeoutCounter,
133-
InitializerHistogram: *initializerHistogram,
133+
InitializerHistogram: initializerHistogram,
134134
},
135135
// we permit five concurrent backups at any given time, hence the five in the channel
136136
backupWorkspaceLimiter: make(chan struct{}, 5),

install/installer/cmd/testdata/render/aws-setup/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/installer/cmd/testdata/render/azure-setup/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/installer/cmd/testdata/render/customization/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/installer/cmd/testdata/render/external-registry/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/installer/cmd/testdata/render/gcp-setup/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/installer/cmd/testdata/render/http-proxy/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/installer/cmd/testdata/render/insecure-s3-setup/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

install/installer/cmd/testdata/render/kind-ide/output.golden

Lines changed: 2 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)