diff --git a/Manager.App/Components/Pages/Services.razor b/Manager.App/Components/Pages/Services.razor index b04c4b2..770482d 100644 --- a/Manager.App/Components/Pages/Services.razor +++ b/Manager.App/Components/Pages/Services.razor @@ -43,18 +43,11 @@ @($"{_serviceEvents.Count}/{VisibleEventCapacity} events")
- @foreach (var serviceEvent in _serviceEvents) - { +
- @serviceEvent.Date - | - @serviceEvent.Severity - | - @serviceEvent.Source - - - @serviceEvent.Message + @($"{serviceEvent.Date:HH:mm:ss} | {serviceEvent.Severity} | {serviceEvent.Source} - {serviceEvent.Message}")
- } +
diff --git a/Manager.App/Services/CircularBuffer.cs b/Manager.App/Services/CircularBuffer.cs index fb7afc7..50bc84a 100644 --- a/Manager.App/Services/CircularBuffer.cs +++ b/Manager.App/Services/CircularBuffer.cs @@ -22,10 +22,11 @@ public class CircularBuffer Capacity = capacity; _buffer = new T[Capacity]; - _channel = Channel.CreateUnbounded(new UnboundedChannelOptions + _channel = Channel.CreateBounded(new BoundedChannelOptions(Capacity) { SingleReader = false, SingleWriter = false, + FullMode = BoundedChannelFullMode.DropOldest }); } diff --git a/Manager.App/Services/ExtendedBackgroundService.cs b/Manager.App/Services/ExtendedBackgroundService.cs index 7ebba01..c59361b 100644 --- a/Manager.App/Services/ExtendedBackgroundService.cs +++ b/Manager.App/Services/ExtendedBackgroundService.cs @@ -60,7 +60,7 @@ public abstract class ExtendedBackgroundService : BackgroundService } } - protected void LogEvent(string message, LogSeverity severity = LogSeverity.Info) => ProgressEvents.Add(new ServiceEvent(Name, message, DateTime.UtcNow, severity)); + protected void LogEvent(string message, LogSeverity severity = LogSeverity.Info) => ProgressEvents.Add(new ServiceEvent(string.Intern(Name), message, DateTime.UtcNow, severity)); public void Pause() { @@ -103,4 +103,4 @@ public enum ServiceState Paused } -public record ServiceEvent(string Source, string Message, DateTime Date, LogSeverity Severity); \ No newline at end of file +public record struct ServiceEvent(string Source, string Message, DateTime Date, LogSeverity Severity); \ No newline at end of file diff --git a/Manager.App/Services/System/ClientService.cs b/Manager.App/Services/System/ClientService.cs index ed6dbb7..44226f3 100644 --- a/Manager.App/Services/System/ClientService.cs +++ b/Manager.App/Services/System/ClientService.cs @@ -21,7 +21,7 @@ public class ClientService(IServiceScopeFactory scopeFactory, ILogger(); LogEvent("Initializing service..."); - Pause(); + //Pause(); } protected override async Task ExecuteServiceAsync(CancellationToken stoppingToken)