< Summary

Information
Class: NexusLabs.Needlr.AgentFramework.Langfuse.DisabledLangfuseScenario
Assembly: NexusLabs.Needlr.AgentFramework.Langfuse
File(s): /home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework.Langfuse/DisabledLangfuseScenario.cs
Line coverage
42%
Covered lines: 6
Uncovered lines: 8
Coverable lines: 14
Total lines: 71
Line coverage: 42.8%
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

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_TraceId()100%11100%
get_Activity()100%11100%
RecordScoreAsync(...)100%11100%
RecordScoreAsync(...)100%11100%
RecordScoreAsync(...)100%11100%
RecordEvaluationAsync(...)100%210%
SetTracePublic(...)100%210%
SetVersion(...)100%210%
SetInput(...)100%210%
SetOutput(...)100%210%
RecordSessionScoreAsync(...)100%210%
RecordSessionScoreAsync(...)100%210%
RecordSessionScoreAsync(...)100%210%
Dispose()100%11100%

File(s)

/home/runner/work/needlr/needlr/src/NexusLabs.Needlr.AgentFramework.Langfuse/DisabledLangfuseScenario.cs

#LineLine coverage
 1using System.Diagnostics;
 2
 3using Microsoft.Extensions.AI.Evaluation;
 4
 5namespace NexusLabs.Needlr.AgentFramework.Langfuse;
 6
 7/// <summary>
 8/// Inert <see cref="ILangfuseScenario"/> returned by a disabled session. Starts no span and posts
 9/// no scores, so eval code paths run unchanged when Langfuse is not configured.
 10/// </summary>
 11internal sealed class DisabledLangfuseScenario : ILangfuseScenario
 12{
 13    /// <inheritdoc />
 114    public string? TraceId => null;
 15
 16    /// <inheritdoc />
 117    public Activity? Activity => null;
 18
 19    /// <inheritdoc />
 20    public Task RecordScoreAsync(string name, double value, string? comment = null, CancellationToken cancellationToken 
 121        Task.CompletedTask;
 22
 23    /// <inheritdoc />
 24    public Task RecordScoreAsync(string name, bool value, string? comment = null, CancellationToken cancellationToken = 
 125        Task.CompletedTask;
 26
 27    /// <inheritdoc />
 28    public Task RecordScoreAsync(string name, string value, string? comment = null, CancellationToken cancellationToken 
 129        Task.CompletedTask;
 30
 31    /// <inheritdoc />
 32    public Task RecordEvaluationAsync(EvaluationResult result, CancellationToken cancellationToken = default) =>
 033        Task.CompletedTask;
 34
 35    /// <inheritdoc />
 36    public void SetTracePublic(bool isPublic = true)
 37    {
 038    }
 39
 40    /// <inheritdoc />
 41    public void SetVersion(string version)
 42    {
 043    }
 44
 45    /// <inheritdoc />
 46    public void SetInput(object input)
 47    {
 048    }
 49
 50    /// <inheritdoc />
 51    public void SetOutput(object output)
 52    {
 053    }
 54
 55    /// <inheritdoc />
 56    public Task RecordSessionScoreAsync(string name, double value, string? comment = null, CancellationToken cancellatio
 057        Task.CompletedTask;
 58
 59    /// <inheritdoc />
 60    public Task RecordSessionScoreAsync(string name, bool value, string? comment = null, CancellationToken cancellationT
 061        Task.CompletedTask;
 62
 63    /// <inheritdoc />
 64    public Task RecordSessionScoreAsync(string name, string value, string? comment = null, CancellationToken cancellatio
 065        Task.CompletedTask;
 66
 67    /// <inheritdoc />
 68    public void Dispose()
 69    {
 170    }
 71}