docs: complete XML doc coverage (returns, summaries, inheritdoc)
Resolve all 622 issues flagged by the enhanced CommentChecker: add missing <returns> tags (incl. the standard phrasing on non-generic Task methods), add missing <summary> tags, and replace misused/redundant <inheritdoc/> on members that override or implement nothing with real documentation. Documentation-only — no behavior change; solution builds clean.
This commit is contained in:
@@ -17,6 +17,7 @@ namespace ZB.MOM.WW.ScadaBridge.SiteEventLogging;
|
||||
/// active" so non-clustered hosts and unit tests are unaffected — backward
|
||||
/// compatible with the prior "run on every host" behaviour.
|
||||
/// </summary>
|
||||
/// <returns><c>true</c> if this node is the active site member and should run the purge; <c>false</c> to skip.</returns>
|
||||
public delegate bool SiteEventLogActiveNodeCheck();
|
||||
|
||||
/// <summary>
|
||||
@@ -200,6 +201,7 @@ public class EventLogPurgeService : BackgroundService
|
||||
/// the raw file size from <c>page_count</c>) means the storage-cap loop observes
|
||||
/// space being reclaimed even if free pages have not yet been returned to the OS.
|
||||
/// </summary>
|
||||
/// <returns>The logical database size in bytes (used pages × page size).</returns>
|
||||
internal long GetDatabaseSizeBytes()
|
||||
{
|
||||
return _eventLogger.WithConnection(connection =>
|
||||
|
||||
@@ -12,5 +12,6 @@ public interface IEventLogQueryService
|
||||
/// Executes a query against the local site event log and returns the matching entries.
|
||||
/// </summary>
|
||||
/// <param name="request">The query parameters including filters, pagination, and keyword search.</param>
|
||||
/// <returns>The query response containing the matching log entries and pagination metadata.</returns>
|
||||
EventLogQueryResponse ExecuteQuery(EventLogQueryRequest request);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public interface ISiteEventLogger
|
||||
/// Optional free-form detail text (stack traces, compilation errors, etc.).
|
||||
/// Stored verbatim — JSON is conventional but not validated or enforced.
|
||||
/// </param>
|
||||
/// <returns>A task that completes once the event is durably persisted.</returns>
|
||||
Task LogEventAsync(
|
||||
string eventType,
|
||||
string severity,
|
||||
|
||||
@@ -11,6 +11,7 @@ public static class ServiceCollectionExtensions
|
||||
/// Register site event logging services (recording, purge, query).
|
||||
/// </summary>
|
||||
/// <param name="services">The DI service collection to register into.</param>
|
||||
/// <returns>The same <see cref="IServiceCollection"/> for chaining.</returns>
|
||||
public static IServiceCollection AddSiteEventLogging(this IServiceCollection services)
|
||||
{
|
||||
// The recorder is registered as a concrete singleton and the interface is
|
||||
|
||||
@@ -89,17 +89,7 @@ public class SiteEventLogger : ISiteEventLogger, IDisposable
|
||||
_writerLoop = Task.Run(ProcessWriteQueueAsync);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SiteEventLogging-018: number of event writes that have failed (SQLite
|
||||
/// error, disk full, bounded-queue overflow drop, etc.) since this logger
|
||||
/// was created. Available for future Health Monitoring integration — the
|
||||
/// counter is correct and observable, but the central health-metric
|
||||
/// pipeline does not yet poll it, so a sustained non-zero value currently
|
||||
/// goes unnoticed in production beyond the per-failure log line. Wiring
|
||||
/// the metric into the 30-second site-metric publish is tracked
|
||||
/// separately; promoted to <see cref="ISiteEventLogger"/> so the eventual
|
||||
/// consumer reads it without a concrete-type downcast.
|
||||
/// </summary>
|
||||
/// <inheritdoc />
|
||||
public long FailedWriteCount => Interlocked.Read(ref _failedWriteCount);
|
||||
|
||||
/// <summary>
|
||||
@@ -110,6 +100,7 @@ public class SiteEventLogger : ISiteEventLogger, IDisposable
|
||||
/// been disposed.
|
||||
/// </summary>
|
||||
/// <param name="action">The action to run against the shared connection.</param>
|
||||
/// <returns><see langword="true"/> if the action was executed; <see langword="false"/> if the logger is disposed.</returns>
|
||||
internal bool WithConnection(Action<SqliteConnection> action)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(action);
|
||||
@@ -128,6 +119,7 @@ public class SiteEventLogger : ISiteEventLogger, IDisposable
|
||||
/// </summary>
|
||||
/// <typeparam name="T">The return type of the function.</typeparam>
|
||||
/// <param name="func">The function to run against the shared connection.</param>
|
||||
/// <returns>The value returned by <paramref name="func"/>.</returns>
|
||||
internal T WithConnection<T>(Func<SqliteConnection, T> func)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(func);
|
||||
|
||||
Reference in New Issue
Block a user