From 403aee30a22ea79c564ded009bbe7b61fc217a51 Mon Sep 17 00:00:00 2001 From: Kislay Kishore Date: Fri, 23 Aug 2024 11:43:14 +0530 Subject: [PATCH] Change category name to look more like codes Currently, the category names are phrases/sentences. Keeping it as codes makes them more succinct and easily searchable. --- internal/fs/wrappers/monitoring.go | 54 +++++++++++++++++-------- internal/fs/wrappers/monitoring_test.go | 30 +++++++------- 2 files changed, 52 insertions(+), 32 deletions(-) diff --git a/internal/fs/wrappers/monitoring.go b/internal/fs/wrappers/monitoring.go index db99866e80..603dfc25d8 100644 --- a/internal/fs/wrappers/monitoring.go +++ b/internal/fs/wrappers/monitoring.go @@ -45,6 +45,26 @@ var ( tracer = otel.Tracer(name) ) +// Error categories +const ( + deviceErr = "DEVICE_ERRORS" + dirNotEmptyErr = "DIR_NOT_EMPTY" + fileExistsErr = "FILE_EXISTS" + fileDirErr = "FILE_DIR_ERROR" + notImplementedErr = "NOT_IMPLEMENTED" + ioErr = "IO_ERROR" + intrErr = "INTERRUPT_ERROR" + invalidArgErr = "INVALID_ARGUMENT" + invalidOpErr = "INVALID_OPERATION" + miscErr = "MISC_ERROR" + nwErr = "NETWORK_ERROR" + noFileOrDirErr = "NO_FILE_OR_DIR" + notADirErr = "NOT_A_DIR" + permError = "PERM_ERROR" + processMgmtErr = "PROCESS_RESOURCE_MGMT_ERROR" + tooManyFilesErr = "TOO_MANY_OPEN_FILES" +) + // Initialize the metrics. func init() { @@ -96,13 +116,13 @@ func categorize(err error) string { syscall.EPROTO, syscall.ERFKILL, syscall.EXDEV: - return "device errors" + return deviceErr case syscall.ENOTEMPTY: - return "directory not empty" + return dirNotEmptyErr case syscall.EEXIST: - return "file exists" + return fileExistsErr case syscall.EBADF, syscall.EBADFD, @@ -110,20 +130,20 @@ func categorize(err error) string { syscall.EISDIR, syscall.EISNAM, syscall.ENOTBLK: - return "file/directory errors" + return fileDirErr case syscall.ENOSYS: - return "function not implemented" + return notImplementedErr case syscall.EIO: - return "input/output error" + return ioErr case syscall.ECANCELED, syscall.EINTR: - return "interrupt errors" + return intrErr case syscall.EINVAL: - return "invalid argument" + return invalidArgErr case syscall.E2BIG, syscall.EALREADY, @@ -136,7 +156,7 @@ func categorize(err error) string { syscall.ENOTTY, syscall.ERANGE, syscall.ESPIPE: - return "invalid operation" + return invalidOpErr case syscall.EADV, syscall.EBADSLT, @@ -170,7 +190,7 @@ func categorize(err error) string { syscall.EUCLEAN, syscall.EUNATCH, syscall.EXFULL: - return "miscellaneous errors" + return miscErr case syscall.EADDRINUSE, syscall.EADDRNOTAVAIL, @@ -210,13 +230,13 @@ func categorize(err error) string { syscall.ESOCKTNOSUPPORT, syscall.ESTRPIPE, syscall.ETIMEDOUT: - return "network errors" + return nwErr case syscall.ENOENT: - return "no such file or directory" + return noFileOrDirErr case syscall.ENOTDIR: - return "not a directory" + return notADirErr case syscall.EACCES, syscall.EKEYEXPIRED, @@ -226,7 +246,7 @@ func categorize(err error) string { syscall.EPERM, syscall.EROFS, syscall.ETXTBSY: - return "permission errors" + return permError case syscall.EAGAIN, syscall.EBUSY, @@ -243,13 +263,13 @@ func categorize(err error) string { syscall.EOWNERDEAD, syscall.ESRCH, syscall.EUSERS: - return "process/resource management errors" + return processMgmtErr case syscall.EMFILE, syscall.ENFILE: - return "too many open files" + return tooManyFilesErr } - return "miscellaneous errors" + return miscErr } // Records file system operation count, failed operation count and the operation latency. diff --git a/internal/fs/wrappers/monitoring_test.go b/internal/fs/wrappers/monitoring_test.go index ab67d2a407..a0cea6e9fb 100644 --- a/internal/fs/wrappers/monitoring_test.go +++ b/internal/fs/wrappers/monitoring_test.go @@ -37,63 +37,63 @@ func TestFsErrStrAndCategory(t *testing.T) { }{ { fsErr: fmt.Errorf("some random error"), - expectedCategory: "input/output error", + expectedCategory: ioErr, }, { fsErr: syscall.ENOTEMPTY, - expectedCategory: "directory not empty", + expectedCategory: dirNotEmptyErr, }, { fsErr: syscall.EEXIST, - expectedCategory: "file exists", + expectedCategory: fileExistsErr, }, { fsErr: syscall.EINVAL, - expectedCategory: "invalid argument", + expectedCategory: invalidArgErr, }, { fsErr: syscall.EINTR, - expectedCategory: "interrupt errors", + expectedCategory: intrErr, }, { fsErr: syscall.ENOSYS, - expectedCategory: "function not implemented", + expectedCategory: notImplementedErr, }, { fsErr: syscall.ENOSPC, - expectedCategory: "process/resource management errors", + expectedCategory: processMgmtErr, }, { fsErr: syscall.E2BIG, - expectedCategory: "invalid operation", + expectedCategory: invalidOpErr, }, { fsErr: syscall.EHOSTDOWN, - expectedCategory: "network errors", + expectedCategory: nwErr, }, { fsErr: syscall.ENODATA, - expectedCategory: "miscellaneous errors", + expectedCategory: miscErr, }, { fsErr: syscall.ENODEV, - expectedCategory: "device errors", + expectedCategory: deviceErr, }, { fsErr: syscall.EISDIR, - expectedCategory: "file/directory errors", + expectedCategory: fileDirErr, }, { fsErr: syscall.ENOSYS, - expectedCategory: "function not implemented", + expectedCategory: notImplementedErr, }, { fsErr: syscall.ENFILE, - expectedCategory: "too many open files", + expectedCategory: tooManyFilesErr, }, { fsErr: syscall.EPERM, - expectedCategory: "permission errors", + expectedCategory: permError, }, }