此页面由 Cloud Translation API 翻译。
Switch to English

张量流:: 服务:: ServableStateMonitor

#include <servable_state_monitor.h>

侦听EventBus <ServableState>并跟踪总线上提到的每个可服务状态的实用程序。

摘要

预期的用例是在Manager中跟踪可食用状态。

提供用于查询可服务状态的接口。它可用作仪表板以及测试经理的基础。

重要说明:您必须先创建此监视器,然后才能安排要在事件总线上发布的事件,例如将事件总线提供给Manager

构造函数和析构函数

ServableStateMonitor (EventBus< ServableState > *bus, const Options & options)
~ServableStateMonitor ()

公开类型

BoundedLog 使用
std::deque< ServableStateAndTime >
NotifyFn 使用
std::function< void(const ServableState &)>
ServableMap 使用
std::map< ServableName, VersionMap >
ServableName 使用
string
ServableSet 使用
std::set< ServableName >
ServableStateNotifierFn 使用
std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)>
在所有可食用物都达到“ goal_state”时通知。
Version 使用
int64
VersionMap 使用
std::map< Version, ServableStateAndTime, std::greater< Version >>

公共职能

ForgetUnloadedServableStates ()
void
从状态已转换为kEnd的ServableMap中删除所有可服务的版本。
GetAllServableStates ()
ServableMap
返回所有servable的所有跟踪版本的当前状态。
GetAvailableServableStates ()
ServableSet
GetBoundedLog ()
BoundedLog
返回已处理的可服务状态事件的当前有界日志。
GetLiveServableStates ()
ServableMap
返回尚未转变为ServableState :: ManagerState :: kEnd状态的所有servable的所有版本的当前状态。
GetState (const ServableId & servable_id)
optional< ServableState >
返回一个可服务对象的当前状态;如果未跟踪该可服务对象,则返回nullopt。
GetStateAndTime (const ServableId & servable_id)
optional< ServableStateAndTime >
返回一个可服务对象的当前状态和时间;如果未跟踪该可服务对象,则返回nullopt。
GetVersionStates (const string & servable_name)
VersionMap
返回给定servable的所有跟踪版本的当前状态(如果有)。
Notify (const NotifyFn & notify_fn)
void
NotifyWhenServablesReachState (const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, const ServableStateNotifierFn & notifier_fn)
void
WaitUntilServablesReachState (const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, std::map< ServableId, ServableState::ManagerState > *states_reached) TF_MUST_USE_RESULT
bool
与NotifyWhenServablesReachState(...)类似,但是我们没有通知,而是等到到达“ goal_state”或kEnd为止。

结构

tensorflow ::服务:: ServableStateMonitor ::选项
张量流::服务:: ServableStateMonitor :: ServableStateAndTime

公开类型

有界日志

std::deque< ServableStateAndTime > BoundedLog

通知单

std::function< void(const ServableState &)> NotifyFn

ServableMap

std::map< ServableName, VersionMap > ServableMap

ServableName

string ServableName

ServableSet

std::set< ServableName > ServableSet

ServableStateNotifierFn

std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> ServableStateNotifierFn

在所有可食用物都达到“ goal_state”时通知。

可以通过两种方式指定可使用的内容:

  1. 作为可服务流名称的特定版本。在这种情况下,我们检查特定版本是否已达到“ goal_state”或kEnd。
  2. 作为最新版本,在这种情况下,适用的流名称的任何版本都将与“ goal_state”或kEnd相匹配。

当两个条件都成立时,我们将其称为“ notifier_fn”-

  1. 所有特定的可服务请求都已到达“ goal_state”或kEnd。
  2. 所有最新的可服务请求均已达到“ goal_state”或kEnd。 “ notifier_fn”将仅被调用一次,不会被重复调用。

如果所有特定的可食用对象均已达到“ goal_state”,则将“ reached_goal_state”参数设置为true。因此,调用方应验证“ notifier_fn”中的“ reached_goal_state”是否正确。

“ states_reached”参数填充有可服务对象的ID及其到达的状态。如果'reached_goal_state'为true,则该状态为'goal_state',否则它将以kEnd状态包含一个或多个可服务项。对于最新的可服务请求,可服务ID将是到达状态的流中可服务的ID。

int64 Version

版本地图

std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap

公共职能

忘记未加载的可使用状态

void ForgetUnloadedServableStates()

从状态已转换为kEnd的ServableMap中删除所有可服务版本。

GetAllServableStates

ServableMap GetAllServableStates()

返回所有servable的所有跟踪版本的当前状态。

GetAvailableServableStates

ServableSet GetAvailableServableStates()

GetBoundedLog

BoundedLog GetBoundedLog()

返回已处理的可服务状态事件的当前有界日志。

GetLiveServableStates

ServableMap GetLiveServableStates()

返回尚未转变为ServableState :: ManagerState :: kEnd状态的所有servable的所有版本的当前状态。

获取状态

optional< ServableState > GetState(
  const ServableId & servable_id
)

返回一个可服务对象的当前状态;如果未跟踪该可服务对象,则返回nullopt。

GetStateAndTime

optional< ServableStateAndTime > GetStateAndTime(
  const ServableId & servable_id
)

返回一个可服务对象的当前状态和时间;如果未跟踪该可服务对象,则返回nullopt。

GetVersionStates

VersionMap GetVersionStates(
  const string & servable_name
)

返回给定servable的所有跟踪版本的当前状态(如果有)。

通知

void Notify(
  const NotifyFn & notify_fn
)

NotifyWhenServablesReachState

void NotifyWhenServablesReachState(
  const std::vector< ServableRequest > & servables,
  ServableState::ManagerState goal_state,
  const ServableStateNotifierFn & notifier_fn
)

ServableStateMonitor

 ServableStateMonitor(
  EventBus< ServableState > *bus,
  const Options & options
)

WaitUntilServablesReachState

bool WaitUntilServablesReachState(
  const std::vector< ServableRequest > & servables,
  ServableState::ManagerState goal_state,
  std::map< ServableId, ServableState::ManagerState > *states_reached
) TF_MUST_USE_RESULT

与NotifyWhenServablesReachState(...)类似,但是我们没有通知,而是等到到达“ goal_state”或kEnd为止。

要了解返回值和返回参数'states_reached',请阅读NotifyWhenServablesReachState(...)上的文档。

〜ServableStateMonitor

virtual  ~ServableStateMonitor()