Class RecordingCorrelationTimeline

Namespace
Kuestenlogik.Bowire.Recordings.Correlation
Assembly
Kuestenlogik.Bowire.Recordings.dll

The full correlated view of one recording — what the workbench's Timeline tab renders and what bowire recording correlate --json prints.

public sealed record RecordingCorrelationTimeline : IEquatable<RecordingCorrelationTimeline>
Inheritance
RecordingCorrelationTimeline
Implements
Inherited Members

Constructors

RecordingCorrelationTimeline(string, string, string, long, long, RecordingCorrelationKey?, IReadOnlyList<RecordingCorrelationCandidate>, IReadOnlyList<RecordingCorrelationLane>, IReadOnlyList<RecordingCorrelationEvent>, int, int, IReadOnlyList<string>, int, int)

The full correlated view of one recording — what the workbench's Timeline tab renders and what bowire recording correlate --json prints.

public RecordingCorrelationTimeline(string RecordingId, string RecordingName, string Timebase, long OriginMs, long SpanMs, RecordingCorrelationKey? Key, IReadOnlyList<RecordingCorrelationCandidate> Suggestions, IReadOnlyList<RecordingCorrelationLane> Lanes, IReadOnlyList<RecordingCorrelationEvent> Events, int MatchedStepCount, int MatchedProtocolCount, IReadOnlyList<string> Warnings, int DerivedStepCount = 0, int DerivedProtocolCount = 0)

Parameters

RecordingId string

Id of the analysed recording.

RecordingName string

Its display name.

Timebase string

"absolute" when the recording carries wall-clock capturedAt stamps, "relative" when they are offsets from an arbitrary zero (which is what authored sample recordings use). Renderers must not print a wall-clock date for "relative".

OriginMs long

The capturedAt every offset is measured from.

SpanMs long

Total width of the timeline, always at least 1.

Key RecordingCorrelationKey

The resolved key, or null when no signal exists.

Suggestions IReadOnlyList<RecordingCorrelationCandidate>

Every key the analyzer would accept, best first.

Lanes IReadOnlyList<RecordingCorrelationLane>

One entry per protocol, in first-appearance order.

Events IReadOnlyList<RecordingCorrelationEvent>

One entry per step, in recording order.

MatchedStepCount int

Steps whose match is not none — strong, weak and derived. A derived step is on the transaction; it just got there through a bridge value, which DerivedStepCount keeps separately visible.

MatchedProtocolCount int

Distinct protocols with at least one matched step.

Warnings IReadOnlyList<string>

Human-readable caveats about this particular analysis.

DerivedStepCount int

Of MatchedStepCount, how many were joined through a bridge value (#545).

DerivedProtocolCount int

Distinct protocols whose only route onto the transaction is a bridge value.

Fields

TimebaseAbsolute

Timebase tag for recordings whose capturedAt are wall-clock epoch milliseconds.

public const string TimebaseAbsolute = "absolute"

Field Value

string

TimebaseRelative

Timebase tag for recordings whose capturedAt are offsets from an arbitrary zero.

public const string TimebaseRelative = "relative"

Field Value

string

Properties

DerivedProtocolCount

Distinct protocols whose only route onto the transaction is a bridge value.

public int DerivedProtocolCount { get; init; }

Property Value

int

DerivedStepCount

Of MatchedStepCount, how many were joined through a bridge value (#545).

public int DerivedStepCount { get; init; }

Property Value

int

Events

One entry per step, in recording order.

public IReadOnlyList<RecordingCorrelationEvent> Events { get; init; }

Property Value

IReadOnlyList<RecordingCorrelationEvent>

Key

The resolved key, or null when no signal exists.

public RecordingCorrelationKey? Key { get; init; }

Property Value

RecordingCorrelationKey

Lanes

One entry per protocol, in first-appearance order.

public IReadOnlyList<RecordingCorrelationLane> Lanes { get; init; }

Property Value

IReadOnlyList<RecordingCorrelationLane>

MatchedProtocolCount

Distinct protocols with at least one matched step.

public int MatchedProtocolCount { get; init; }

Property Value

int

MatchedStepCount

Steps whose match is not none — strong, weak and derived. A derived step is on the transaction; it just got there through a bridge value, which DerivedStepCount keeps separately visible.

public int MatchedStepCount { get; init; }

Property Value

int

OriginMs

The capturedAt every offset is measured from.

public long OriginMs { get; init; }

Property Value

long

RecordingId

Id of the analysed recording.

public string RecordingId { get; init; }

Property Value

string

RecordingName

Its display name.

public string RecordingName { get; init; }

Property Value

string

SpanMs

Total width of the timeline, always at least 1.

public long SpanMs { get; init; }

Property Value

long

Suggestions

Every key the analyzer would accept, best first.

public IReadOnlyList<RecordingCorrelationCandidate> Suggestions { get; init; }

Property Value

IReadOnlyList<RecordingCorrelationCandidate>

Timebase

"absolute" when the recording carries wall-clock capturedAt stamps, "relative" when they are offsets from an arbitrary zero (which is what authored sample recordings use). Renderers must not print a wall-clock date for "relative".

public string Timebase { get; init; }

Property Value

string

Warnings

Human-readable caveats about this particular analysis.

public IReadOnlyList<string> Warnings { get; init; }

Property Value

IReadOnlyList<string>

Methods

Deconstruct(out string, out string, out string, out long, out long, out RecordingCorrelationKey?, out IReadOnlyList<RecordingCorrelationCandidate>, out IReadOnlyList<RecordingCorrelationLane>, out IReadOnlyList<RecordingCorrelationEvent>, out int, out int, out IReadOnlyList<string>, out int, out int)

public void Deconstruct(out string RecordingId, out string RecordingName, out string Timebase, out long OriginMs, out long SpanMs, out RecordingCorrelationKey? Key, out IReadOnlyList<RecordingCorrelationCandidate> Suggestions, out IReadOnlyList<RecordingCorrelationLane> Lanes, out IReadOnlyList<RecordingCorrelationEvent> Events, out int MatchedStepCount, out int MatchedProtocolCount, out IReadOnlyList<string> Warnings, out int DerivedStepCount, out int DerivedProtocolCount)

Parameters

RecordingId string
RecordingName string
Timebase string
OriginMs long
SpanMs long
Key RecordingCorrelationKey
Suggestions IReadOnlyList<RecordingCorrelationCandidate>
Lanes IReadOnlyList<RecordingCorrelationLane>
Events IReadOnlyList<RecordingCorrelationEvent>
MatchedStepCount int
MatchedProtocolCount int
Warnings IReadOnlyList<string>
DerivedStepCount int
DerivedProtocolCount int

Equals(RecordingCorrelationTimeline?)

public bool Equals(RecordingCorrelationTimeline? other)

Parameters

other RecordingCorrelationTimeline

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(RecordingCorrelationTimeline?, RecordingCorrelationTimeline?)

public static bool operator ==(RecordingCorrelationTimeline? left, RecordingCorrelationTimeline? right)

Parameters

left RecordingCorrelationTimeline
right RecordingCorrelationTimeline

Returns

bool

operator !=(RecordingCorrelationTimeline?, RecordingCorrelationTimeline?)

public static bool operator !=(RecordingCorrelationTimeline? left, RecordingCorrelationTimeline? right)

Parameters

left RecordingCorrelationTimeline
right RecordingCorrelationTimeline

Returns

bool