okami.mom/albedo

git clone https://git.nkp.pet/okami.mom/albedo

nekomimi.petfeat(usage): time provider calls and show tok/s on the turn signoff0a3eddd

main
1.0 KiB32 linesraw
1//// Catches a rate computed for a call that took no measurable time or that
2//// reported no usage. E2E timing cannot make a local call take zero
3//// milliseconds on demand, so the guard runs only here.
4
5import albedo/daemon/usage
6import gleam/option.{type Option, None, Some}
7import gleeunit/should
8
9fn tokens(completion: Int) -> Option(usage.Tokens) {
10  Some(usage.Tokens(10, completion, None, None, None, None, None))
11}
12
13pub fn the_rate_is_output_tokens_over_the_call_span_test() -> Nil {
14  usage.Metadata("model", 1, tokens(100), None, Some(2000))
15  |> usage.tokens_per_second
16  |> should.equal(Some(50.0))
17}
18
19pub fn a_call_without_a_measured_span_has_no_rate_test() -> Nil {
20  usage.Metadata("model", 1, tokens(100), None, None)
21  |> usage.tokens_per_second
22  |> should.equal(None)
23  usage.Metadata("model", 1, tokens(100), None, Some(0))
24  |> usage.tokens_per_second
25  |> should.equal(None)
26}
27
28pub fn a_record_without_usage_has_no_rate_test() -> Nil {
29  usage.Metadata("model", 1, None, None, Some(2000))
30  |> usage.tokens_per_second
31  |> should.equal(None)
32}