Add detailed scanner metrics (#15161)

This commit is contained in:
Klaus Post
2022-07-05 14:45:49 -07:00
committed by GitHub
parent df42914da6
commit ac055b09e9
55 changed files with 1735 additions and 1753 deletions
+10
View File
@@ -17,6 +17,10 @@
package event
import (
"github.com/minio/madmin-go"
)
const (
// NamespaceFormat - namespace log format used in some event targets.
NamespaceFormat = "namespace"
@@ -79,6 +83,12 @@ type Event struct {
ResponseElements map[string]string `json:"responseElements"`
S3 Metadata `json:"s3"`
Source Source `json:"source"`
Type madmin.TraceType `json:"-"`
}
// Mask returns the type as mask.
func (e Event) Mask() uint64 {
return e.EventName.Mask()
}
// Log represents event information for some event targets.
+31 -11
View File
@@ -30,12 +30,12 @@ type Name int
// Values of event Name
const (
ObjectAccessedAll Name = 1 + iota
ObjectAccessedGet
// Single event types (does not require expansion)
ObjectAccessedGet Name = 1 + iota
ObjectAccessedGetRetention
ObjectAccessedGetLegalHold
ObjectAccessedHead
ObjectCreatedAll
ObjectCreatedCompleteMultipartUpload
ObjectCreatedCopy
ObjectCreatedPost
@@ -44,12 +44,10 @@ const (
ObjectCreatedPutLegalHold
ObjectCreatedPutTagging
ObjectCreatedDeleteTagging
ObjectRemovedAll
ObjectRemovedDelete
ObjectRemovedDeleteMarkerCreated
BucketCreated
BucketRemoved
ObjectReplicationAll
ObjectReplicationFailed
ObjectReplicationComplete
ObjectReplicationMissedThreshold
@@ -57,19 +55,28 @@ const (
ObjectReplicationNotTracked
ObjectRestorePostInitiated
ObjectRestorePostCompleted
ObjectRestorePostAll
ObjectTransitionAll
ObjectTransitionFailed
ObjectTransitionComplete
objectSingleTypesEnd
// Start Compound types that require expansion:
ObjectAccessedAll
ObjectCreatedAll
ObjectRemovedAll
ObjectReplicationAll
ObjectRestorePostAll
ObjectTransitionAll
)
// The number of single names should not exceed 64.
// This will break masking. Use bit 63 as extension.
var _ = uint64(1 << objectSingleTypesEnd)
// Expand - returns expanded values of abbreviated event type.
func (name Name) Expand() []Name {
switch name {
case BucketCreated:
return []Name{BucketCreated}
case BucketRemoved:
return []Name{BucketRemoved}
case ObjectAccessedAll:
return []Name{
ObjectAccessedGet, ObjectAccessedHead,
@@ -110,6 +117,19 @@ func (name Name) Expand() []Name {
}
}
// Mask returns the type as mask.
// Compound "All" types are expanded.
func (name Name) Mask() uint64 {
if name < objectSingleTypesEnd {
return 1 << (name - 1)
}
var mask uint64
for _, n := range name.Expand() {
mask |= 1 << (n - 1)
}
return mask
}
// String - returns string representation of event type.
func (name Name) String() string {
switch name {