mirror of
https://github.com/minio/minio.git
synced 2025-01-23 12:43:16 -05:00
feat: Add healing trace (#15616)
This commit is contained in:
parent
d4e0f13bb3
commit
dec942beb6
@ -81,6 +81,13 @@ func (er erasureObjects) healBucket(ctx context.Context, storageDisks []StorageA
|
|||||||
writeQuorum++
|
writeQuorum++
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if globalTrace.NumSubscribers(madmin.TraceHealing) > 0 {
|
||||||
|
startTime := time.Now()
|
||||||
|
defer func() {
|
||||||
|
healTrace("heal.checkBucket", startTime, bucket, "", "", opts, err, &res)
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
// Initialize sync waitgroup.
|
// Initialize sync waitgroup.
|
||||||
g := errgroup.WithNErrs(len(storageDisks))
|
g := errgroup.WithNErrs(len(storageDisks))
|
||||||
|
|
||||||
@ -285,6 +292,12 @@ func (er erasureObjects) healObject(ctx context.Context, bucket string, object s
|
|||||||
storageDisks := er.getDisks()
|
storageDisks := er.getDisks()
|
||||||
storageEndpoints := er.getEndpoints()
|
storageEndpoints := er.getEndpoints()
|
||||||
|
|
||||||
|
if globalTrace.NumSubscribers(madmin.TraceHealing) > 0 {
|
||||||
|
startTime := time.Now()
|
||||||
|
defer func() {
|
||||||
|
healTrace("heal.checkVersion", startTime, bucket, object, versionID, opts, err, &result)
|
||||||
|
}()
|
||||||
|
}
|
||||||
// Initialize heal result object
|
// Initialize heal result object
|
||||||
result = madmin.HealResultItem{
|
result = madmin.HealResultItem{
|
||||||
Type: madmin.HealItemObject,
|
Type: madmin.HealItemObject,
|
||||||
@ -998,3 +1011,25 @@ func (er erasureObjects) HealObject(ctx context.Context, bucket, object, version
|
|||||||
}
|
}
|
||||||
return hr, toObjectErr(err, bucket, object, versionID)
|
return hr, toObjectErr(err, bucket, object, versionID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// healTrace sends healing results to trace output.
|
||||||
|
func healTrace(funcName string, startTime time.Time, bucket, object, versionID string, opts madmin.HealOpts, err error, result *madmin.HealResultItem) {
|
||||||
|
tr := madmin.TraceInfo{
|
||||||
|
TraceType: madmin.TraceHealing,
|
||||||
|
Time: startTime,
|
||||||
|
NodeName: globalLocalNodeName,
|
||||||
|
FuncName: funcName,
|
||||||
|
Duration: time.Since(startTime),
|
||||||
|
Message: fmt.Sprintf("dry:%v, rm:%v, recreate:%v mode:%v", opts.DryRun, opts.Remove, opts.Recreate, opts.ScanMode),
|
||||||
|
Path: fmt.Sprintf("%s/%s", bucket, object),
|
||||||
|
}
|
||||||
|
if versionID != "" && versionID != "null" {
|
||||||
|
tr.Path += " v-" + versionID
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
tr.Error = err.Error()
|
||||||
|
} else {
|
||||||
|
tr.HealResult = result
|
||||||
|
}
|
||||||
|
globalTrace.Publish(tr)
|
||||||
|
}
|
||||||
|
2
go.mod
2
go.mod
@ -48,7 +48,7 @@ require (
|
|||||||
github.com/minio/dperf v0.4.2
|
github.com/minio/dperf v0.4.2
|
||||||
github.com/minio/highwayhash v1.0.2
|
github.com/minio/highwayhash v1.0.2
|
||||||
github.com/minio/kes v0.20.0
|
github.com/minio/kes v0.20.0
|
||||||
github.com/minio/madmin-go v1.4.25
|
github.com/minio/madmin-go v1.4.26
|
||||||
github.com/minio/minio-go/v7 v7.0.34
|
github.com/minio/minio-go/v7 v7.0.34
|
||||||
github.com/minio/pkg v1.3.0
|
github.com/minio/pkg v1.3.0
|
||||||
github.com/minio/selfupdate v0.5.0
|
github.com/minio/selfupdate v0.5.0
|
||||||
|
4
go.sum
4
go.sum
@ -623,8 +623,8 @@ github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLT
|
|||||||
github.com/minio/kes v0.20.0 h1:1tyC51Rr8zTregTESuT/QN/iebNMX7B9t7d3xLNMEpE=
|
github.com/minio/kes v0.20.0 h1:1tyC51Rr8zTregTESuT/QN/iebNMX7B9t7d3xLNMEpE=
|
||||||
github.com/minio/kes v0.20.0/go.mod h1:3FW1BQkMGQW78yhy+69tUq5bdcf5rnXJizyeKB9a/tc=
|
github.com/minio/kes v0.20.0/go.mod h1:3FW1BQkMGQW78yhy+69tUq5bdcf5rnXJizyeKB9a/tc=
|
||||||
github.com/minio/madmin-go v1.3.5/go.mod h1:vGKGboQgGIWx4DuDUaXixjlIEZOCIp6ivJkQoiVaACc=
|
github.com/minio/madmin-go v1.3.5/go.mod h1:vGKGboQgGIWx4DuDUaXixjlIEZOCIp6ivJkQoiVaACc=
|
||||||
github.com/minio/madmin-go v1.4.25 h1:IEJpsTXlHz18/yRI5HxY84KaJdDjUUYdMiC5f8fId4g=
|
github.com/minio/madmin-go v1.4.26 h1:hss2NjaMpZEHlaGJh2rGRYH6GiNY6g8+ogrUoxbjafg=
|
||||||
github.com/minio/madmin-go v1.4.25/go.mod h1:ez87VmMtsxP7DRxjKJKD4RDNW+nhO2QF9KSzwxBDQ98=
|
github.com/minio/madmin-go v1.4.26/go.mod h1:ez87VmMtsxP7DRxjKJKD4RDNW+nhO2QF9KSzwxBDQ98=
|
||||||
github.com/minio/mc v0.0.0-20220818165341-8c239d16aa37 h1:UE9kHgdza2HB4DDx0nIn0jHRl6YASUomVoKjciMfqjM=
|
github.com/minio/mc v0.0.0-20220818165341-8c239d16aa37 h1:UE9kHgdza2HB4DDx0nIn0jHRl6YASUomVoKjciMfqjM=
|
||||||
github.com/minio/mc v0.0.0-20220818165341-8c239d16aa37/go.mod h1:O3pvs5/n57bZ0mpcG/skBuD4pHX6m+wVbW7lw8LO5go=
|
github.com/minio/mc v0.0.0-20220818165341-8c239d16aa37/go.mod h1:O3pvs5/n57bZ0mpcG/skBuD4pHX6m+wVbW7lw8LO5go=
|
||||||
github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw=
|
github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw=
|
||||||
|
Loading…
x
Reference in New Issue
Block a user