Browse Source

Use correct memory value.

pull/883/head
Sebastian 4 years ago
parent
commit
8302dc5ee3
  1. 6
      backend/src/Squidex.Infrastructure/Diagnostics/Diagnoser.cs
  2. 16
      backend/src/Squidex.Infrastructure/Diagnostics/GCHealthCheck.cs
  3. 284
      frontend/package-lock.json

6
backend/src/Squidex.Infrastructure/Diagnostics/Diagnoser.cs

@ -68,14 +68,14 @@ namespace Squidex.Infrastructure.Diagnostics
{
try
{
var usage = GC.GetTotalMemory(false) / (1024 * 1024);
var workingSet = Process.GetCurrentProcess().WorkingSet64 / (1024 * 1024);
if (options.DumpTrigger > 0 && usage > options.DumpTrigger && scheduledDumpTask == null)
if (options.DumpTrigger > 0 && workingSet > options.DumpTrigger && scheduledDumpTask == null)
{
scheduledDumpTask = CreateDumpAsync();
}
if (options.GCDumpTrigger > 0 && usage > options.GCDumpTrigger && scheduledGcDumpTask == null)
if (options.GCDumpTrigger > 0 && workingSet > options.GCDumpTrigger && scheduledGcDumpTask == null)
{
scheduledGcDumpTask = CreateGCDumpAsync();
}

16
backend/src/Squidex.Infrastructure/Diagnostics/GCHealthCheck.cs

@ -7,6 +7,7 @@
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Options;
using System.Diagnostics;
namespace Squidex.Infrastructure.Diagnostics
{
@ -22,17 +23,20 @@ namespace Squidex.Infrastructure.Diagnostics
public Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context,
CancellationToken cancellationToken = default)
{
var allocated = GC.GetTotalMemory(false);
var workingSet = Process.GetCurrentProcess().WorkingSet64;
var data = new Dictionary<string, object>
{
{ "Allocated", allocated.ToReadableSize() },
{ "Gen0Collections", GC.CollectionCount(0) },
{ "Gen1Collections", GC.CollectionCount(1) },
{ "Gen2Collections", GC.CollectionCount(2) }
{ "HeapSize", GC.GetTotalMemory(false) },
{ "Gen0CollectionCount", GC.CollectionCount(0) },
{ "Gen1CollectionCount", GC.CollectionCount(1) },
{ "Gen2CollectionCount", GC.CollectionCount(2) },
{ "WorkingSet", workingSet.ToReadableSize() }
};
var status = allocated < threshold ? HealthStatus.Healthy : HealthStatus.Unhealthy;
var status = workingSet < threshold ?
HealthStatus.Healthy :
HealthStatus.Unhealthy;
var message = $"Application must consume less than {threshold.ToReadableSize()} memory.";

284
frontend/package-lock.json

File diff suppressed because it is too large
Loading…
Cancel
Save