change containerStatsMutex to a RWMutex

This commit is contained in:
Henry Dollman
2024-09-28 19:13:24 -04:00
parent 9637363cf3
commit 2f4e537f72

View File

@@ -27,7 +27,7 @@ type Agent struct {
netInterfaces map[string]struct{} // Stores all valid network interfaces netInterfaces map[string]struct{} // Stores all valid network interfaces
netIoStats system.NetIoStats // Keeps track of bandwidth usage netIoStats system.NetIoStats // Keeps track of bandwidth usage
containerStatsMap map[string]*container.Stats // Keeps track of container stats containerStatsMap map[string]*container.Stats // Keeps track of container stats
containerStatsMutex sync.Mutex // Mutex to prevent concurrent access to prevContainerStatsMap containerStatsMutex sync.RWMutex // Mutex to prevent concurrent access to prevContainerStatsMap
dockerClient *http.Client // HTTP client to query docker api dockerClient *http.Client // HTTP client to query docker api
apiContainerList *[]container.ApiInfo // List of containers from docker host apiContainerList *[]container.ApiInfo // List of containers from docker host
sensorsContext context.Context // Sensors context to override sys location sensorsContext context.Context // Sensors context to override sys location
@@ -37,7 +37,7 @@ func NewAgent() *Agent {
return &Agent{ return &Agent{
sem: make(chan struct{}, 15), sem: make(chan struct{}, 15),
containerStatsMap: make(map[string]*container.Stats), containerStatsMap: make(map[string]*container.Stats),
containerStatsMutex: sync.Mutex{}, containerStatsMutex: sync.RWMutex{},
netIoStats: system.NetIoStats{}, netIoStats: system.NetIoStats{},
dockerClient: newDockerClient(), dockerClient: newDockerClient(),
sensorsContext: context.Background(), sensorsContext: context.Background(),