首页 > 解决方案 > 使用 Tensorflow Serving 为多个模型提供服务时,Prometheus 指标上的标签

问题描述

我们使用标准tensorflow/servingdocker 容器为多个 TF 模型提供服务。按照文档,我们通过提供“prometheus”配置来启用监控。指标按预期发出。TFS 确实以区分它所服务的单独模型的方式标记了一些指标,例如,它显示了model_path模型加载尝试和延迟:

# TYPE :tensorflow:cc:saved_model:load_attempt_count counter
:tensorflow:cc:saved_model:load_attempt_count{model_path="gs://disco-int-100-mlops/ml-sandbox-101-tagging/servables/models/1598020514",status="success"} 1
:tensorflow:cc:saved_model:load_attempt_count{model_path="gs://ml-sandbox-examples/HousingModel/2020-10-05T10:37:56/1",status="success"} 1
# TYPE :tensorflow:cc:saved_model:load_latency counter
:tensorflow:cc:saved_model:load_latency{model_path="gs://disco-int-100-mlops/ml-sandbox-101-tagging/servables/models/1598020514"} 19274403
:tensorflow:cc:saved_model:load_latency{model_path="gs://ml-sandbox-examples/HousingModel/2020-10-05T10:37:56/1"} 2938076

大多数其他 TFS 指标根本没有任何标签。是否可以提供额外的配置参数,以便我们获得例如:tensorflow:core:graph_run_time_usecs_histogram_bucket为每个服务模型标记的指标?

标签: tensorflow-serving

解决方案


回答我自己的问题,简单的答案是“不,Prometheus 指标配置没有其他配置参数”。生成指标端点输出的代码在这里: https ://github.com/tensorflow/serving/blob/master/tensorflow_serving/util/prometheus_exporter.cc

看起来是一个为 TFS 做贡献的机会……


推荐阅读