x-pack/metricbeat/module/awsfargate/task_stats/memory.go (29 lines of code) (raw):

// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one // or more contributor license agreements. Licensed under the Elastic License; // you may not use this file except in compliance with the Elastic License. package task_stats import ( dcontainer "github.com/docker/docker/api/types/container" ) type memoryStats struct { Failcnt uint64 Limit uint64 MaxUsage uint64 TotalRss uint64 TotalRssP float64 Usage uint64 //Raw stats from the cgroup subsystem Stats map[string]uint64 //Windows-only memory stats Commit uint64 CommitPeak uint64 PrivateWorkingSet uint64 } func getMemoryStats(taskStats dcontainer.StatsResponse) memoryStats { totalRSS := taskStats.MemoryStats.Stats["total_rss"] return memoryStats{ TotalRss: totalRSS, MaxUsage: taskStats.MemoryStats.MaxUsage, TotalRssP: float64(totalRSS) / float64(taskStats.MemoryStats.Limit), Usage: taskStats.MemoryStats.Usage, Stats: taskStats.MemoryStats.Stats, //Windows memory statistics Commit: taskStats.MemoryStats.Commit, CommitPeak: taskStats.MemoryStats.CommitPeak, PrivateWorkingSet: taskStats.MemoryStats.PrivateWorkingSet, } }