< Summary - Kestrun — Combined Coverage

Information
Class: Kestrun.Health.Probe
Assembly: Kestrun
File(s): /home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun/Health/Probe.cs
Tag: Kestrun/Kestrun@0d738bf294e6281b936d031e1979d928007495ff
Line coverage
0%
Covered lines: 0
Uncovered lines: 9
Coverable lines: 9
Total lines: 23
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 10/13/2025 - 16:52:37 Line coverage: 0% (0/10) Total lines: 28 Tag: Kestrun/Kestrun@10d476bee71c71ad215bb8ab59f219887b5b4a5e11/14/2025 - 12:29:34 Line coverage: 0% (0/9) Total lines: 23 Tag: Kestrun/Kestrun@5e12b09a6838e68e704cd3dc975331b9e680a626

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)0%2040%
get_Name()100%210%
get_Tags()100%210%

File(s)

/home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun/Health/Probe.cs

#LineLine coverage
 1namespace Kestrun.Health;
 2
 3/// <summary>
 4/// Base class for health probes.
 5/// </summary>
 6/// <param name="name">The name of the probe.</param>
 7/// <param name="tags">The tags associated with the probe.</param>
 08public abstract class Probe(string name, IEnumerable<string>? tags) : IProbe
 9{
 10    /// <inheritdoc/>
 011    public string Name { get; } = string.IsNullOrWhiteSpace(name)
 012          ? throw new ArgumentException("Probe name cannot be null or empty.", nameof(name))
 013          : name;
 14
 15    /// <inheritdoc/>
 016    public string[] Tags { get; } = tags is null
 017        ? []
 018        : [.. tags.Where(static t => !string.IsNullOrWhiteSpace(t))
 019                      .Select(static t => t.Trim())
 020                      .Distinct(StringComparer.OrdinalIgnoreCase)];
 21    /// <inheritdoc/>
 22    public abstract Task<ProbeResult> CheckAsync(CancellationToken ct);
 23}