diff --git a/python/sglang/srt/disaggregation/utils.py b/python/sglang/srt/disaggregation/utils.py index 6591e743e..4b2e8c209 100644 --- a/python/sglang/srt/disaggregation/utils.py +++ b/python/sglang/srt/disaggregation/utils.py @@ -35,6 +35,14 @@ class DisaggregationMode(Enum): PREFILL = "prefill" DECODE = "decode" + @staticmethod + def to_engine_type(mode: str) -> str: + if mode == DisaggregationMode.PREFILL.value: + return "prefill" + elif mode == DisaggregationMode.DECODE.value: + return "decode" + return "unified" + ######################### # Synchronization diff --git a/python/sglang/srt/managers/tokenizer_manager.py b/python/sglang/srt/managers/tokenizer_manager.py index ae2552e22..318366c44 100644 --- a/python/sglang/srt/managers/tokenizer_manager.py +++ b/python/sglang/srt/managers/tokenizer_manager.py @@ -454,9 +454,13 @@ class TokenizerManager(TokenizerControlMixin, TokenizerManagerScoreMixin): def init_metric_collector_watchdog(self): # Metrics if self.enable_metrics: + engine_type = DisaggregationMode.to_engine_type( + self.server_args.disaggregation_mode + ) + labels = { "model_name": self.server_args.served_model_name, - # TODO: Add lora name/path in the future, + "engine_type": engine_type, } if self.enable_priority_scheduling: labels["priority"] = "" diff --git a/python/sglang/srt/observability/scheduler_metrics_mixin.py b/python/sglang/srt/observability/scheduler_metrics_mixin.py index a9cc8c785..d9d9e3418 100644 --- a/python/sglang/srt/observability/scheduler_metrics_mixin.py +++ b/python/sglang/srt/observability/scheduler_metrics_mixin.py @@ -121,14 +121,9 @@ class SchedulerMetricsMixin: self.attn_tp_rank == 0 or self.server_args.enable_metrics_for_all_schedulers ) if self.enable_metrics: - if self.server_args.disaggregation_mode == DisaggregationMode.PREFILL.value: - engine_type = "prefill" - elif ( - self.server_args.disaggregation_mode == DisaggregationMode.DECODE.value - ): - engine_type = "decode" - else: - engine_type = "unified" + engine_type = DisaggregationMode.to_engine_type( + self.server_args.disaggregation_mode + ) labels = { "model_name": self.server_args.served_model_name,