Class UsageRecord

java.lang.Object
com.tnsai.llm.cost.UsageRecord

public class UsageRecord extends Object
Record of a single LLM API call usage.

UsageRecord captures detailed information about each API call, including token counts, costs, and metadata for analysis.

Captured Information

  • Request ID and timestamp
  • Model and provider information
  • Token counts (input, output, cached)
  • Calculated costs
  • Optional metadata (agent ID, task type, etc.)

Usage Example


 UsageRecord record = UsageRecord.builder()
     .modelId("gpt-4o")
     .inputTokens(1000)
     .outputTokens(500)
     .build();

 System.out.println("Cost: $" + record.getTotalCost());
 
  • Method Details

    • builder

      public static UsageRecord.Builder builder()
    • getId

      public String getId()
    • getTimestamp

      public Instant getTimestamp()
    • getModelId

      public String getModelId()
    • getProvider

      public String getProvider()
    • getInputTokens

      public long getInputTokens()
    • getOutputTokens

      public long getOutputTokens()
    • getCachedInputTokens

      public long getCachedInputTokens()
    • getTotalTokens

      public long getTotalTokens()
    • getInputCost

      public BigDecimal getInputCost()
    • getOutputCost

      public BigDecimal getOutputCost()
    • getCachedInputCost

      public BigDecimal getCachedInputCost()
    • getTotalCost

      public BigDecimal getTotalCost()
    • getLatencyMs

      public long getLatencyMs()
    • getSpec

      public Map<String,Object> getSpec()
    • getSpec

      public <T> Optional<T> getSpec(String key, Class<T> type)
    • toString

      public String toString()
      Overrides:
      toString in class Object