@@ -13,6 +13,7 @@ public class OpenAITelemetryPluginReportModelUsageInformation
1313 public double Cost { get ; set ; }
1414 public required string Model { get ; init ; }
1515 public required long PromptTokens { get ; init ; }
16+ public long CachedTokens { get ; init ; }
1617}
1718
1819public class OpenAITelemetryPluginReport : IMarkdownReport , IPlainTextReport , IJsonReport
@@ -33,14 +34,15 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
3334 var totalTokens = 0L ;
3435 var totalPromptTokens = 0L ;
3536 var totalCompletionTokens = 0L ;
37+ var totalCachedTokens = 0L ;
3638 var totalCost = 0.0 ;
3739 var totalRequests = 0 ;
3840
3941 var sb = new StringBuilder ( ) ;
4042 _ = sb
4143 . AppendLine ( CultureInfo . InvariantCulture , $ "# LLM usage report for { Application } in { Environment } ")
4244 . AppendLine ( )
43- . Append ( "Model|Requests|Prompt Tokens|Completion Tokens|Total Tokens" ) ;
45+ . Append ( "Model|Requests|Prompt Tokens|Completion Tokens|Cached Tokens| Total Tokens" ) ;
4446
4547 if ( IncludeCosts )
4648 {
@@ -49,7 +51,7 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
4951
5052 _ = sb
5153 . AppendLine ( )
52- . Append ( ":----|-------:|------------:|----------------:|-----------:" ) ;
54+ . Append ( ":----|-------:|------------:|----------------:|-----------:|-----------: " ) ;
5355
5456 if ( IncludeCosts )
5557 {
@@ -62,10 +64,12 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
6264 {
6365 var promptTokens = modelUsage . Value . Sum ( u => u . PromptTokens ) ;
6466 var completionTokens = modelUsage . Value . Sum ( u => u . CompletionTokens ) ;
67+ var cachedTokens = modelUsage . Value . Sum ( u => u . CachedTokens ) ;
6568 var tokens = promptTokens + completionTokens ;
6669
6770 totalPromptTokens += promptTokens ;
6871 totalCompletionTokens += completionTokens ;
72+ totalCachedTokens += cachedTokens ;
6973 totalTokens += tokens ;
7074 totalRequests += modelUsage . Value . Count ;
7175
@@ -74,6 +78,7 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
7478 . Append ( '|' ) . Append ( totalRequests )
7579 . Append ( '|' ) . Append ( promptTokens )
7680 . Append ( '|' ) . Append ( completionTokens )
81+ . Append ( '|' ) . Append ( cachedTokens )
7782 . Append ( '|' ) . Append ( tokens ) ;
7883
7984 if ( IncludeCosts )
@@ -91,6 +96,7 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
9196 . Append ( '|' ) . Append ( CultureInfo . CurrentCulture , $ "**{ totalRequests } **")
9297 . Append ( '|' ) . Append ( CultureInfo . CurrentCulture , $ "**{ totalPromptTokens } **")
9398 . Append ( '|' ) . Append ( CultureInfo . CurrentCulture , $ "**{ totalCompletionTokens } **")
99+ . Append ( '|' ) . Append ( CultureInfo . CurrentCulture , $ "**{ totalCachedTokens } **")
94100 . Append ( '|' ) . Append ( CultureInfo . CurrentCulture , $ "**{ totalTokens } **") ;
95101
96102 if ( IncludeCosts )
@@ -108,6 +114,7 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
108114 var totalTokens = 0L ;
109115 var totalPromptTokens = 0L ;
110116 var totalCompletionTokens = 0L ;
117+ var totalCachedTokens = 0L ;
111118 var totalCost = 0.0 ;
112119
113120 var sb = new StringBuilder ( ) ;
@@ -121,17 +128,20 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
121128 {
122129 var promptTokens = modelUsage . Value . Sum ( u => u . PromptTokens ) ;
123130 var completionTokens = modelUsage . Value . Sum ( u => u . CompletionTokens ) ;
131+ var cachedTokens = modelUsage . Value . Sum ( u => u . CachedTokens ) ;
124132 var tokens = promptTokens + completionTokens ;
125133
126134 totalPromptTokens += promptTokens ;
127135 totalCompletionTokens += completionTokens ;
136+ totalCachedTokens += cachedTokens ;
128137 totalTokens += tokens ;
129138
130139 _ = sb . AppendLine ( CultureInfo . InvariantCulture , $ "MODEL: { modelUsage . Key } ")
131140 . AppendLine ( )
132141 . AppendLine ( CultureInfo . InvariantCulture , $ "Requests: { modelUsage . Value . Count } ")
133142 . AppendLine ( CultureInfo . InvariantCulture , $ "Prompt Tokens: { promptTokens } ")
134143 . AppendLine ( CultureInfo . InvariantCulture , $ "Completion Tokens: { completionTokens } ")
144+ . AppendLine ( CultureInfo . InvariantCulture , $ "Cached Tokens: { cachedTokens } ")
135145 . AppendLine ( CultureInfo . InvariantCulture , $ "Total Tokens: { tokens } ") ;
136146
137147 if ( IncludeCosts )
@@ -149,6 +159,7 @@ public class OpenAITelemetryPluginReport : IMarkdownReport, IPlainTextReport, IJ
149159 . AppendLine ( )
150160 . AppendLine ( CultureInfo . InvariantCulture , $ "Prompt Tokens: { totalPromptTokens } ")
151161 . AppendLine ( CultureInfo . InvariantCulture , $ "Completion Tokens: { totalCompletionTokens } ")
162+ . AppendLine ( CultureInfo . InvariantCulture , $ "Cached Tokens: { totalCachedTokens } ")
152163 . AppendLine ( CultureInfo . InvariantCulture , $ "Total Tokens: { totalTokens } ") ;
153164
154165 if ( IncludeCosts )
0 commit comments