Skip to content

Commit 8805ba5

Browse files
committed
Folder size
1 parent f6e1b05 commit 8805ba5

File tree

2 files changed

+67
-6
lines changed

2 files changed

+67
-6
lines changed

src/ServiceControl.Audit/Infrastructure/Bootstrapper.cs

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,36 @@ long DataSize()
168168
}
169169
}
170170

171+
long FolderSize()
172+
{
173+
try
174+
{
175+
var dir = new DirectoryInfo(settings.DbPath);
176+
var dirSize = DirSize(dir);
177+
return dirSize;
178+
}
179+
catch
180+
{
181+
return -1;
182+
}
183+
}
184+
185+
static long DirSize(DirectoryInfo d)
186+
{
187+
long size = 0;
188+
FileInfo[] fis = d.GetFiles();
189+
foreach (FileInfo fi in fis)
190+
{
191+
size += fi.Length;
192+
}
193+
DirectoryInfo[] dis = d.GetDirectories();
194+
foreach (DirectoryInfo di in dis)
195+
{
196+
size += DirSize(di);
197+
}
198+
return size;
199+
}
200+
171201
void RecordStartup(LoggingSettings loggingSettings, EndpointConfiguration endpointConfiguration)
172202
{
173203
var version = FileVersionInfo.GetVersionInfo(typeof(Bootstrapper).Assembly.Location).ProductVersion;
@@ -176,7 +206,8 @@ void RecordStartup(LoggingSettings loggingSettings, EndpointConfiguration endpoi
176206
ServiceControl Audit Version: {version}
177207
Audit Retention Period: {settings.AuditRetentionPeriod}
178208
Forwarding Audit Messages: {settings.ForwardAuditMessages}
179-
Database Size: {DataSize()} bytes
209+
Database Size: {DataSize():n0} bytes
210+
Database Folder Size: {FolderSize():n0} bytes
180211
ServiceControl Logging Level: {loggingSettings.LoggingLevel}
181212
RavenDB Logging Level: {loggingSettings.RavenDBLogLevel}
182213
Selected Transport Customization: {settings.TransportCustomizationType}

src/ServiceControl/Bootstrapper.cs

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,42 @@ long DataSize()
174174
try
175175
{
176176
var info = new FileInfo(datafilePath);
177-
178177
return info.Length;
179178
}
180-
catch (Exception)
179+
catch
180+
{
181+
return -1;
182+
}
183+
}
184+
185+
long FolderSize()
186+
{
187+
try
188+
{
189+
var dir = new DirectoryInfo(settings.DbPath);
190+
var dirSize = DirSize(dir);
191+
return dirSize;
192+
}
193+
catch
194+
{
195+
return -1;
196+
}
197+
}
198+
199+
static long DirSize(DirectoryInfo d)
200+
{
201+
long size = 0;
202+
FileInfo[] fis = d.GetFiles();
203+
foreach (FileInfo fi in fis)
204+
{
205+
size += fi.Length;
206+
}
207+
DirectoryInfo[] dis = d.GetDirectories();
208+
foreach (DirectoryInfo di in dis)
181209
{
182-
return 0;
210+
size += DirSize(di);
183211
}
212+
return size;
184213
}
185214

186215
void RecordStartup(LoggingSettings loggingSettings, EndpointConfiguration endpointConfiguration)
@@ -193,7 +222,8 @@ Audit Retention Period (optional): {settings.AuditRetentionPeriod}
193222
Error Retention Period: {settings.ErrorRetentionPeriod}
194223
Ingest Error Messages: {settings.IngestErrorMessages}
195224
Forwarding Error Messages: {settings.ForwardErrorMessages}
196-
Database Size: {DataSize()} bytes
225+
Database Size: {DataSize():n0} bytes
226+
Database Folder Size: {FolderSize():n0} bytes
197227
ServiceControl Logging Level: {loggingSettings.LoggingLevel}
198228
RavenDB Logging Level: {loggingSettings.RavenDBLogLevel}
199229
Selected Transport Customization: {settings.TransportCustomizationType}
@@ -254,4 +284,4 @@ public ConstructorInfo[] FindConstructors(Type targetType)
254284
static readonly ConcurrentDictionary<Type, ConstructorInfo[]> Cache = new ConcurrentDictionary<Type, ConstructorInfo[]>();
255285
}
256286
}
257-
}
287+
}

0 commit comments

Comments
 (0)