diff options
| author | Konstantin Lebedev <lebedev_k@tochka.com> | 2021-05-24 12:14:50 +0500 |
|---|---|---|
| committer | Konstantin Lebedev <lebedev_k@tochka.com> | 2021-05-24 12:14:50 +0500 |
| commit | 0e404cd84bf08e03fcab3340a6b15655ced67b55 (patch) | |
| tree | 2adf38bc5eca44933a08ee3255cdbc91010e063f | |
| parent | 759e4f1a7548c1796ff310c4f26a6a832912dd5c (diff) | |
| download | seaweedfs-0e404cd84bf08e03fcab3340a6b15655ced67b55.tar.xz seaweedfs-0e404cd84bf08e03fcab3340a6b15655ced67b55.zip | |
Chunk download stats
| -rw-r--r-- | weed/filer/stream.go | 7 |
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 |
