Skip to content

[observe] Add session duration to ObserveCostSummary #371

Description

@nagasatish007

Summary

Add sessionDurationMs: number to the ObserveCostSummary type — time elapsed since observe() was called.

What to do

  • Record Date.now() when observe() creates the proxy
  • Compute duration in getCost() as Date.now() - startTime
  • Add sessionDurationMs to the returned ObserveCostSummary object
  • Update the type definition
  • Add unit test

Expected behavior

const client = observe(new OpenAI());
// ... wait 5 seconds, make some calls ...
const cost = client.getCost();
console.log(cost.sessionDurationMs); // ~5000

Acceptance criteria

  • sessionDurationMs field added to ObserveCostSummary interface in src/observe/types.ts
  • Value computed correctly as Date.now() - proxyCreationTime
  • Unit test verifies duration is > 0 and approximately correct
  • Doesn't break existing getCost() consumers (additive change)

Helpful links

  • Types: src/observe/types.tsObserveCostSummary
  • Observe entry point: src/observe/observe.ts
  • Cost accumulator: src/observe/cost-accumulator.ts

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    Backlog
    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions