aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Lebedev <lebedev_k@tochka.com>2021-05-24 12:14:50 +0500
committerKonstantin Lebedev <lebedev_k@tochka.com>2021-05-24 12:14:50 +0500
commit0e404cd84bf08e03fcab3340a6b15655ced67b55 (patch)
tree2adf38bc5eca44933a08ee3255cdbc91010e063f
parent759e4f1a7548c1796ff310c4f26a6a832912dd5c (diff)
downloadseaweedfs-0e404cd84bf08e03fcab3340a6b15655ced67b55.tar.xz
seaweedfs-0e404cd84bf08e03fcab3340a6b15655ced67b55.zip
Chunk download stats
-rw-r--r--weed/filer/stream.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/weed/filer/stream.go b/weed/filer/stream.go
index 2c25b8722..eb02d0e56 100644
--- a/weed/filer/stream.go
+++ b/weed/filer/stream.go
@@ -6,9 +6,11 @@ import (
"io"
"math"
"strings"
+ "time"
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
+ "github.com/chrislusf/seaweedfs/weed/stats"
"github.com/chrislusf/seaweedfs/weed/util"
"github.com/chrislusf/seaweedfs/weed/wdclient"
)
@@ -36,16 +38,21 @@ func StreamContent(masterClient wdclient.HasLookupFileIdFunction, w io.Writer, c
for _, chunkView := range chunkViews {
urlStrings := fileId2Url[chunkView.FileId]
+ start := time.Now()
data, err := retriedFetchChunkData(urlStrings, chunkView.CipherKey, chunkView.IsGzipped, chunkView.IsFullChunk(), chunkView.Offset, int(chunkView.Size))
+ stats.FilerRequestHistogram.WithLabelValues("chunkDownload").Observe(time.Since(start).Seconds())
if err != nil {
+ stats.FilerRequestCounter.WithLabelValues("chunkDownloadError").Inc()
glog.Errorf("read chunk: %v", err)
return fmt.Errorf("read chunk: %v", err)
}
_, err = w.Write(data)
if err != nil {
+ stats.FilerRequestCounter.WithLabelValues("chunkDownloadedError").Inc()
glog.Errorf("write chunk: %v", err)
return fmt.Errorf("write chunk: %v", err)
}
+ stats.FilerRequestCounter.WithLabelValues("chunkDownload").Inc()
}
return nil