This commit is contained in:
@@ -496,6 +496,9 @@ The key is to input the size of the file in bytes so here are some common file s
|
||||
10 TB =10995116277760 bytes
|
||||
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
|
||||
//DATA TYPES .net to postgres map
|
||||
//http://www.npgsql.org/doc/types/basic.html
|
||||
|
||||
|
||||
ICON GENERATOR
|
||||
=-=-=-=-=-=-=-=-
|
||||
|
||||
@@ -34,6 +34,8 @@ namespace AyaNova.Biz
|
||||
public static async Task DoJobAsync(AyContext ct)
|
||||
{
|
||||
//https://github.com/sebastienros/memoryleak/blob/master/src/MemoryLeak/MemoryLeak/Controllers/DiagnosticsController.cs
|
||||
// //DATA TYPES .net to postgres map
|
||||
//http://www.npgsql.org/doc/types/basic.html
|
||||
|
||||
//Gather stats, output to database but only every minute or more
|
||||
/*
|
||||
@@ -169,29 +171,31 @@ from generate_series(1, 525600) s(i)
|
||||
|
||||
//MEMORY
|
||||
// The memory occupied by objects.
|
||||
var Allocated = GC.GetTotalMemory(false);
|
||||
var Allocated = GC.GetTotalMemory(false);//bigint
|
||||
|
||||
// The working set includes both shared and private data. The shared data includes the pages that contain all the
|
||||
// instructions that the process executes, including instructions in the process modules and the system libraries.
|
||||
var WorkingSet = _process.WorkingSet64;
|
||||
var WorkingSet = _process.WorkingSet64;//bigint
|
||||
|
||||
// The value returned by this property represents the current size of memory used by the process, in bytes, that
|
||||
// cannot be shared with other processes.
|
||||
var PrivateBytes = _process.PrivateMemorySize64;
|
||||
var PrivateBytes = _process.PrivateMemorySize64;//bigint
|
||||
|
||||
// The number of generation 0 collections
|
||||
var Gen0 = GC.CollectionCount(0);
|
||||
var Gen0 = GC.CollectionCount(0);//integer
|
||||
|
||||
// The number of generation 1 collections
|
||||
var Gen1 = GC.CollectionCount(1);
|
||||
var Gen1 = GC.CollectionCount(1);//integer
|
||||
|
||||
// The number of generation 2 collections
|
||||
var Gen2 = GC.CollectionCount(2);
|
||||
var Gen2 = GC.CollectionCount(2);//integer
|
||||
|
||||
var CPU=_cpu;
|
||||
var CPU=_cpu;// double precision
|
||||
|
||||
//write to db
|
||||
MetricMM mm = new MetricMM();
|
||||
MetricMM mm = new MetricMM(Allocated,WorkingSet,PrivateBytes,Gen0,Gen1,Gen2,CPU);
|
||||
await ct.MetricMM.AddAsync(mm);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -9,18 +9,26 @@ namespace AyaNova.Models
|
||||
/// </summary>
|
||||
public class MetricMM
|
||||
{
|
||||
//DATA TYPES .net to postgres map
|
||||
//http://www.npgsql.org/doc/types/basic.html
|
||||
|
||||
[Required]
|
||||
public DateTime t { get; set; }
|
||||
[Required]
|
||||
public float v { get; set; }
|
||||
public long Allocated { get; set; }
|
||||
public long WorkingSet { get; set; }
|
||||
public long PrivateBytes { get; set; }
|
||||
public int Gen0 { get; set; }
|
||||
public int Gen1 { get; set; }
|
||||
public int Gen2 { get; set; }
|
||||
public double CPU { get; set; }
|
||||
|
||||
public MetricMM()
|
||||
public MetricMM(long allocated, long workingSet, long privateBytes, int gen0, int gen1, int gen2, double cpu)
|
||||
{
|
||||
t = System.DateTime.UtcNow;
|
||||
v=0;
|
||||
Allocated = allocated;
|
||||
WorkingSet=workingSet;
|
||||
PrivateBytes=privateBytes;
|
||||
Gen0=gen0;
|
||||
Gen1=gen1;
|
||||
Gen2=gen2;
|
||||
CPU=cpu;
|
||||
}
|
||||
}//eoc
|
||||
}//eons
|
||||
|
||||
@@ -34,6 +34,9 @@ namespace AyaNova.Util
|
||||
|
||||
MAXIMUM POSTGRES OBJECT NAME LENGTH: 63 CHARACTERS
|
||||
CURRENCY: use decimal(19,4)
|
||||
//DATA TYPES .net to postgres map
|
||||
//http://www.npgsql.org/doc/types/basic.html
|
||||
|
||||
|
||||
HOW TO INDEX
|
||||
|
||||
@@ -244,8 +247,8 @@ namespace AyaNova.Util
|
||||
|
||||
|
||||
//METRICS TABLES
|
||||
//CPU
|
||||
await ExecQueryAsync("CREATE TABLE ametricmm (t timestamp not null, v real not null default 0)");
|
||||
//One minute metrics
|
||||
await ExecQueryAsync("CREATE TABLE ametricmm (t timestamp not null, allocated bigint,workingset bigint,privatebytes bigint,gen0 integer,gen1 integer,gen2 integer,cpu double precision)");
|
||||
|
||||
|
||||
//SEARCH TABLES
|
||||
|
||||
Reference in New Issue
Block a user