Added uptime service

This commit is contained in:
Marcel Baumgartner
2023-06-09 15:01:51 +02:00
parent 829596a3e7
commit d0004e9fff
4 changed files with 44 additions and 0 deletions

View File

@@ -17,6 +17,18 @@ public static class Formatter
return $"{t.Hours}h {t.Minutes}m {t.Seconds}s";
}
}
public static string FormatUptime(TimeSpan t)
{
if (t.Days > 0)
{
return $"{t.Days}d {t.Hours}h {t.Minutes}m {t.Seconds}s";
}
else
{
return $"{t.Hours}h {t.Minutes}m {t.Seconds}s";
}
}
private static double Round(this double d, int decimals)
{

View File

@@ -0,0 +1,11 @@
namespace Moonlight.App.Services.Background;
public class UptimeService
{
public DateTime StartTimestamp { get; private set; }
public UptimeService()
{
StartTimestamp = DateTime.UtcNow;
}
}

View File

@@ -167,6 +167,7 @@ namespace Moonlight
builder.Services.AddSingleton<StatisticsCaptureService>();
builder.Services.AddSingleton<DiscordNotificationService>();
builder.Services.AddSingleton<CleanupService>();
builder.Services.AddSingleton<UptimeService>();
// Third party services
builder.Services.AddBlazorTable();
@@ -202,6 +203,7 @@ namespace Moonlight
_ = app.Services.GetRequiredService<DiscordBotService>();
_ = app.Services.GetRequiredService<StatisticsCaptureService>();
_ = app.Services.GetRequiredService<DiscordNotificationService>();
_ = app.Services.GetRequiredService<UptimeService>();
// Discord bot service
//var discordBotService = app.Services.GetRequiredService<DiscordBotService>();

View File

@@ -2,8 +2,10 @@
@using Moonlight.Shared.Components.Navigations
@using Moonlight.App.Helpers
@using Moonlight.App.Services.Background
@inject HostSystemHelper HostSystemHelper
@inject UptimeService UptimeService
<OnlyAdmin>
<AdminSystemNavigation Index="0"/>
@@ -70,5 +72,22 @@
</div>
</div>
</div>
<div class="col-xxl-6 my-3">
<div class="card">
<div class="card-header">
<span class="card-title">
<TL>Uptime</TL>
</span>
</div>
<div class="card-body">
<span class="fs-5">
<TL>Moonlight is since</TL>
<span class="text-primary">
@(Formatter.FormatUptime(DateTime.UtcNow - UptimeService.StartTimestamp))
</span>
</span>
</div>
</div>
</div>
</div>
</OnlyAdmin>