Merge pull request #151 from Moonlight-Panel/AddUptimeCounter

Added uptime service
This commit is contained in:
Marcel Baumgartner
2023-06-09 15:02:14 +02:00
committed by GitHub
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"; 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) 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<StatisticsCaptureService>();
builder.Services.AddSingleton<DiscordNotificationService>(); builder.Services.AddSingleton<DiscordNotificationService>();
builder.Services.AddSingleton<CleanupService>(); builder.Services.AddSingleton<CleanupService>();
builder.Services.AddSingleton<UptimeService>();
// Third party services // Third party services
builder.Services.AddBlazorTable(); builder.Services.AddBlazorTable();
@@ -202,6 +203,7 @@ namespace Moonlight
_ = app.Services.GetRequiredService<DiscordBotService>(); _ = app.Services.GetRequiredService<DiscordBotService>();
_ = app.Services.GetRequiredService<StatisticsCaptureService>(); _ = app.Services.GetRequiredService<StatisticsCaptureService>();
_ = app.Services.GetRequiredService<DiscordNotificationService>(); _ = app.Services.GetRequiredService<DiscordNotificationService>();
_ = app.Services.GetRequiredService<UptimeService>();
// Discord bot service // Discord bot service
//var discordBotService = app.Services.GetRequiredService<DiscordBotService>(); //var discordBotService = app.Services.GetRequiredService<DiscordBotService>();

View File

@@ -2,8 +2,10 @@
@using Moonlight.Shared.Components.Navigations @using Moonlight.Shared.Components.Navigations
@using Moonlight.App.Helpers @using Moonlight.App.Helpers
@using Moonlight.App.Services.Background
@inject HostSystemHelper HostSystemHelper @inject HostSystemHelper HostSystemHelper
@inject UptimeService UptimeService
<OnlyAdmin> <OnlyAdmin>
<AdminSystemNavigation Index="0"/> <AdminSystemNavigation Index="0"/>
@@ -70,5 +72,22 @@
</div> </div>
</div> </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> </div>
</OnlyAdmin> </OnlyAdmin>