Skip to content

Commit 1ce8632

Browse files
committed
fix unit test
1 parent 60f254d commit 1ce8632

File tree

4 files changed

+29
-14
lines changed

4 files changed

+29
-14
lines changed

agent/stats/engine.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ func (engine *DockerStatsEngine) GetInstanceMetrics(includeServiceConnectStats b
587587
if includeServiceConnectStats {
588588
if serviceConnectStats, ok := engine.taskToServiceConnectStats[taskArn]; ok {
589589
if !serviceConnectStats.HasStatsBeenSent() {
590-
taskMetric.ServiceConnectMetricsWrapper = serviceConnectStats.GetStats()
590+
taskMetric.ServiceConnectMetricsWrapper = convertPtrSliceToValueSlice(serviceConnectStats.GetStats())
591591
seelog.Debugf("Adding service connect stats for task : %s", taskArn)
592592
serviceConnectStats.SetStatsSent(true)
593593
}
@@ -1157,3 +1157,18 @@ func (engine *DockerStatsEngine) getVolumeMetricsWithTimeout(volumeId, hostPath
11571157
defer cancel()
11581158
return engine.csiClient.GetVolumeMetrics(derivedCtx, volumeId, hostPath)
11591159
}
1160+
1161+
// convertPtrSliceToValueSlice converts a slice of GeneralMetricsWrapper pointers to a slice of values
1162+
func convertPtrSliceToValueSlice(ptrSlice []*tcstypes.GeneralMetricsWrapper) []tcstypes.GeneralMetricsWrapper {
1163+
if ptrSlice == nil {
1164+
return nil
1165+
}
1166+
1167+
result := make([]tcstypes.GeneralMetricsWrapper, 0, len(ptrSlice))
1168+
for _, ptr := range ptrSlice {
1169+
if ptr != nil {
1170+
result = append(result, *ptr)
1171+
}
1172+
}
1173+
return result
1174+
}

agent/stats/engine_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@ func TestGetTaskHealthMetrics(t *testing.T) {
576576
assert.Equal(t, aws.ToString(metadata.ContainerInstance), "container_instance")
577577
assert.Len(t, taskHealth, 1)
578578
assert.Len(t, taskHealth[0].Containers, 1)
579-
assert.Equal(t, taskHealth[0].Containers[0].HealthStatus, "HEALTHY")
579+
assert.Equal(t, tcstypes.HealthStatusHealthy, taskHealth[0].Containers[0].HealthStatus)
580580
}
581581

582582
func TestGetTaskHealthMetricsStoppedContainer(t *testing.T) {

agent/stats/service_connect_linux.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
)
3333

3434
type ServiceConnectStats struct {
35-
stats []tcstypes.GeneralMetricsWrapper
35+
stats []*tcstypes.GeneralMetricsWrapper
3636
appnetClient appnet.AppNetClient
3737
sent bool
3838
lock sync.RWMutex
@@ -80,8 +80,8 @@ func (sc *ServiceConnectStats) retrieveServiceConnectStats(task *apitask.Task) {
8080
sc.setStats(statsCollectedList)
8181
}
8282

83-
func convertToTACSStats(mf map[string]*prometheus.MetricFamily, taskId string) ([]tcstypes.GeneralMetricsWrapper, error) {
84-
statsMap := make(map[string]tcstypes.GeneralMetricsWrapper)
83+
func convertToTACSStats(mf map[string]*prometheus.MetricFamily, taskId string) ([]*tcstypes.GeneralMetricsWrapper, error) {
84+
statsMap := make(map[string]*tcstypes.GeneralMetricsWrapper)
8585

8686
for _, v := range mf {
8787
for _, metric := range v.Metric {
@@ -167,7 +167,7 @@ func convertToTACSStats(mf map[string]*prometheus.MetricFamily, taskId string) (
167167
if generalMetricsWrapper, ok := statsMap[dimensionAsString]; !ok {
168168
// Dimension does not exist in statsMap, add it to the statsMap
169169
generalMetricsList := []tcstypes.GeneralMetric{generalMetric}
170-
generalMetricsWrapper = tcstypes.GeneralMetricsWrapper{
170+
generalMetricsWrapper = &tcstypes.GeneralMetricsWrapper{
171171
Dimensions: dimensions,
172172
GeneralMetrics: generalMetricsList,
173173
MetricType: tcstypes.MetricType(metricType),
@@ -180,22 +180,22 @@ func convertToTACSStats(mf map[string]*prometheus.MetricFamily, taskId string) (
180180
}
181181
}
182182

183-
statsCollectedList := []tcstypes.GeneralMetricsWrapper{}
183+
statsCollectedList := []*tcstypes.GeneralMetricsWrapper{}
184184
for _, gm := range statsMap {
185185
statsCollectedList = append(statsCollectedList, gm)
186186
}
187187

188188
return statsCollectedList, nil
189189
}
190190

191-
func (sc *ServiceConnectStats) setStats(stats []tcstypes.GeneralMetricsWrapper) {
191+
func (sc *ServiceConnectStats) setStats(stats []*tcstypes.GeneralMetricsWrapper) {
192192
sc.lock.Lock()
193193
defer sc.lock.Unlock()
194194

195195
sc.stats = stats
196196
}
197197

198-
func (sc *ServiceConnectStats) GetStats() []tcstypes.GeneralMetricsWrapper {
198+
func (sc *ServiceConnectStats) GetStats() []*tcstypes.GeneralMetricsWrapper {
199199
sc.lock.RLock()
200200
defer sc.lock.RUnlock()
201201

agent/stats/service_connect_linux_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ func TestRetrieveServiceConnectMetrics(t *testing.T) {
5858

5959
var tests = []struct {
6060
stats string
61-
expectedStats []tcstypes.GeneralMetricsWrapper
61+
expectedStats []*tcstypes.GeneralMetricsWrapper
6262
}{
6363
{
6464
stats: `# TYPE MetricFamily1 counter
6565
MetricFamily1{DimensionA="value1", DimensionB="value2", Direction="ingress"} 1
6666
# TYPE MetricFamily2 counter
6767
MetricFamily2{DimensionB="value2", DimensionA="value1", Direction="ingress"} 1
6868
`,
69-
expectedStats: []tcstypes.GeneralMetricsWrapper{
69+
expectedStats: []*tcstypes.GeneralMetricsWrapper{
7070
{
7171
MetricType: tcstypes.MetricType("1"),
7272
Dimensions: []tcstypes.Dimension{
@@ -98,7 +98,7 @@ func TestRetrieveServiceConnectMetrics(t *testing.T) {
9898
MetricFamily3{DimensionX="value1", DimensionY="value2", Direction="egress", le="1"} 1
9999
MetricFamily3{DimensionX="value1", DimensionY="value2", Direction="egress", le="5"} 3
100100
`,
101-
expectedStats: []tcstypes.GeneralMetricsWrapper{
101+
expectedStats: []*tcstypes.GeneralMetricsWrapper{
102102
{
103103
MetricType: tcstypes.MetricType("2"),
104104
Dimensions: []tcstypes.Dimension{
@@ -125,7 +125,7 @@ func TestRetrieveServiceConnectMetrics(t *testing.T) {
125125
MetricFamily3{DimensionX="value1", DimensionY="value2", Direction="egress", le="1"} 0
126126
MetricFamily3{DimensionX="value1", DimensionY="value2", Direction="egress", le="5"} 0
127127
`,
128-
expectedStats: []tcstypes.GeneralMetricsWrapper{},
128+
expectedStats: []*tcstypes.GeneralMetricsWrapper{},
129129
},
130130
}
131131

@@ -160,7 +160,7 @@ func TestRetrieveServiceConnectMetrics(t *testing.T) {
160160
}
161161
}
162162

163-
func sortMetrics(metricList []tcstypes.GeneralMetricsWrapper) {
163+
func sortMetrics(metricList []*tcstypes.GeneralMetricsWrapper) {
164164
for _, metric := range metricList {
165165
sort.Slice(metric.GeneralMetrics, func(i, j int) bool {
166166
return *metric.GeneralMetrics[i].MetricName < *metric.GeneralMetrics[j].MetricName

0 commit comments

Comments
 (0)