(monkeypatch)
| 203 | |
| 204 | |
| 205 | def _setup_test_metrics(monkeypatch): |
| 206 | reader = InMemoryMetricReader() |
| 207 | provider = MeterProvider(metric_readers=[reader]) |
| 208 | meter = provider.get_meter("test_meter") |
| 209 | agent_duration_hist = meter.create_histogram( |
| 210 | "gen_ai.agent.invocation.duration" |
| 211 | ) |
| 212 | tool_duration_hist = meter.create_histogram("gen_ai.tool.execution.duration") |
| 213 | request_size_hist = meter.create_histogram("gen_ai.agent.request.size") |
| 214 | response_size_hist = meter.create_histogram("gen_ai.agent.response.size") |
| 215 | workflow_steps_hist = meter.create_histogram("gen_ai.agent.workflow.steps") |
| 216 | client_duration_hist = meter.create_histogram( |
| 217 | "gen_ai.client.operation.duration" |
| 218 | ) |
| 219 | client_token_usage_hist = meter.create_histogram("gen_ai.client.token.usage") |
| 220 | |
| 221 | monkeypatch.setattr( |
| 222 | _metrics, "_agent_invocation_duration", agent_duration_hist |
| 223 | ) |
| 224 | monkeypatch.setattr(_metrics, "_tool_execution_duration", tool_duration_hist) |
| 225 | monkeypatch.setattr(_metrics, "_agent_request_size", request_size_hist) |
| 226 | monkeypatch.setattr(_metrics, "_agent_response_size", response_size_hist) |
| 227 | monkeypatch.setattr(_metrics, "_agent_workflow_steps", workflow_steps_hist) |
| 228 | monkeypatch.setattr( |
| 229 | _metrics, "_client_operation_duration", client_duration_hist |
| 230 | ) |
| 231 | monkeypatch.setattr(_metrics, "_client_token_usage", client_token_usage_hist) |
| 232 | return reader |
| 233 | |
| 234 | |
| 235 | @pytest.mark.asyncio |
no outgoing calls
no test coverage detected