У меня есть docker -композиция, которая запускает несколько изображений, и что-то потребляет память.
Чтобы выяснить, что потребляет память и почему, я пытаюсь записать некоторую статистику из своего образа службы.
И поскольку я подозреваю, что файлы журнала dd-agent:
- agent.log
- process-agent.log
- trace-agent .log
Я пытаюсь получить доступ к этим файлам из кода (в основном получая docker томов из кода)
private Dictionary<string, double> GetFilesDetails()
{
var path = System.Reflection.Assembly.GetExecutingAssembly().Location;
var root = Path.GetPathRoot(path);
var files = Directory.GetFiles(root, "*.log", SearchOption.AllDirectories);
Dictionary<string, double> result = new Dictionary<string, double>();
foreach (var file in files)
{
var fileInfo= new FileInfo(file);
result.Add(file, file.Length);
}
return result;
}
Я предполагаю, что вернет словарь файлов с size.
При обращении к этому методу с конечной точки я добавил время ожидания, которое кажется логичным, поскольку поиск может занять некоторое время.
Мой вопрос: есть ли лучший способ чтения файлов в мое дело? могу ли я как-то указать целевую папку c, где docker хранит файлы dd-agent?
Я пробовал / var / lib / docker / volume, но это тоже не сработало.