Class DashboardHistoryEntry
public sealed record DashboardHistoryEntry : IEquatable<DashboardHistoryEntry>
- Inheritance
-
DashboardHistoryEntry
- Implements
- Inherited Members
Remarks
Duration is a TimeSpan, as every other duration the dashboard shows is; it used to be a count of whole milliseconds, which lost every execution shorter than one.
Constructors
DashboardHistoryEntry(string, string, string, string, string, string, DateTimeOffset, TimeSpan, bool, string?)
public DashboardHistoryEntry(string SchedulerName, string SchedulerInstanceId, string JobGroup, string JobName, string TriggerGroup, string TriggerName, DateTimeOffset FiredAtUtc, TimeSpan Duration, bool Succeeded, string? ExceptionMessage)
Parameters
SchedulerNamestringThe scheduler the execution belongs to.
SchedulerInstanceIdstringThe node that ran it. Every node of a cluster keeps its own history of its own executions, so without this a row cannot say which machine it came from — and a store shared across the cluster cannot say it either.
JobGroupstringThe group of the job that ran.
JobNamestringThe name of the job that ran.
TriggerGroupstringThe group of the trigger that fired it.
TriggerNamestringThe name of the trigger that fired it.
FiredAtUtcDateTimeOffsetWhen the execution fired.
DurationTimeSpanHow long the job took.
SucceededboolWhether the run counts as a success: its result is Succeeded or Skipped. On a row written before 4.4, whether the job completed without throwing.
ExceptionMessagestringWhat it threw, or null when it did not throw.
Remarks
Duration is a TimeSpan, as every other duration the dashboard shows is; it used to be a count of whole milliseconds, which lost every execution shorter than one.
Properties
Duration
How long the job took.
public TimeSpan Duration { get; init; }
Property Value
EffectiveResult
public JobRunResult EffectiveResult { get; }
Property Value
Remarks
What every result filter, retention tier and status is decided by.
EntryId
What names this row, which the execution-detail page reads it back by; null on a row nothing named, which the history page then shows without a link.
public string? EntryId { get; init; }
Property Value
Remarks
ExceptionMessage
What it threw, or null when it did not throw.
public string? ExceptionMessage { get; init; }
Property Value
FireInstanceId
The firing's FireInstanceId, which links the row to the firing's span and log scope; or null on a row written before 4.4.
public string? FireInstanceId { get; init; }
Property Value
Remarks
Not a key: a fire instance id is unique among the firings in flight, and may repeat after a restart.
FiredAtUtc
When the execution fired.
public DateTimeOffset FiredAtUtc { get; init; }
Property Value
Input
The input the run was given, or null when none was recorded. Read by GetExecution(string, string, CancellationToken); a listing may leave it out, as it may Log.
public string? Input { get; init; }
Property Value
Remarks
Input, carried over, and what the history page's Run again
passes back to TriggerJob(string, JobKeyDto, JobDataMap?, CancellationToken). A non-positional init property,
added in 4.4.
InputTooLarge
Whether the run had an input over MaxInputBytes, which was then not recorded at all.
public bool InputTooLarge { get; init; }
Property Value
Remarks
Nothing rather than a cut input, because a cut payload is a different input: run again with it, a job would do something it was never asked to.
JobGroup
The group of the job that ran.
public string JobGroup { get; init; }
Property Value
JobName
The name of the job that ran.
public string JobName { get; init; }
Property Value
Log
The lines the job logged, or null when nothing was captured. Read by GetExecution(string, string, CancellationToken); a listing may leave it out.
public string? Log { get; init; }
Property Value
Manual
Whether the run was asked for with TriggerJob(JobKey, JobDataMap?, CancellationToken) rather than fired by a schedule.
public bool Manual { get; init; }
Property Value
Remarks
Read from ManualTrigger on the firing trigger's JobDataMap. false on a row written before 4.4.
MetricsJson
What the run measured, from Metrics, as one JSON object; or null when the job reported none, or more than MaxMetricsLength characters of it.
public string? MetricsJson { get; init; }
Property Value
Result
What the run achieved, or null on a row written before 4.4.
public JobRunResult? Result { get; init; }
Property Value
Remarks
Read EffectiveResult, which answers for the older rows too.
RetryAttempt
Which attempt at the occurrence this execution was: 0 on the regular fire, n on
the n-th retry under its retry policy: the trigger's, the job type's or the scheduler's default.
public int RetryAttempt { get; init; }
Property Value
Remarks
Non-positional init properties, so the record's constructor is unchanged and a store an
application wrote against 4.0 or 4.1 still compiles. Both are 0 and
false for an execution with no retry policy behind it, which is the default.
RetryScheduled
Whether the trigger answered this failure with another attempt, so the occurrence was not finished when this row was written.
public bool RetryScheduled { get; init; }
Property Value
Remarks
init properties, so the record's constructor is unchanged and a store an
application wrote against 4.0 or 4.1 still compiles. Both are 0 and
false for an execution with no retry policy behind it, which is the default.
A row that did not succeed and has this false is a final failure, which is what the history page labels "Failed" rather than "Failed (retrying)" and what it offers to run again.
SchedulerInstanceId
The node that ran it. Every node of a cluster keeps its own history of its own executions, so without this a row cannot say which machine it came from — and a store shared across the cluster cannot say it either.
public string SchedulerInstanceId { get; init; }
Property Value
SchedulerName
The scheduler the execution belongs to.
public string SchedulerName { get; init; }
Property Value
Succeeded
Whether the run counts as a success: its result is Succeeded or Skipped. On a row written before 4.4, whether the job completed without throwing.
public bool Succeeded { get; init; }
Property Value
Summary
The job's own one line about the run, from Summary, or null. At most MaxSummaryLength characters.
public string? Summary { get; init; }
Property Value
TriggerGroup
The group of the trigger that fired it.
public string TriggerGroup { get; init; }
Property Value
TriggerName
The name of the trigger that fired it.
public string TriggerName { get; init; }