Skip to content

Commit e534d93

Browse files
authored
Merge pull request #293 from umago/ISSUE-291-metrics-as-library
[ISSUE-291] Fix setup_model_metrics() as a library
2 parents c7b1cf0 + 8422346 commit e534d93

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

src/app/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,13 @@ async def rest_api_metrics(
7474
if isinstance(route, (Mount, Route, WebSocketRoute))
7575
]
7676

77-
setup_model_metrics()
78-
7977

8078
@app.on_event("startup")
8179
async def startup_event() -> None:
8280
"""Perform logger setup on service startup."""
8381
logger.info("Registering MCP servers")
8482
await register_mcp_servers_async(logger, configuration.configuration)
8583
get_logger("app.endpoints.handlers")
84+
logger.info("Setting up model metrics")
85+
await setup_model_metrics()
8686
logger.info("App startup complete")

src/metrics/utils.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
"""Utility functions for metrics handling."""
22

33
from configuration import configuration
4-
from client import LlamaStackClientHolder
4+
from client import LlamaStackClientHolder, AsyncLlamaStackClientHolder
55
from log import get_logger
66
import metrics
77

88
logger = get_logger(__name__)
99

1010

11-
def setup_model_metrics() -> None:
11+
async def setup_model_metrics() -> None:
1212
"""Perform setup of all metrics related to LLM model and provider."""
13-
client = LlamaStackClientHolder().get_client()
13+
model_list = []
14+
if configuration.llama_stack_configuration.use_as_library_client:
15+
model_list = await AsyncLlamaStackClientHolder().get_client().models.list()
16+
else:
17+
model_list = LlamaStackClientHolder().get_client().models.list()
18+
1419
models = [
1520
model
16-
for model in client.models.list()
21+
for model in model_list
1722
if model.model_type == "llm" # pyright: ignore[reportAttributeAccessIssue]
1823
]
1924

tests/unit/metrics/test_utis.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from metrics.utils import setup_model_metrics
44

55

6-
def test_setup_model_metrics(mocker):
6+
async def test_setup_model_metrics(mocker):
77
"""Test the setup_model_metrics function."""
88

99
# Mock the LlamaStackAsLibraryClient
@@ -51,7 +51,7 @@ def test_setup_model_metrics(mocker):
5151
model_1,
5252
]
5353

54-
setup_model_metrics()
54+
await setup_model_metrics()
5555

5656
# Check that the provider_model_configuration metric was set correctly
5757
# The default model should have a value of 1, others should be 0

0 commit comments

Comments
 (0)