From 83c1bfbacd5d1f89c10db58f436ae6a975208fa3 Mon Sep 17 00:00:00 2001 From: Roman Shishkin Date: Thu, 18 Sep 2025 05:04:51 +0300 Subject: [PATCH] Populate bucket_traffic_received_bytes_total metric (#7249) --- weed/s3api/s3api_object_handlers_put.go | 2 +- weed/s3api/stats.go | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/weed/s3api/s3api_object_handlers_put.go b/weed/s3api/s3api_object_handlers_put.go index 2ce91e07c..17fceb8d2 100644 --- a/weed/s3api/s3api_object_handlers_put.go +++ b/weed/s3api/s3api_object_handlers_put.go @@ -362,7 +362,7 @@ func (s3a *S3ApiServer) putToFiler(r *http.Request, uploadUrl string, dataReader return "", filerErrorToS3Error(ret.Error), "" } - stats_collect.RecordBucketActiveTime(bucket) + BucketTrafficReceived(ret.Size, r) // Return the SSE type determined by the unified handler return etag, s3err.ErrNone, sseResult.SSEType diff --git a/weed/s3api/stats.go b/weed/s3api/stats.go index 973871bde..14c0ad150 100644 --- a/weed/s3api/stats.go +++ b/weed/s3api/stats.go @@ -37,6 +37,12 @@ func TimeToFirstByte(action string, start time.Time, r *http.Request) { stats_collect.RecordBucketActiveTime(bucket) } +func BucketTrafficReceived(bytesReceived int64, r *http.Request) { + bucket, _ := s3_constants.GetBucketAndObject(r) + stats_collect.RecordBucketActiveTime(bucket) + stats_collect.S3BucketTrafficReceivedBytesCounter.WithLabelValues(bucket).Add(float64(bytesReceived)) +} + func BucketTrafficSent(bytesTransferred int64, r *http.Request) { bucket, _ := s3_constants.GetBucketAndObject(r) stats_collect.RecordBucketActiveTime(bucket)