Skip to content

Commit e5911f5

Browse files
committed
refactor: the tracing manager
Signed-off-by: Tonghao Zhang <tonghao@bamaicloud.com>
1 parent 575372b commit e5911f5

File tree

6 files changed

+49
-49
lines changed

6 files changed

+49
-49
lines changed

cmd/huatuo-bamai/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,12 @@ func mainAction(ctx *cli.Context) error {
112112
return err
113113
}
114114

115-
mgr, err := tracing.NewMgrTracingEvent(blacklisted)
115+
mgr, err := tracing.NewManager(blacklisted)
116116
if err != nil {
117117
return err
118118
}
119119

120-
if err := mgr.MgrTracingEventStartAll(); err != nil {
120+
if err := mgr.Start(); err != nil {
121121
return err
122122
}
123123

@@ -143,7 +143,7 @@ func mainAction(ctx *cli.Context) error {
143143
switch s {
144144
case syscall.SIGQUIT, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM:
145145
log.Infof("huatuo-bamai exit by signal %d", s)
146-
_ = mgr.MgrTracingEventStopAll()
146+
_ = mgr.Stop()
147147
bpf.CloseBpfManager()
148148
pod.ContainerPodMgrClose()
149149
return nil

internal/services/services.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ var instance *Server
3535

3636
// Server http server instance
3737
type Server struct {
38-
server *gin.Engine
39-
mgrTracing *tracing.MgrTracingEvent
40-
promRegistry *prometheus.Registry
38+
server *gin.Engine
39+
tracingManager *tracing.TracingManager
40+
promRegistry *prometheus.Registry
4141
}
4242

4343
// RateLimiter define a rate limiter
@@ -118,9 +118,9 @@ func (s *Server) Run(addr string) error {
118118
}
119119

120120
// Start start API service
121-
func Start(addr string, mgrTracing *tracing.MgrTracingEvent, promRegistry *prometheus.Registry) {
121+
func Start(addr string, mgrTracing *tracing.TracingManager, promRegistry *prometheus.Registry) {
122122
s := NewServer()
123-
s.mgrTracing = mgrTracing
123+
s.tracingManager = mgrTracing
124124
s.promRegistry = promRegistry
125125

126126
s.AddHandler("POST", "/config", config.Config)

internal/services/tracer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ type TracerStopReq struct {
3434

3535
// TracerList shows all case info.
3636
func TracerList(ctx *gin.Context) {
37-
ctx.JSON(http.StatusOK, instance.mgrTracing.MgrTracingInfoDump())
37+
ctx.JSON(http.StatusOK, instance.tracingManager.Dump())
3838
}
3939

4040
// TracerStart starts the special case.
@@ -45,7 +45,7 @@ func TracerStart(ctx *gin.Context) {
4545
return
4646
}
4747

48-
if err := instance.mgrTracing.MgrTracingEventStart(startTracerReq.Name); err != nil {
48+
if err := instance.tracingManager.StartByName(startTracerReq.Name); err != nil {
4949
ctx.JSON(http.StatusBadRequest, request.ErrorResponse{Message: err.Error()})
5050
return
5151
}
@@ -61,7 +61,7 @@ func TracerStop(ctx *gin.Context) {
6161
return
6262
}
6363

64-
if err := instance.mgrTracing.MgrTracingEventStop(stopTracerReq.Name); err != nil {
64+
if err := instance.tracingManager.StopByName(stopTracerReq.Name); err != nil {
6565
ctx.JSON(http.StatusBadRequest, request.ErrorResponse{Message: err.Error()})
6666
return
6767
}
@@ -71,7 +71,7 @@ func TracerStop(ctx *gin.Context) {
7171

7272
// TracerStopAll stops all tracers.
7373
func TracerStopAll(ctx *gin.Context) {
74-
if err := instance.mgrTracing.MgrTracingEventStopAll(); err != nil {
74+
if err := instance.tracingManager.Stop(); err != nil {
7575
ctx.JSON(http.StatusBadRequest, request.ErrorResponse{Message: err.Error()})
7676
return
7777
}

internal/services/tracing_metric.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func (trace *tracingHitCollector) Update() ([]*metric.Data, error) {
3636
var runningTracers int
3737
hitMetric := make([]*metric.Data, 0)
3838

39-
for _, info := range instance.mgrTracing.MgrTracingInfoDump() {
39+
for _, info := range instance.tracingManager.Dump() {
4040
hitMetric = append(hitMetric, metric.NewGaugeData("hitcount", float64(info.HitCount),
4141
"tracing hit count", map[string]string{"tracing": info.Name}))
4242
if info.Running {

pkg/tracing/manager.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 The HuaTuo Authors
1+
// Copyright 2025, 2026 The HuaTuo Authors
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -20,13 +20,13 @@ import (
2020
"sync"
2121
)
2222

23-
type MgrTracingEvent struct {
23+
type TracingManager struct {
2424
tracingEvents map[string]*EventTracing
2525
mu sync.Mutex
2626
blackListed []string
2727
}
2828

29-
func NewMgrTracingEvent(blackListed []string) (*MgrTracingEvent, error) {
29+
func NewManager(blackListed []string) (*TracingManager, error) {
3030
tracings, err := NewRegister(blackListed)
3131
if err != nil {
3232
return nil, err
@@ -40,20 +40,20 @@ func NewMgrTracingEvent(blackListed []string) (*MgrTracingEvent, error) {
4040
tracingEvents[key] = NewTracingEvent(trace, key)
4141
}
4242

43-
return &MgrTracingEvent{tracingEvents: tracingEvents, blackListed: blackListed}, nil
43+
return &TracingManager{tracingEvents: tracingEvents, blackListed: blackListed}, nil
4444
}
4545

46-
func (mgr *MgrTracingEvent) MgrTracingEventStartAll() error {
46+
func (mgr *TracingManager) Start() error {
4747
for name := range mgr.tracingEvents {
48-
if err := mgr.MgrTracingEventStart(name); err != nil {
48+
if err := mgr.StartByName(name); err != nil {
4949
return err
5050
}
5151
}
5252

5353
return nil
5454
}
5555

56-
func (mgr *MgrTracingEvent) MgrTracingEventStart(name string) error {
56+
func (mgr *TracingManager) StartByName(name string) error {
5757
te, ok := mgr.tracingEvents[name]
5858
if !ok {
5959
return fmt.Errorf("%q not found", name)
@@ -74,16 +74,16 @@ func (mgr *MgrTracingEvent) MgrTracingEventStart(name string) error {
7474
return te.Start()
7575
}
7676

77-
func (mgr *MgrTracingEvent) MgrTracingEventStopAll() error {
77+
func (mgr *TracingManager) Stop() error {
7878
for name := range mgr.tracingEvents {
79-
if err := mgr.MgrTracingEventStop(name); err != nil {
79+
if err := mgr.StopByName(name); err != nil {
8080
return err
8181
}
8282
}
8383
return nil
8484
}
8585

86-
func (mgr *MgrTracingEvent) MgrTracingEventStop(name string) error {
86+
func (mgr *TracingManager) StopByName(name string) error {
8787
te, ok := mgr.tracingEvents[name]
8888
if !ok {
8989
return fmt.Errorf("%q not found", name)
@@ -99,8 +99,8 @@ func (mgr *MgrTracingEvent) MgrTracingEventStop(name string) error {
9999
return nil
100100
}
101101

102-
// MgrTracingInfoDump gets all tracer info
103-
func (mgr *MgrTracingEvent) MgrTracingInfoDump() map[string]*EventTracingInfo {
102+
// Dump gets all tracer info
103+
func (mgr *TracingManager) Dump() map[string]*EventTracingInfo {
104104
dump := make(map[string]*EventTracingInfo)
105105
for name, c := range mgr.tracingEvents {
106106
mgr.mu.Lock()

pkg/tracing/manager_test.go

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func TestNewMgrTracingEvent(t *testing.T) {
6161
return newAttr(FlagMetric), nil
6262
})
6363

64-
mgr, err := NewMgrTracingEvent(nil)
64+
mgr, err := NewManager(nil)
6565
if err != nil {
6666
t.Errorf("NewMgrTracingEvent() error=%v", err)
6767
return
@@ -85,13 +85,13 @@ func TestNewMgrTracingEvent(t *testing.T) {
8585
func TestMgrTracingEventStart(t *testing.T) {
8686
tests := []struct {
8787
name string
88-
setup func() (*MgrTracingEvent, string)
88+
setup func() (*TracingManager, string)
8989
validate func(*testing.T, error)
9090
}{
9191
{
9292
name: "not found",
93-
setup: func() (*MgrTracingEvent, string) {
94-
return &MgrTracingEvent{tracingEvents: map[string]*EventTracing{}, blackListed: nil}, "trace-not-found"
93+
setup: func() (*TracingManager, string) {
94+
return &TracingManager{tracingEvents: map[string]*EventTracing{}, blackListed: nil}, "trace-not-found"
9595
},
9696
validate: func(t *testing.T, err error) {
9797
if err == nil {
@@ -105,8 +105,8 @@ func TestMgrTracingEventStart(t *testing.T) {
105105
},
106106
{
107107
name: "blacklisted",
108-
setup: func() (*MgrTracingEvent, string) {
109-
return &MgrTracingEvent{
108+
setup: func() (*TracingManager, string) {
109+
return &TracingManager{
110110
tracingEvents: map[string]*EventTracing{
111111
"trace-2026": {name: "trace-2026"},
112112
},
@@ -125,8 +125,8 @@ func TestMgrTracingEventStart(t *testing.T) {
125125
},
126126
{
127127
name: "already running",
128-
setup: func() (*MgrTracingEvent, string) {
129-
return &MgrTracingEvent{
128+
setup: func() (*TracingManager, string) {
129+
return &TracingManager{
130130
tracingEvents: map[string]*EventTracing{
131131
"trace-2026": {name: "trace-2026", isRunning: true},
132132
},
@@ -147,8 +147,8 @@ func TestMgrTracingEventStart(t *testing.T) {
147147

148148
for i := range tests {
149149
t.Run(tests[i].name, func(t *testing.T) {
150-
mgr, targetName := tests[i].setup()
151-
err := mgr.MgrTracingEventStart(targetName)
150+
mgr, name := tests[i].setup()
151+
err := mgr.StartByName(name)
152152
tests[i].validate(t, err)
153153
})
154154
}
@@ -165,13 +165,13 @@ func TestMgrTracingEventStartAndStopSuccess(t *testing.T) {
165165
name: "trace-2026",
166166
interval: 1,
167167
}
168-
mgr := &MgrTracingEvent{
168+
mgr := &TracingManager{
169169
tracingEvents: map[string]*EventTracing{"trace-2026": te},
170170
blackListed: nil,
171171
mu: sync.Mutex{},
172172
}
173173

174-
startErr := mgr.MgrTracingEventStart("trace-2026")
174+
startErr := mgr.StartByName("trace-2026")
175175
if startErr != nil {
176176
t.Errorf("MgrTracingEventStart() error=%v", startErr)
177177
return
@@ -182,7 +182,7 @@ func TestMgrTracingEventStartAndStopSuccess(t *testing.T) {
182182
return
183183
}
184184

185-
stopErr := mgr.MgrTracingEventStop("trace-2026")
185+
stopErr := mgr.StopByName("trace-2026")
186186
if stopErr != nil {
187187
t.Errorf("MgrTracingEventStop() error=%v", stopErr)
188188
}
@@ -191,13 +191,13 @@ func TestMgrTracingEventStartAndStopSuccess(t *testing.T) {
191191
func TestMgrTracingEventStop(t *testing.T) {
192192
tests := []struct {
193193
name string
194-
setup func() (*MgrTracingEvent, string)
194+
setup func() (*TracingManager, string)
195195
validate func(*testing.T, error)
196196
}{
197197
{
198198
name: "not found",
199-
setup: func() (*MgrTracingEvent, string) {
200-
return &MgrTracingEvent{tracingEvents: map[string]*EventTracing{}}, "trace-not-found"
199+
setup: func() (*TracingManager, string) {
200+
return &TracingManager{tracingEvents: map[string]*EventTracing{}}, "trace-not-found"
201201
},
202202
validate: func(t *testing.T, err error) {
203203
if err == nil {
@@ -211,8 +211,8 @@ func TestMgrTracingEventStop(t *testing.T) {
211211
},
212212
{
213213
name: "not running",
214-
setup: func() (*MgrTracingEvent, string) {
215-
return &MgrTracingEvent{
214+
setup: func() (*TracingManager, string) {
215+
return &TracingManager{
216216
tracingEvents: map[string]*EventTracing{
217217
"trace-2026": {name: "trace-2026", isRunning: false},
218218
},
@@ -230,8 +230,8 @@ func TestMgrTracingEventStop(t *testing.T) {
230230
},
231231
{
232232
name: "running",
233-
setup: func() (*MgrTracingEvent, string) {
234-
return &MgrTracingEvent{
233+
setup: func() (*TracingManager, string) {
234+
return &TracingManager{
235235
tracingEvents: map[string]*EventTracing{
236236
"trace-2026": {name: "trace-2026", isRunning: true, cancelCtx: func() {}},
237237
},
@@ -247,8 +247,8 @@ func TestMgrTracingEventStop(t *testing.T) {
247247

248248
for i := range tests {
249249
t.Run(tests[i].name, func(t *testing.T) {
250-
mgr, targetName := tests[i].setup()
251-
err := mgr.MgrTracingEventStop(targetName)
250+
mgr, name := tests[i].setup()
251+
err := mgr.StopByName(name)
252252
tests[i].validate(t, err)
253253
})
254254
}
@@ -267,7 +267,7 @@ func TestMgrTracingInfoDump(t *testing.T) {
267267
{nameKey: "trace-2027", wantName: "trace-2027", wantRun: false, wantHit: 1, wantIntvl: 5, wantFlag: FlagMetric | FlagTracing},
268268
}
269269

270-
mgr := &MgrTracingEvent{
270+
mgr := &TracingManager{
271271
tracingEvents: map[string]*EventTracing{},
272272
}
273273
for i := range tests {
@@ -280,7 +280,7 @@ func TestMgrTracingInfoDump(t *testing.T) {
280280
}
281281
}
282282

283-
info := mgr.MgrTracingInfoDump()
283+
info := mgr.Dump()
284284
if len(info) != len(tests) {
285285
t.Errorf("MgrTracingInfoDump len=%d, want %d", len(info), len(tests))
286286
return

0 commit comments

Comments
 (0)