MCPcopy Index your code
hub / github.com/coder/coder / RecordTokenUsage

Method RecordTokenUsage

coderd/aibridged/translator.go:66–88  ·  view source on GitHub ↗
(ctx context.Context, req *aibridge.TokenUsageRecord)

Source from the content-addressed store, hash-verified

64}
65
66func (t *recorderTranslation) RecordTokenUsage(ctx context.Context, req *aibridge.TokenUsageRecord) error {
67 merged := req.Metadata
68 if merged == nil {
69 merged = aibridge.Metadata{}
70 }
71
72 // Merge remaining extra token types into metadata.
73 for k, v := range req.ExtraTokenTypes {
74 merged[k] = v
75 }
76
77 _, err := t.client.RecordTokenUsage(ctx, &proto.RecordTokenUsageRequest{
78 InterceptionId: req.InterceptionID,
79 MsgId: req.MsgID,
80 InputTokens: req.Input,
81 OutputTokens: req.Output,
82 CacheReadInputTokens: req.CacheReadInputTokens,
83 CacheWriteInputTokens: req.CacheWriteInputTokens,
84 Metadata: marshalForProto(merged),
85 CreatedAt: timestamppb.New(req.CreatedAt),
86 })
87 return err
88}
89
90func (t *recorderTranslation) RecordToolUsage(ctx context.Context, req *aibridge.ToolUsageRecord) error {
91 serialized, err := json.Marshal(req.Args)

Callers

nothing calls this directly

Calls 3

marshalForProtoFunction · 0.85
RecordTokenUsageMethod · 0.65
NewMethod · 0.65

Tested by

no test coverage detected