From 384034d91f204e1a0bb0ed67ddee05936d355627 Mon Sep 17 00:00:00 2001 From: GitHubPang <61439577+GitHubPang@users.noreply.github.com> Date: Tue, 25 Feb 2020 08:49:37 +0800 Subject: [PATCH] Fixed ArgumentNullException in ContainerTracker.cs Fixed crash (ArgumentNullException) caused by resources.BlkioStats.IoServiceBytesRecursive being null when other docker containers keep getting restarted. --- ContainerTracker.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ContainerTracker.cs b/ContainerTracker.cs index 62eb7b6..f109675 100644 --- a/ContainerTracker.cs +++ b/ContainerTracker.cs @@ -187,16 +187,16 @@ namespace DockerExporter } else { - var readEntries = resources.BlkioStats.IoServiceBytesRecursive + var readEntries = resources.BlkioStats.IoServiceBytesRecursive? .Where(entry => entry.Op.Equals("read", StringComparison.InvariantCultureIgnoreCase)) .ToArray(); - var writeEntries = resources.BlkioStats.IoServiceBytesRecursive + var writeEntries = resources.BlkioStats.IoServiceBytesRecursive? .Where(entry => entry.Op.Equals("write", StringComparison.InvariantCultureIgnoreCase)) .ToArray(); - var totalRead = readEntries.Any() ? readEntries.Sum(entry => (long)entry.Value) : 0; - var totalWrite = writeEntries.Any() ? writeEntries.Sum(entry => (long)entry.Value) : 0; + var totalRead = readEntries == null ? 0 : readEntries.Any() ? readEntries.Sum(entry => (long)entry.Value) : 0; + var totalWrite = writeEntries == null ? 0 : writeEntries.Any() ? writeEntries.Sum(entry => (long)entry.Value) : 0; metrics.TotalDiskBytesRead.Set(totalRead); metrics.TotalDiskBytesWrite.Set(totalWrite);