tensorflow ::サービング:: ServableStateMonitor

#include <servable_state_monitor.h>

EventBus <ServableState>をリッスンし、バス上で言及されている各servableの状態を追跡するユーティリティ。

概要

意図された使用の場合は、中servablesの状態を追跡することであるマネージャー

使用可能な状態を照会するためのインターフェースを提供します。ダッシュボードの基礎として、またマネージャーのテストに役立つ場合があります。

重要:あなたはにイベントバスを与えるなど、イベントバスに公開されるイベントのために配置する前にこのモニターを作成する必要がありますマネージャ

コンストラクタとデストラクタ

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)>
すべてのservableが「goal_state」に到達したときに通知します。
Versionを使用して
int64
VersionMapを使用して
std::map< Version, ServableStateAndTime, std::greater< Version >>

公の行事

ForgetUnloadedServableStates ()
void
状態がkEndに移行したServableMapからすべてのservableバージョンを削除します。
GetAllServableStates ()
ServableMap
すべてのservableの追跡されたすべてのバージョンの現在の状態を返します。
GetAvailableServableStates ()
ServableSet
GetBoundedLog ()
BoundedLog
処理されたサービス可能な状態イベントの現在の制限付きログを返します。
GetLiveServableStates ()
ServableMap
状態ServableState :: ManagerState :: kEndに遷移していないすべてのservableのすべてのバージョンの現在の状態を返します。
GetState (const ServableId & servable_id)
optional< ServableState >
1つのservableの現在の状態を返します。そのservableが追跡されていない場合はnulloptを返します。
GetStateAndTime (const ServableId & servable_id)
optional< ServableStateAndTime >
1つのservableの現在の状態と時刻を返します。そのservableが追跡されていない場合は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 ::オプション
tensorflow ::サービス提供:: ServableStateMonitor :: ServableStateAndTime

パブリックタイプ

BoundedLog

std::deque< ServableStateAndTime > BoundedLog

NotifyFn

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

すべてのservableが「goal_state」に到達したときに通知します。

サーバブルは、次の2つの方法で指定できます。

  1. 提供可能なストリーム名の特定のバージョンとして。この場合、特定のバージョンが「goal_state」またはkEndに到達したかどうかを確認します。
  2. 最新バージョンとして、この場合、サービス可能なストリーム名のバージョンは、「goal_state」またはkEndと照合されます。

両方の条件が真の場合、「notifier_fn」と呼びます-

  1. 特定のサービス可能なリクエストはすべて、「goal_state」またはkEndに到達しています。
  2. 最新のサービス可能なリクエストはすべて「goal_state」またはkEndに達しました。 'notifier_fn'は一度だけ呼び出され、繰り返し呼び出されることはありません。

'reached_goal_state'引数は、特定のservablesがすべて 'goal_state'に達した場合にtrueとして設定されます。したがって、呼び出し元は、「notifier_fn」で「reached_goal_state」がtrueであることを確認する必要があります。

'states_reached'引数には、servableのIDと到達した状態が入力されます。 'reached_goal_state'がtrueの場合、状態は 'goal_state'になります。それ以外の場合、kEnd状態の1つ以上のservableが含まれます。最新のservableリクエストの場合、servable idは、状態に到達したストリーム内のservableのIDになります。

バージョン

int64 Version

VersionMap

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

公の行事

ForgetUnloadedServableStates

void ForgetUnloadedServableStates()

状態がkEndに移行したServableMapからすべてのservableバージョンを削除します。

GetAllServableStates

ServableMap GetAllServableStates()

すべてのservableの追跡されたすべてのバージョンの現在の状態を返します。

GetAvailableServableStates

ServableSet GetAvailableServableStates()

GetBoundedLog

BoundedLog GetBoundedLog()

処理されたサービス可能な状態イベントの現在の制限付きログを返します。

GetLiveServableStates

ServableMap GetLiveServableStates()

状態ServableState :: ManagerState :: kEndに遷移していないすべてのservableのすべてのバージョンの現在の状態を返します。

GetState

optional< ServableState > GetState(
  const ServableId & servable_id
)

1つのservableの現在の状態を返します。そのservableが追跡されていない場合はnulloptを返します。

GetStateAndTime

optional< ServableStateAndTime > GetStateAndTime(
  const ServableId & servable_id
)

1つのservableの現在の状態と時刻を返します。そのservableが追跡されていない場合は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()