|
11 | 11 |
|
12 | 12 | from ..telemetry import metrics_constants as constants |
13 | 13 | from ..types.content import Message |
14 | | -from ..types.streaming import Metrics, Usage |
| 14 | +from ..types.event_loop import Metrics, Usage |
15 | 15 | from ..types.tools import ToolUse |
16 | 16 |
|
17 | 17 | logger = logging.getLogger(__name__) |
@@ -265,21 +265,19 @@ def update_usage(self, usage: Usage) -> None: |
265 | 265 | self.accumulated_usage["totalTokens"] += usage["totalTokens"] |
266 | 266 |
|
267 | 267 | # Handle optional cached token metrics |
268 | | - if "cacheReadInputTokens" in usage and usage["cacheReadInputTokens"] is not None: |
| 268 | + if "cacheReadInputTokens" in usage: |
269 | 269 | cache_read_tokens = usage["cacheReadInputTokens"] |
270 | | - self._metrics_client.event_loop_cache_read_tokens.record(cache_read_tokens) |
271 | | - if "cacheReadInputTokens" not in self.accumulated_usage: |
272 | | - self.accumulated_usage["cacheReadInputTokens"] = 0 |
273 | | - current_cache_read = self.accumulated_usage.get("cacheReadInputTokens", 0) or 0 |
274 | | - self.accumulated_usage["cacheReadInputTokens"] = current_cache_read + cache_read_tokens |
| 270 | + self._metrics_client.event_loop_cache_read_input_tokens.record(cache_read_tokens) |
| 271 | + self.accumulated_usage["cacheReadInputTokens"] = ( |
| 272 | + self.accumulated_usage.get("cacheReadInputTokens", 0) + cache_read_tokens |
| 273 | + ) |
275 | 274 |
|
276 | | - if "cacheWriteInputTokens" in usage and usage["cacheWriteInputTokens"] is not None: |
| 275 | + if "cacheWriteInputTokens" in usage: |
277 | 276 | cache_write_tokens = usage["cacheWriteInputTokens"] |
278 | | - self._metrics_client.event_loop_cache_write_tokens.record(cache_write_tokens) |
279 | | - if "cacheWriteInputTokens" not in self.accumulated_usage: |
280 | | - self.accumulated_usage["cacheWriteInputTokens"] = 0 |
281 | | - current_cache_write = self.accumulated_usage.get("cacheWriteInputTokens", 0) or 0 |
282 | | - self.accumulated_usage["cacheWriteInputTokens"] = current_cache_write + cache_write_tokens |
| 277 | + self._metrics_client.event_loop_cache_write_input_tokens.record(cache_write_tokens) |
| 278 | + self.accumulated_usage["cacheWriteInputTokens"] = ( |
| 279 | + self.accumulated_usage.get("cacheWriteInputTokens", 0) + cache_write_tokens |
| 280 | + ) |
283 | 281 |
|
284 | 282 | def update_metrics(self, metrics: Metrics) -> None: |
285 | 283 | """Update the accumulated performance metrics with new metrics data. |
@@ -448,8 +446,8 @@ class MetricsClient: |
448 | 446 | event_loop_latency: Histogram |
449 | 447 | event_loop_input_tokens: Histogram |
450 | 448 | event_loop_output_tokens: Histogram |
451 | | - event_loop_cache_read_tokens: Histogram |
452 | | - event_loop_cache_write_tokens: Histogram |
| 449 | + event_loop_cache_read_input_tokens: Histogram |
| 450 | + event_loop_cache_write_input_tokens: Histogram |
453 | 451 |
|
454 | 452 | tool_call_count: Counter |
455 | 453 | tool_success_count: Counter |
@@ -503,9 +501,9 @@ def create_instruments(self) -> None: |
503 | 501 | self.event_loop_output_tokens = self.meter.create_histogram( |
504 | 502 | name=constants.STRANDS_EVENT_LOOP_OUTPUT_TOKENS, unit="token" |
505 | 503 | ) |
506 | | - self.event_loop_cache_read_tokens = self.meter.create_histogram( |
507 | | - name=constants.STRANDS_EVENT_LOOP_CACHE_READ_TOKENS, unit="token" |
| 504 | + self.event_loop_cache_read_input_tokens = self.meter.create_histogram( |
| 505 | + name=constants.STRANDS_EVENT_LOOP_CACHE_READ_INPUT_TOKENS, unit="token" |
508 | 506 | ) |
509 | | - self.event_loop_cache_write_tokens = self.meter.create_histogram( |
510 | | - name=constants.STRANDS_EVENT_LOOP_CACHE_WRITE_TOKENS, unit="token" |
| 507 | + self.event_loop_cache_write_input_tokens = self.meter.create_histogram( |
| 508 | + name=constants.STRANDS_EVENT_LOOP_CACHE_WRITE_INPUT_TOKENS, unit="token" |
511 | 509 | ) |
0 commit comments