[Observability] Expose python/rust frontend identity in /server_info (#39993)
Signed-off-by: Sage Ahrac <sagiahrak@gmail.com>
This commit is contained in:
@@ -846,6 +846,7 @@ async def server_info():
|
||||
"startup_time": _global_state.tokenizer_manager.startup_time,
|
||||
"internal_states": internal_states,
|
||||
"version": __version__,
|
||||
"frontend": "python",
|
||||
# Structured KV-event publisher descriptor for KV-aware routers.
|
||||
# `None` when publishing is disabled or misconfigured; see
|
||||
# `runtime_context.describe_kv_events_publisher` for the contract.
|
||||
|
||||
@@ -173,6 +173,7 @@ fn shape_server_info(msgpack: &[u8], server_args: &ServerArgs) -> Result<Vec<u8>
|
||||
"max_context_length": server_args.model_config.context_len,
|
||||
"max_total_num_tokens": server_args.max_total_num_tokens,
|
||||
"version": server_args.version,
|
||||
"frontend": "rust",
|
||||
"internal_states": [serde_json::Value::Object(state_out)],
|
||||
});
|
||||
serde_json::to_vec(&response).map_err(|e| e.to_string())
|
||||
@@ -240,5 +241,6 @@ mod tests {
|
||||
assert!(state0.get("api_key").is_none());
|
||||
// Curated top-level config comes from typed accessors, not the dump.
|
||||
assert_eq!(v["model_path"], "/m");
|
||||
assert_eq!(v["frontend"], "rust");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -523,6 +523,7 @@ class TestServerInfoExistingFieldsPreserved(CustomTestCase):
|
||||
|
||||
self.assertIn("internal_states", info)
|
||||
self.assertIn("version", info)
|
||||
self.assertEqual(info["frontend"], "python")
|
||||
|
||||
def test_kv_events_config_raw_field_still_surfaced(self):
|
||||
# The new structured `kv_events` block sits alongside the
|
||||
|
||||
Reference in New Issue
Block a user