ConsumptionMetric

@SerialName(value = "consumption")
data class ConsumptionMetric(val key: MetricKey<ConsumptionMetric> = KEY, val totalConsumption: LLMConsumptionOrNA = LLMConsumptionOrNA.NA, val minPerSubstage: Double? = null, val maxPerSubstage: Double? = null, val avgPerSubstage: Double? = null, val withRetries: ConsumptionWithRetries? = null) : Metric

Total / min / max / avg LLM consumption across substages. Canonical totals are final-attempt only; withRetries, when non-null, exposes the retries-aware counterparts.

Constructors

Link copied to clipboard
constructor(key: MetricKey<ConsumptionMetric> = KEY, totalConsumption: LLMConsumptionOrNA = LLMConsumptionOrNA.NA, minPerSubstage: Double? = null, maxPerSubstage: Double? = null, avgPerSubstage: Double? = null, withRetries: ConsumptionWithRetries? = null)

Types

Link copied to clipboard
object Companion

Key holder for ConsumptionMetric.

Properties

Link copied to clipboard
val avgPerSubstage: Double? = null

Mean per-substage total cost across finished substages, or null if none.

Link copied to clipboard
@Transient
open override val key: MetricKey<ConsumptionMetric>

The key that identifies this metric in a ai.koog.agents.optimization.training.metrics.MetricsMap.

Link copied to clipboard
val maxPerSubstage: Double? = null

Largest per-substage total cost across finished substages, or null if none.

Link copied to clipboard
val minPerSubstage: Double? = null

Smallest per-substage total cost across finished substages, or null if none.

Link copied to clipboard

Running sum of LLM consumption across substages (final-attempt only), or NA if none observed.

Link copied to clipboard

Retries-aware totals; null when no retries fired below this stage.

Functions

Link copied to clipboard
open override fun recompute(currentStage: StageRecord, substages: List<TrainingRecord>, isStageUpdate: Boolean): ConsumptionMetric

Recompute this metric from the full list of substages records.

Link copied to clipboard

Get the total as an LLMConsumption or null.