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つの方法で指定できます。
- 提供可能なストリーム名の特定のバージョンとして。この場合、特定のバージョンが「goal_state」またはkEndに到達したかどうかを確認します。
- 最新バージョンとして、この場合、サービス可能なストリーム名のバージョンは、「goal_state」またはkEndと照合されます。
両方の条件が真の場合、「notifier_fn」と呼びます-
- 特定のサービス可能なリクエストはすべて、「goal_state」またはkEndに到達しています。
- 最新のサービス可能なリクエストはすべて「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()