Skip to content

Commit

Permalink
Replace logrus with zap logger (#87)
Browse files Browse the repository at this point in the history
Signed-off-by: Arrobo, Gabriel <[email protected]>
  • Loading branch information
gab-arrobo authored Oct 3, 2024
1 parent 3686cc1 commit a644a77
Show file tree
Hide file tree
Showing 17 changed files with 94 additions and 476 deletions.
20 changes: 0 additions & 20 deletions .fossa.yml

This file was deleted.

2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4.2-dev
1.5.0
4 changes: 2 additions & 2 deletions api/apiserver/apiserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ import (
"github.com/omec-project/metricfunc/config"
"github.com/omec-project/metricfunc/logger"
"github.com/omec-project/util/http2_util"
logger_util "github.com/omec-project/util/logger"
utilLogger "github.com/omec-project/util/logger"
)

func init() {
}

func StartApiServer(cfg *config.ServerAddr) {
router := logger_util.NewGinWithLogrus(logger.GinLog)
router := utilLogger.NewGinWithZap(logger.GinLog)
AddService(router)
HTTPAddr := fmt.Sprintf(":%d", cfg.Port)
logger.ApiSrvLog.Debugf("api server initialised on address [%v] port [%v] ", cfg.Addr, cfg.Port)
Expand Down
4 changes: 2 additions & 2 deletions api/apiserver/routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

"github.com/gin-gonic/gin"
"github.com/omec-project/metricfunc/logger"
logger_util "github.com/omec-project/util/logger"
utilLogger "github.com/omec-project/util/logger"
)

// Route is the information for every URI.
Expand All @@ -30,7 +30,7 @@ type Routes []Route

// NewRouter returns a new router.
func NewRouter() *gin.Engine {
router := logger_util.NewGinWithLogrus(logger.ApiSrvLog)
router := utilLogger.NewGinWithZap(logger.ApiSrvLog)
AddService(router)
return router
}
Expand Down
20 changes: 10 additions & 10 deletions controller/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ type SiteInfo struct {
func InitControllerConfig(CConfig *config.Config) error {
ControllerConfig = *CConfig
// Read provided config
fmt.Printf("Controller configuration")
logger.ControllerLog.Infoln("controller configuration")

// set http client
if ControllerConfig.Info.HttpVersion == 2 {
Expand All @@ -88,14 +88,14 @@ func InitControllerConfig(CConfig *config.Config) error {
logger.ControllerLog.Infoln("Ons Api Server Endpoint:")
addr := ControllerConfig.Configuration.UserAppApiServer.Addr
ControllerConfig.Configuration.UserAppApiServer.Addr = strings.TrimSpace(addr)
logger.ControllerLog.Infoln("Address ", ControllerConfig.Configuration.UserAppApiServer.Addr)
logger.ControllerLog.Infoln("Port ", ControllerConfig.Configuration.UserAppApiServer.Port)
logger.ControllerLog.Infoln("PollInterval ", ControllerConfig.Configuration.UserAppApiServer.PollInterval)
logger.ControllerLog.Infoln("Address", ControllerConfig.Configuration.UserAppApiServer.Addr)
logger.ControllerLog.Infoln("Port", ControllerConfig.Configuration.UserAppApiServer.Port)
logger.ControllerLog.Infoln("PollInterval", ControllerConfig.Configuration.UserAppApiServer.PollInterval)

logger.ControllerLog.Infoln("Roc Endpoint:")
ControllerConfig.Configuration.RocEndPoint.Addr = strings.TrimSpace(ControllerConfig.Configuration.RocEndPoint.Addr)
logger.ControllerLog.Infoln("Address ", ControllerConfig.Configuration.RocEndPoint.Addr)
logger.ControllerLog.Infoln("Port ", ControllerConfig.Configuration.RocEndPoint.Port)
logger.ControllerLog.Infoln("Address", ControllerConfig.Configuration.RocEndPoint.Addr)
logger.ControllerLog.Infoln("Port", ControllerConfig.Configuration.RocEndPoint.Port)

return nil
}
Expand All @@ -121,7 +121,7 @@ func sendHttpReqMsgWithoutRetry(req *http.Request) (*http.Response, error) {
if rsp.StatusCode == http.StatusAccepted ||
rsp.StatusCode == http.StatusOK || rsp.StatusCode == http.StatusNoContent ||
rsp.StatusCode == http.StatusCreated {
logger.ControllerLog.Infoln("Success response from peer: ", http.StatusText(rsp.StatusCode))
logger.ControllerLog.Infoln("successful response from peer:", http.StatusText(rsp.StatusCode))
return rsp, nil
} else {
logger.ControllerLog.Errorf("http rsp error [%v]", http.StatusText(rsp.StatusCode))
Expand Down Expand Up @@ -153,7 +153,7 @@ func sendHttpReqMsg(req *http.Request) (*http.Response, error) {
retries += 1
if err != nil {
nextInterval := getNextBackoffInterval(retries, 2)
logger.ControllerLog.Warningf("http req send error [%v], retrying after %v sec...", err.Error(), nextInterval)
logger.ControllerLog.Warnf("http req send error [%v], retrying after %v sec...", err.Error(), nextInterval)
time.Sleep(time.Second * time.Duration(nextInterval))
continue
}
Expand All @@ -171,7 +171,7 @@ func sendHttpReqMsg(req *http.Request) (*http.Response, error) {
} else {
nextInterval := getNextBackoffInterval(retries, 2)
logMsg := "http rsp error [%v], retrying after [%v] sec..."
logger.ControllerLog.Warningf(logMsg, http.StatusText(rsp.StatusCode), nextInterval)
logger.ControllerLog.Warnf(logMsg, http.StatusText(rsp.StatusCode), nextInterval)
err := rsp.Body.Close()
if err != nil {
logger.ControllerLog.Warnf("body close error: %v", err)
Expand Down Expand Up @@ -340,7 +340,7 @@ func (rocClient *RocService) DisableSimcard(targets []Targets, imsi string) {
}
}

logger.ControllerLog.Warningf("Imsi details not found in Targets and SiteInfo: [%v]", imsi)
logger.ControllerLog.Warnf("Imsi details not found in Targets and SiteInfo: [%v]", imsi)
}

func RogueIPHandler(rogueIPChannel chan RogueIPs) {
Expand Down
6 changes: 2 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@ module github.com/omec-project/metricfunc
go 1.21

require (
github.com/antonfisher/nested-logrus-formatter v1.3.1
github.com/gin-gonic/gin v1.10.0
github.com/omec-project/openapi v1.3.1
github.com/omec-project/util v1.1.0
github.com/omec-project/util v1.2.1
github.com/prometheus/client_golang v1.20.4
github.com/segmentio/kafka-go v0.4.47
github.com/sirupsen/logrus v1.9.3
go.uber.org/zap v1.27.0
golang.org/x/net v0.29.0
gopkg.in/yaml.v2 v2.4.0
)
Expand Down Expand Up @@ -48,7 +47,6 @@ require (
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
github.com/ugorji/go/codec v1.2.12 // indirect
go.uber.org/multierr v1.10.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/arch v0.8.0 // indirect
golang.org/x/crypto v0.27.0 // indirect
golang.org/x/oauth2 v0.23.0 // indirect
Expand Down
9 changes: 2 additions & 7 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
github.com/antonfisher/nested-logrus-formatter v1.3.1 h1:NFJIr+pzwv5QLHTPyKz9UMEoHck02Q9L0FP13b/xSbQ=
github.com/antonfisher/nested-logrus-formatter v1.3.1/go.mod h1:6WTfyWFkBc9+zyBaKIqRrg/KwMqBbodBjgbHjDz7zjA=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
Expand Down Expand Up @@ -72,8 +70,8 @@ github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32 h1:W6apQkHrMkS0Muv8G/TipAy
github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
github.com/omec-project/openapi v1.3.1 h1:NCteMRdMtWnMhf1CXYduuLgeu8fEhc/7XO1CiE7fN3Y=
github.com/omec-project/openapi v1.3.1/go.mod h1:cR6Iharp2TLOzEmskQ/EdCVFZnpKh0zTvUSSuyXAYLE=
github.com/omec-project/util v1.1.0 h1:TUuLmzqTLChIEXQlK9g5Ihgmw4FUm/UJnjfu0wT8Gz0=
github.com/omec-project/util v1.1.0/go.mod h1:BEv8nCokB4j0fgAQ6VVkKuQ2PSP3DJMEmz25pFMw5X8=
github.com/omec-project/util v1.2.1 h1:+o5kbnZzKBmbqT4oprVGPgL0jH5b8BvRMfLye5srGQ4=
github.com/omec-project/util v1.2.1/go.mod h1:kUF2LXhmtw+m7Bk5IGOMFLj7CA8VKtilLI/9QBJcfxE=
github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0=
Expand All @@ -94,8 +92,6 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/segmentio/kafka-go v0.4.47 h1:IqziR4pA3vrZq7YdRxaT3w1/5fvIH5qpCwstUanQQB0=
github.com/segmentio/kafka-go v0.4.47/go.mod h1:HjF6XbOKh0Pjlkr5GVZxt6CsjjwnmhVOfURM5KMd8qg=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
Expand Down Expand Up @@ -152,7 +148,6 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
Expand Down
2 changes: 1 addition & 1 deletion internal/metricdata/metricdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ package metricdata
import (
"sync"

"github.com/omec-project/metricfunc/pkg/metricinfo"
"github.com/omec-project/util/metricinfo"
)

var metricData MetricData
Expand Down
2 changes: 1 addition & 1 deletion internal/metricdata/nfstatus.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package metricdata

import (
"github.com/omec-project/metricfunc/internal/promclient"
"github.com/omec-project/metricfunc/pkg/metricinfo"
"github.com/omec-project/util/metricinfo"
)

func GetNfStatusbyNfType(nfType string) []metricinfo.CNfStatus {
Expand Down
2 changes: 1 addition & 1 deletion internal/metricdata/servicestats.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

"github.com/omec-project/metricfunc/internal/promclient"
"github.com/omec-project/metricfunc/logger"
"github.com/omec-project/metricfunc/pkg/metricinfo"
"github.com/omec-project/util/metricinfo"
)

type nfServiceStats struct {
Expand Down
2 changes: 1 addition & 1 deletion internal/metricdata/servicestats_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package metricdata

import (
"github.com/omec-project/metricfunc/logger"
"github.com/omec-project/metricfunc/pkg/metricinfo"
"github.com/omec-project/util/metricinfo"
)

func TestfillTestSmfSvcStats() {
Expand Down
2 changes: 1 addition & 1 deletion internal/metricdata/subscriber.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

"github.com/omec-project/metricfunc/internal/promclient"
"github.com/omec-project/metricfunc/logger"
"github.com/omec-project/metricfunc/pkg/metricinfo"
"github.com/omec-project/util/metricinfo"
)

var smContextActive uint64
Expand Down
25 changes: 12 additions & 13 deletions internal/promclient/promclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package promclient

import (
"fmt"
"log"
"net/http"

"github.com/omec-project/metricfunc/config"
Expand All @@ -29,12 +28,12 @@ func init() {
promStats = initPromStats()

if err := promStats.register(); err != nil {
log.Panicln("prometheus stats register failed ", err.Error())
logger.PromLog.Panicln("prometheus stats register failed", err.Error())
}
}

func StartPrometheusClient(cfg *config.ServerAddr) {
logger.PromLog.Debugf("prometheus server initialised on address [%v] port [%v] ", cfg.Addr, cfg.Port)
logger.PromLog.Debugf("prometheus server initialised on address [%v] port [%v]", cfg.Addr, cfg.Port)
HTTPAddr := fmt.Sprintf(":%d", cfg.Port)
http.Handle("/metrics", promhttp.Handler())
http.ListenAndServe(HTTPAddr, nil)
Expand Down Expand Up @@ -71,35 +70,35 @@ func initPromStats() *PromStats {

func (ps *PromStats) register() error {
if err := prometheus.Register(ps.coreSub); err != nil {
logger.PromLog.Errorf("register core subscriber detail stats failed: %v ", err.Error())
logger.PromLog.Errorf("register core subscriber detail stats failed: %v", err.Error())
return err
}

if err := prometheus.Register(ps.smfSessions); err != nil {
logger.PromLog.Errorf("register core subscriber count stats failed: %v ", err.Error())
logger.PromLog.Errorf("register core subscriber count stats failed: %v", err.Error())
return err
}

if err := prometheus.Register(ps.nfStatus); err != nil {
logger.PromLog.Errorf("register nf status stats failed: %v ", err.Error())
logger.PromLog.Errorf("register nf status stats failed: %v", err.Error())
return err
}

if err := prometheus.Register(ps.smfSvcStat); err != nil {
logger.PromLog.Errorf("register smf service stats failed: %v ", err.Error())
logger.PromLog.Errorf("register smf service stats failed: %v", err.Error())
return err
}

if err := prometheus.Register(ps.amfSvcStat); err != nil {
logger.PromLog.Errorf("register amf service stats failed: %v ", err.Error())
logger.PromLog.Errorf("register amf service stats failed: %v", err.Error())
return err
}
return nil
}

// PushCoreSubData increments message level stats
func PushCoreSubData(imsi, ip_addr, state, smf_ip, dnn, slice, upf string) {
logger.PromLog.Debugf("adding subscriber data [%v, %v, %v, %v, %v, %v %v ]", imsi, ip_addr, state, smf_ip, dnn, slice, upf)
logger.PromLog.Debugf("adding subscriber data [%v, %v, %v, %v, %v, %v, %v]", imsi, ip_addr, state, smf_ip, dnn, slice, upf)
promStats.coreSub.WithLabelValues(imsi, "", state, smf_ip, dnn, slice, upf).Inc()
}

Expand All @@ -110,12 +109,12 @@ func DeleteCoreSubData(imsi, ip_addr, state, smf_ip, dnn, slice, upf string) {

// SetSessStats maintains Session level stats
func SetSmfSessStats(smfIp, slice, dnn, upf string, count uint64) {
logger.PromLog.Debugf("setting smf session count [%v] with labels [smfIp:%v, slice:%v, dnn:%v, upf:%v ]", count, smfIp, slice, dnn, upf)
logger.PromLog.Debugf("setting smf session count [%v] with labels [smfIp:%v, slice:%v, dnn:%v, upf:%v]", count, smfIp, slice, dnn, upf)
promStats.smfSessions.WithLabelValues("", "", "", "").Set(float64(count))
}

func DeleteSmfSessStats(smfIp, slice, dnn, upf string) {
logger.PromLog.Warn("deleting smf session count stats")
logger.PromLog.Warnln("deleting smf session count stats")
promStats.smfSessions.DeleteLabelValues(smfIp, slice, dnn, upf)
}

Expand All @@ -125,11 +124,11 @@ func SetNfStatus(nfName, nfType, nfStatus string, value uint64) {
}

func IncrementSmfSvcStats(smfId, msgType string) {
logger.PromLog.Debugf("incrementing smf service stats, instance [%v] msgtype [%v] ", smfId, msgType)
logger.PromLog.Debugf("incrementing smf service stats, instance [%v] msgtype [%v]", smfId, msgType)
promStats.smfSvcStat.WithLabelValues(smfId, msgType).Inc()
}

func IncrementAmfSvcStats(amfId, msgType string) {
logger.PromLog.Debugf("incrementing amf service stats, instance [%v] msgtype [%v] ", amfId, msgType)
logger.PromLog.Debugf("incrementing amf service stats, instance [%v] msgtype [%v]", amfId, msgType)
promStats.smfSvcStat.WithLabelValues(amfId, msgType).Inc()
}
15 changes: 7 additions & 8 deletions internal/reader/reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,12 @@ import (
"context"
"encoding/json"
"fmt"
"log"
"time"

"github.com/omec-project/metricfunc/config"
"github.com/omec-project/metricfunc/internal/metricdata"
"github.com/omec-project/metricfunc/logger"
"github.com/omec-project/metricfunc/pkg/metricinfo"
"github.com/omec-project/util/metricinfo"
"github.com/segmentio/kafka-go"
)

Expand Down Expand Up @@ -49,29 +48,29 @@ func getSourceNfType(r *kafka.Reader) metricinfo.NfType {
case "sdcore-data-source-amf":
return metricinfo.NfTypeAmf
default:
log.Default().Fatalf("invalid topic name [%v] ", topic)
logger.AppLog.Fatalf("invalid topic name [%v]", topic)
return metricinfo.NfTypeEnd
}
}

func reader(r *kafka.Reader) {
logger.AppLog.Infof("kafka reader for topic [%v] initialised ", r.Config().Topic)
logger.AppLog.Infof("kafka reader for topic [%v] initialised", r.Config().Topic)
sourceNf := getSourceNfType(r)
for {
// the `ReadMessage` function blocks until we receive the next event
ctxt := context.Background()
msg, err := r.ReadMessage(ctxt)
if err != nil {
logger.AppLog.Errorf("Error reading off kafka bus err:%v", err)
logger.AppLog.Errorf("Error reading off kafka bus err: %v", err)
time.Sleep(10 * time.Millisecond)
continue
}
logger.AppLog.Debugf("stream [%v] message %s ", r.Config().Topic, string(msg.Value))
logger.AppLog.Debugf("stream [%v] message %s", r.Config().Topic, string(msg.Value))

var metricEvent metricinfo.MetricEvent
// Unmarshal the msg
if err := json.Unmarshal(msg.Value, &metricEvent); err != nil {
logger.AppLog.Fatalf("unmarshal smf event error %v ", err.Error())
logger.AppLog.Fatalf("unmarshal smf event error %v", err.Error())
}

switch metricEvent.EventType {
Expand All @@ -82,7 +81,7 @@ func reader(r *kafka.Reader) {
case metricinfo.CNfStatusEvt:
metricdata.HandleNfStatusEvent(&metricEvent.NfStatusData)
default:
log.Fatalf("unknown event type [%v] ", metricEvent.EventType)
logger.AppLog.Fatalf("unknown event type [%v]", metricEvent.EventType)
}
}
}
Loading

0 comments on commit a644a77

Please sign in to comment.