(
metrics_list: Sequence[Metric], name: str, agent_name: str | None = None
)
| 181 | |
| 182 | |
| 183 | def _extract_metrics( |
| 184 | metrics_list: Sequence[Metric], name: str, agent_name: str | None = None |
| 185 | ) -> list[MetricPoint]: |
| 186 | m = next((m for m in metrics_list if m.name == name), None) |
| 187 | if not m: |
| 188 | return [] |
| 189 | points = [] |
| 190 | for dp in m.data.data_points: |
| 191 | if ( |
| 192 | agent_name is not None |
| 193 | and dp.attributes.get("gen_ai.agent.name") != agent_name |
| 194 | ): |
| 195 | continue |
| 196 | value = None |
| 197 | if hasattr(dp, "sum"): |
| 198 | value = dp.sum |
| 199 | elif hasattr(dp, "value"): |
| 200 | value = dp.value |
| 201 | points.append(MetricPoint(attributes=dp.attributes, value=value)) |
| 202 | return points |
| 203 | |
| 204 | |
| 205 | def _setup_test_metrics(monkeypatch): |
no test coverage detected