Record Class BenchmarkRunResult
java.lang.Object
java.lang.Record
uno.anahata.asi.yam.tools.benchmarks.BenchmarkRunResult
- Record Components:
participant- The candidate model participant configuration.testCode- The unique code of the benchmark test (e.g.,"JAVA-JNA-1").asiContainer- The identifier of the ASI container where the test was executed (e.g."NetBeansAsiContainer","AsiDesktopAsiContainer").timestamp- The exact time the benchmark run was executed.durationSeconds- The wall-clock execution duration in seconds.turns- The total number of conversational turns taken by the model.promptTokens- The total input (prompt) tokens consumed across all turns.candidatesTokens- The total output (candidate) tokens generated across all turns.thoughtsTokens- The total internal reasoning (thinking) tokens generated across all turns.totalTokens- The total interaction tokens reported by the provider.passed- Whether the benchmark test completed successfully with zero defects.judgeScores- A map of judge names to their given ratings (e.g."Pablo" -> 9.0, "Vijay" -> 8.5).videoUrl- The URL to the run demonstration video (e.g. YouTube video).screenshotPath- The relative or absolute path to the captured execution screenshot.sessionId- The unique UUID of the child AGI session that executed the test.observations- Optional notes, tool outputs, or qualitative developer feedback.
public record BenchmarkRunResult(BenchmarkParticipant participant, String testCode, String asiContainer, Instant timestamp, double durationSeconds, int turns, int promptTokens, int candidatesTokens, int thoughtsTokens, int totalTokens, boolean passed, Map<String,Double> judgeScores, String videoUrl, String screenshotPath, String sessionId, String observations)
extends Record
Immutable telemetry record capturing the complete execution metrics and outcome of a benchmark test run.
Binds the candidate BenchmarkParticipant, test code, duration, turn count,
fine-grained token economics (prompt, candidate, thoughts, and total), execution pass/fail status,
media assets (video URL, screenshot), container identifier, and multi-judge subjective scores.
- Author:
- anahata
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StringThe field for theasiContainerrecord component.private final intThe field for thecandidatesTokensrecord component.private final doubleThe field for thedurationSecondsrecord component.The field for thejudgeScoresrecord component.private final StringThe field for theobservationsrecord component.private final BenchmarkParticipantThe field for theparticipantrecord component.private final booleanThe field for thepassedrecord component.private final intThe field for thepromptTokensrecord component.private final StringThe field for thescreenshotPathrecord component.private final StringThe field for thesessionIdrecord component.private final StringThe field for thetestCoderecord component.private final intThe field for thethoughtsTokensrecord component.private final InstantThe field for thetimestamprecord component.private final intThe field for thetotalTokensrecord component.private final intThe field for theturnsrecord component.private final StringThe field for thevideoUrlrecord component. -
Constructor Summary
ConstructorsConstructorDescriptionBenchmarkRunResult(BenchmarkParticipant participant, String testCode, String asiContainer, Instant timestamp, double durationSeconds, int turns, int promptTokens, int candidatesTokens, int thoughtsTokens, int totalTokens, boolean passed, Map<String, Double> judgeScores, String videoUrl, String screenshotPath, String sessionId, String observations) Canonical constructor ensuring judge scores map is unmodifiable and never null. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theasiContainerrecord component.intReturns the value of thecandidatesTokensrecord component.doubleReturns the value of thedurationSecondsrecord component.final booleanIndicates whether some other object is "equal to" this one.Calculates the arithmetic average of all submitted judge scores.final inthashCode()Returns a hash code value for this object.Returns the value of thejudgeScoresrecord component.Returns the value of theobservationsrecord component.Returns the value of theparticipantrecord component.booleanpassed()Returns the value of thepassedrecord component.intReturns the value of thepromptTokensrecord component.Returns the value of thescreenshotPathrecord component.Returns the value of thesessionIdrecord component.testCode()Returns the value of thetestCoderecord component.intReturns the value of thethoughtsTokensrecord component.Returns the value of thetimestamprecord component.final StringtoString()Returns a string representation of this record class.intReturns the value of thetotalTokensrecord component.intturns()Returns the value of theturnsrecord component.videoUrl()Returns the value of thevideoUrlrecord component.
-
Field Details
-
participant
The field for theparticipantrecord component. -
testCode
-
asiContainer
The field for theasiContainerrecord component. -
timestamp
-
durationSeconds
private final double durationSecondsThe field for thedurationSecondsrecord component. -
turns
private final int turnsThe field for theturnsrecord component. -
promptTokens
private final int promptTokensThe field for thepromptTokensrecord component. -
candidatesTokens
private final int candidatesTokensThe field for thecandidatesTokensrecord component. -
thoughtsTokens
private final int thoughtsTokensThe field for thethoughtsTokensrecord component. -
totalTokens
private final int totalTokensThe field for thetotalTokensrecord component. -
passed
private final boolean passedThe field for thepassedrecord component. -
judgeScores
The field for thejudgeScoresrecord component. -
videoUrl
-
screenshotPath
The field for thescreenshotPathrecord component. -
sessionId
-
observations
The field for theobservationsrecord component.
-
-
Constructor Details
-
BenchmarkRunResult
public BenchmarkRunResult(BenchmarkParticipant participant, String testCode, String asiContainer, Instant timestamp, double durationSeconds, int turns, int promptTokens, int candidatesTokens, int thoughtsTokens, int totalTokens, boolean passed, Map<String, Double> judgeScores, String videoUrl, String screenshotPath, String sessionId, String observations) Canonical constructor ensuring judge scores map is unmodifiable and never null.- Parameters:
participant- The participant.testCode- The test code.asiContainer- The container ID.timestamp- The timestamp.durationSeconds- The duration in seconds.turns- The turns count.promptTokens- Prompt tokens.candidatesTokens- Candidate tokens.thoughtsTokens- Thoughts tokens.totalTokens- Total tokens.passed- Passed flag.judgeScores- Judge scores map.videoUrl- Video URL.screenshotPath- Screenshot path.sessionId- Session UUID.observations- Observations.
-
-
Method Details
-
getAverageScore
Calculates the arithmetic average of all submitted judge scores.- Returns:
- The average judge score, or
nullif no judge scores have been recorded yet.
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with thecomparemethod from their corresponding wrapper classes. -
participant
Returns the value of theparticipantrecord component.- Returns:
- the value of the
participantrecord component
-
testCode
-
asiContainer
Returns the value of theasiContainerrecord component.- Returns:
- the value of the
asiContainerrecord component
-
timestamp
-
durationSeconds
public double durationSeconds()Returns the value of thedurationSecondsrecord component.- Returns:
- the value of the
durationSecondsrecord component
-
turns
-
promptTokens
public int promptTokens()Returns the value of thepromptTokensrecord component.- Returns:
- the value of the
promptTokensrecord component
-
candidatesTokens
public int candidatesTokens()Returns the value of thecandidatesTokensrecord component.- Returns:
- the value of the
candidatesTokensrecord component
-
thoughtsTokens
public int thoughtsTokens()Returns the value of thethoughtsTokensrecord component.- Returns:
- the value of the
thoughtsTokensrecord component
-
totalTokens
public int totalTokens()Returns the value of thetotalTokensrecord component.- Returns:
- the value of the
totalTokensrecord component
-
passed
-
judgeScores
Returns the value of thejudgeScoresrecord component.- Returns:
- the value of the
judgeScoresrecord component
-
videoUrl
-
screenshotPath
Returns the value of thescreenshotPathrecord component.- Returns:
- the value of the
screenshotPathrecord component
-
sessionId
-
observations
Returns the value of theobservationsrecord component.- Returns:
- the value of the
observationsrecord component
-

