Skip to content
This repository has been archived by the owner on Mar 27, 2024. It is now read-only.

Commit

Permalink
replace logger with structured
Browse files Browse the repository at this point in the history
  • Loading branch information
ilyam8 committed Nov 15, 2023
1 parent 1732c0e commit 5704fa8
Show file tree
Hide file tree
Showing 35 changed files with 235 additions and 1,115 deletions.
10 changes: 6 additions & 4 deletions agent/agent.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package agent
import (
"context"
"io"
"log/slog"
"os"
"os/signal"
"sync"
Expand Down Expand Up @@ -65,10 +66,11 @@ type Agent struct {

// New creates a new Agent.
func New(cfg Config) *Agent {
logger.Prefix = cfg.Name

return &Agent{
Logger: logger.New("main", "main"),
Logger: logger.New().With(
slog.String("component", "agent"),
slog.String("job", "main"),
),
Name: cfg.Name,
ConfDir: cfg.ConfDir,
ModulesConfDir: cfg.ModulesConfDir,
Expand Down Expand Up @@ -186,7 +188,7 @@ func (a *Agent) run(ctx context.Context) {
jobsManager.Modules = enabledModules

// TODO: rm 'if' after https://github.com/netdata/netdata/issues/16079
if logger.IsDebug() {
if logger.Level.Level() == slog.LevelDebug {
dyncfgDiscovery, _ := dyncfg.NewDiscovery(dyncfg.Config{
Plugin: a.Name,
API: netdataapi.New(a.Out),
Expand Down
10 changes: 7 additions & 3 deletions agent/discovery/dummy/discovery.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package dummy
import (
"context"
"fmt"
"log/slog"

"github.com/netdata/go.d.plugin/agent/confgroup"
"github.com/netdata/go.d.plugin/logger"
Expand All @@ -15,9 +16,12 @@ func NewDiscovery(cfg Config) (*Discovery, error) {
return nil, fmt.Errorf("config validation: %v", err)
}
d := &Discovery{
Logger: logger.New("discovery", "dummy"),
reg: cfg.Registry,
names: cfg.Names,
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "dummy"),
),
reg: cfg.Registry,
names: cfg.Names,
}
return d, nil
}
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/dyncfg/dyncfg.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"bytes"
"context"
"fmt"
"log/slog"
"strings"
"sync"

Expand All @@ -25,7 +26,10 @@ func NewDiscovery(cfg Config) (*Discovery, error) {
}

mgr := &Discovery{
Logger: logger.New("dyncfg", "manager"),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "dyncfg"),
),
Plugin: cfg.Plugin,
API: cfg.API,
Modules: cfg.Modules,
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/file/discovery.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"context"
"errors"
"fmt"
"log/slog"
"sync"

"github.com/netdata/go.d.plugin/agent/confgroup"
Expand All @@ -18,7 +19,10 @@ func NewDiscovery(cfg Config) (*Discovery, error) {
}

d := Discovery{
Logger: logger.New("discovery", "file manager"),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "file manager"),
),
}

if err := d.registerDiscoverers(cfg); err != nil {
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/file/read.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package file

import (
"context"
"log/slog"
"os"
"path/filepath"

Expand All @@ -21,7 +22,10 @@ type (

func NewReader(reg confgroup.Registry, paths []string) *Reader {
return &Reader{
Logger: logger.New("discovery", "file reader"),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "file reader"),
),

reg: reg,
paths: paths,
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/file/watch.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package file

import (
"context"
"log/slog"
"os"
"path/filepath"
"strings"
Expand Down Expand Up @@ -35,7 +36,10 @@ func (c cache) put(path string, modTime time.Time) { c[path] = modTime }

func NewWatcher(reg confgroup.Registry, paths []string) *Watcher {
d := &Watcher{
Logger: logger.New("discovery", "file watcher"),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "file watcher"),
),
paths: paths,
reg: reg,
watcher: nil,
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"context"
"errors"
"fmt"
"log/slog"
"sync"
"time"

Expand All @@ -21,7 +22,10 @@ func NewManager(cfg Config) (*Manager, error) {
}

mgr := &Manager{
Logger: logger.New("discovery", "manager"),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "manager"),
),
send: make(chan struct{}, 1),
sendEvery: time.Second * 2, // timeout to aggregate changes
discoverers: make([]discoverer, 0),
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/sd/hostsocket/net.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"context"
"errors"
"fmt"
"log/slog"
"os"
"os/exec"
"path/filepath"
Expand Down Expand Up @@ -60,7 +61,10 @@ func NewNetSocketDiscoverer(cfg NetworkSocketConfig) (*NetDiscoverer, error) {
}

d := &NetDiscoverer{
Logger: logger.New("hostsocket", "net"),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "sd hostsocket"),
),
interval: time.Second * 60,
ll: &localListenersExec{
binPath: filepath.Join(dir, "local-listeners"),
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/sd/kubernetes/kubernetes.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package kubernetes
import (
"context"
"fmt"
"log/slog"
"os"
"strings"
"sync"
Expand Down Expand Up @@ -44,7 +45,10 @@ func NewKubeDiscoverer(cfg Config) (*KubeDiscoverer, error) {
}

d := &KubeDiscoverer{
Logger: logger.New("k8s td manager", ""),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "sd k8s manager"),
),
namespaces: ns,
podConf: cfg.Pod,
svcConf: cfg.Service,
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/sd/kubernetes/pod.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package kubernetes
import (
"context"
"fmt"
"log/slog"
"net"
"strconv"
"strings"
Expand Down Expand Up @@ -67,7 +68,10 @@ func newPodDiscoverer(pod, cmap, secret cache.SharedInformer) *podDiscoverer {
})

return &podDiscoverer{
Logger: logger.New("k8s pod td", ""),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "sd k8s pod"),
),
podInformer: pod,
cmapInformer: cmap,
secretInformer: secret,
Expand Down
6 changes: 5 additions & 1 deletion agent/discovery/sd/kubernetes/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package kubernetes
import (
"context"
"fmt"
"log/slog"
"net"
"strconv"
"strings"
Expand Down Expand Up @@ -69,7 +70,10 @@ func newServiceDiscoverer(inf cache.SharedInformer) *serviceDiscoverer {
})

return &serviceDiscoverer{
Logger: logger.New("k8s service td", ""),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "sd k8s service"),
),
informer: inf,
queue: queue,
}
Expand Down
8 changes: 6 additions & 2 deletions agent/discovery/sd/pipeline/pipeline.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ package pipeline

import (
"context"
"github.com/netdata/go.d.plugin/agent/discovery/sd/hostsocket"
"log/slog"
"time"

"github.com/netdata/go.d.plugin/agent/confgroup"
"github.com/netdata/go.d.plugin/agent/discovery/sd/hostsocket"
"github.com/netdata/go.d.plugin/agent/discovery/sd/kubernetes"
"github.com/netdata/go.d.plugin/agent/discovery/sd/model"
"github.com/netdata/go.d.plugin/logger"
Expand All @@ -19,7 +20,10 @@ func New(cfg Config) (*Pipeline, error) {
}

p := &Pipeline{
Logger: logger.New("sd pipeline", cfg.Name),
Logger: logger.New().With(
slog.String("component", "discovery"),
slog.String("job", "sd pipeline"),
),
accum: newAccumulator(),
discoverers: make([]model.Discoverer, 0),
items: make(map[string]map[uint64][]confgroup.Config),
Expand Down
2 changes: 1 addition & 1 deletion agent/discovery/sd/pipeline/sim_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func (sim discoverySim) run(t *testing.T) {
accum.sendEvery = time.Second * 2

pl := &Pipeline{
Logger: logger.New("sd pipeline", "test"),
Logger: logger.New(),
accum: accum,
discoverers: sim.discoverers,
clr: mockClr,
Expand Down
2 changes: 1 addition & 1 deletion agent/discovery/sd/sim_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ type discoverySim struct {
func (sim *discoverySim) run(t *testing.T) {
fact := &mockFactory{}
mgr := &ServiceDiscovery{
Logger: logger.New("test", "test"),
Logger: logger.New(),
sdFactory: fact,
confProv: &mockConfigProvider{
configs: sim.configs,
Expand Down
6 changes: 5 additions & 1 deletion agent/filestatus/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package filestatus

import (
"context"
"log/slog"
"os"
"time"

Expand All @@ -13,7 +14,10 @@ import (

func NewManager(path string) *Manager {
return &Manager{
Logger: logger.New("status save", "manager"),
Logger: logger.New().With(
slog.String("component", "filestatus"),
slog.String("job", "manager"),
),
path: path,
store: &Store{},
flushEvery: time.Second * 5,
Expand Down
6 changes: 5 additions & 1 deletion agent/functions/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"bufio"
"context"
"io"
"log/slog"
"os"
"strings"
"sync"
Expand All @@ -20,7 +21,10 @@ var isTerminal = isatty.IsTerminal(os.Stdout.Fd()) || isatty.IsTerminal(os.Stdin

func NewManager() *Manager {
return &Manager{
Logger: logger.New("functions", "manager"),
Logger: logger.New().With(
slog.String("component", "functions"),
slog.String("job", "manager"),
),
Input: os.Stdin,
mux: &sync.Mutex{},
FunctionRegistry: make(map[string]func(Function)),
Expand Down
6 changes: 5 additions & 1 deletion agent/jobmgr/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"context"
"fmt"
"io"
"log/slog"
"os"
"strings"
"sync"
Expand Down Expand Up @@ -46,7 +47,10 @@ const (
func NewManager() *Manager {
np := noop{}
mgr := &Manager{
Logger: logger.New("job", "manager"),
Logger: logger.New().With(
slog.String("component", "job"),
slog.String("job", "manager"),
),
Out: io.Discard,
FileLock: np,
StatusSaver: np,
Expand Down
14 changes: 8 additions & 6 deletions agent/module/job.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"bytes"
"fmt"
"io"
"log/slog"
"os"
"regexp"
"runtime/debug"
Expand Down Expand Up @@ -185,8 +186,9 @@ func (j *Job) AutoDetection() (ok bool) {
ok = false
j.panicked = true
j.disableAutoDetection()

j.Errorf("PANIC %v", r)
if logger.IsDebug() {
if logger.Level.Level() == slog.LevelDebug {
j.Errorf("STACK: %s", debug.Stack())
}
}
Expand Down Expand Up @@ -255,9 +257,6 @@ func (j *Job) disableAutoDetection() {
}

func (j *Job) Cleanup() {
if j.Logger != nil {
logger.GlobalMsgCountWatcher.Unregister(j.Logger)
}
j.buf.Reset()
if !shouldObsoleteCharts() {
return
Expand Down Expand Up @@ -294,7 +293,10 @@ func (j *Job) init() bool {
return true
}

log := logger.NewLimited(j.ModuleName(), j.Name())
log := logger.New().With(
slog.String("module", j.ModuleName()),
slog.String("job", j.Name()),
)
j.Logger = log
j.module.GetBase().Logger = log

Expand Down Expand Up @@ -349,7 +351,7 @@ func (j *Job) collect() (result map[string]int64) {
if r := recover(); r != nil {
j.panicked = true
j.Errorf("PANIC: %v", r)
if logger.IsDebug() {
if logger.Level.Level() == slog.LevelDebug {
j.Errorf("STACK: %s", debug.Stack())
}
}
Expand Down

0 comments on commit 5704fa8

Please sign in to comment.