MCPcopy Create free account
hub / github.com/coder/aibridge / RecordTokenUsage

Method RecordTokenUsage

example/recorder.go:94–112  ·  view source on GitHub ↗
(ctx context.Context, req *aibridge.TokenUsageRecord)

Source from the content-addressed store, hash-verified

92}
93
94func (r *SQLiteRecorder) RecordTokenUsage(ctx context.Context, req *aibridge.TokenUsageRecord) error {
95 // Build metadata, merging extra token types.
96 merged := make(map[string]any)
97 for k, v := range req.Metadata {
98 merged[k] = v
99 }
100 for k, v := range req.ExtraTokenTypes {
101 merged[k] = v
102 }
103 metadata, _ := json.Marshal(merged)
104
105 _, err := r.stmtInsertTokenUsage.ExecContext(ctx,
106 uuid.NewString(), req.InterceptionID, req.MsgID, req.Input, req.Output, req.CacheReadInputTokens, req.CacheWriteInputTokens, string(metadata), req.CreatedAt,
107 )
108 if err != nil {
109 r.logger.Warn(ctx, "failed to record token usage", slog.Error(err))
110 }
111 return err
112}
113
114func (r *SQLiteRecorder) RecordPromptUsage(ctx context.Context, req *aibridge.PromptUsageRecord) error {
115 metadata, _ := json.Marshal(req.Metadata)

Callers

nothing calls this directly

Calls 1

ErrorMethod · 0.45

Tested by

no test coverage detected