Skip to content

Commit

Permalink
server-info: Avoid initializing audit/log http/kafka targets (#18703)
Browse files Browse the repository at this point in the history
This can cause unnecessary ServerInfo() call delay.
  • Loading branch information
vadmeste committed Dec 22, 2023
1 parent 9d7660b commit 8bd4f65
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 17 deletions.
15 changes: 11 additions & 4 deletions cmd/admin-handlers.go
Expand Up @@ -1911,7 +1911,7 @@ func getServerInfo(ctx context.Context, poolsInfoEnabled bool, r *http.Request)
}
}

log, audit := fetchLoggerInfo()
log, audit := fetchLoggerInfo(ctx)

// Get the notification target info
notifyTarget := fetchLambdaInfo()
Expand Down Expand Up @@ -2660,19 +2660,26 @@ func fetchKMSStatusV2(ctx context.Context) []madmin.KMS {
return stats
}

func targetStatus(ctx context.Context, h logger.Target) madmin.Status {
if h.IsOnline(ctx) {
return madmin.Status{Status: string(madmin.ItemOnline)}
}
return madmin.Status{Status: string(madmin.ItemOffline)}
}

// fetchLoggerDetails return log info
func fetchLoggerInfo() ([]madmin.Logger, []madmin.Audit) {
func fetchLoggerInfo(ctx context.Context) ([]madmin.Logger, []madmin.Audit) {
var loggerInfo []madmin.Logger
var auditloggerInfo []madmin.Audit
for _, tgt := range logger.SystemTargets() {
if tgt.Endpoint() != "" {
loggerInfo = append(loggerInfo, madmin.Logger{tgt.String(): logger.TargetStatus(GlobalContext, tgt)})
loggerInfo = append(loggerInfo, madmin.Logger{tgt.String(): targetStatus(ctx, tgt)})
}
}

for _, tgt := range logger.AuditTargets() {
if tgt.Endpoint() != "" {
auditloggerInfo = append(auditloggerInfo, madmin.Audit{tgt.String(): logger.TargetStatus(GlobalContext, tgt)})
auditloggerInfo = append(auditloggerInfo, madmin.Audit{tgt.String(): targetStatus(ctx, tgt)})
}
}

Expand Down
13 changes: 0 additions & 13 deletions internal/logger/targets.go
Expand Up @@ -23,7 +23,6 @@ import (
"strings"
"sync"

"github.com/minio/madmin-go/v3"
"github.com/minio/minio/internal/logger/target/http"
"github.com/minio/minio/internal/logger/target/kafka"
"github.com/minio/minio/internal/logger/target/types"
Expand Down Expand Up @@ -57,18 +56,6 @@ var (
consoleTgt Target
)

// TargetStatus returns status of the target (online|offline)
func TargetStatus(ctx context.Context, h Target) madmin.Status {
if h.IsOnline(ctx) {
return madmin.Status{Status: string(madmin.ItemOnline)}
}
// Previous initialization had failed. Try again.
if e := h.Init(ctx); e == nil {
return madmin.Status{Status: string(madmin.ItemOnline)}
}
return madmin.Status{Status: string(madmin.ItemOffline)}
}

// SystemTargets returns active targets.
// Returned slice may not be modified in any way.
func SystemTargets() []Target {
Expand Down

0 comments on commit 8bd4f65

Please sign in to comment.