tensorflow :: servicio:: ServableStateMonitor
#include <servable_state_monitor.h>
Una utilidad que escucha un EventBus <ServableState> y realiza un seguimiento del estado de cada servidor mencionado en el bus.
Resumen
El caso de uso previsto es para hacer un seguimiento de los estados de servables en un Administrador .
Ofrece una interfaz para consultar los estados de servicio. Puede ser útil como base para paneles de control, así como para probar un administrador.
IMPORTANTE: Debe crear este monitor antes de arreglar para los eventos que se publicará en el bus de eventos, por ejemplo, dando al bus de sucesos a un Gestor .
Constructores y Destructores | |
---|---|
ServableStateMonitor (EventBus< ServableState > *bus, const Options & options) | |
~ServableStateMonitor () |
Tipos públicos | |
---|---|
BoundedLog | utilizandostd::deque< ServableStateAndTime > |
NotifyFn | utilizandostd::function< void(const ServableState &)> |
ServableMap | utilizandostd::map< ServableName, VersionMap > |
ServableName | utilizandostring |
ServableSet | utilizandostd::set< ServableName > |
ServableStateNotifierFn | utilizandostd::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> Notifica cuando todos los servibles han alcanzado el 'estado_objetivo'. |
Version | utilizandoint64 |
VersionMap | utilizandostd::map< Version, ServableStateAndTime, std::greater< Version >> |
Funciones publicas | |
---|---|
ForgetUnloadedServableStates () | void Elimina todas las versiones servibles del ServableMap cuyos estados han pasado a kEnd. |
GetAllServableStates () | ServableMap Devuelve los estados actuales de todas las versiones rastreadas de todos los servibles. |
GetAvailableServableStates () | ServableSet |
GetBoundedLog () | BoundedLog Devuelve el registro acotado actual de los eventos de estado de servicio manejados. |
GetLiveServableStates () | ServableMap Devuelve los estados actuales de todas las versiones de todos los servidores que no han pasado al estado ServableState :: ManagerState :: kEnd. |
GetState (const ServableId & servable_id) | optional< ServableState > Devuelve el estado actual de un servidor o nullopt si no se está rastreando ese servidor. |
GetStateAndTime (const ServableId & servable_id) | optional< ServableStateAndTime > Devuelve el estado actual y la hora de un servidor, o nullopt si no se está rastreando ese servidor. |
GetVersionStates (const string & servable_name) | VersionMap Devuelve los estados actuales de todas las versiones rastreadas del servidor dado, si corresponde. |
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 Similar a NotifyWhenServablesReachState (...), pero en lugar de notificar, esperamos hasta que se alcance 'goal_state' o kEnd. |
Estructuras | |
---|---|
tensorflow :: :: servir ServableStateMonitor :: Opciones | |
tensorflow :: :: servir ServableStateMonitor :: ServableStateAndTime |
Tipos públicos
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
Notifica cuando todos los servibles han alcanzado el 'estado_objetivo'.
Los servibles se pueden especificar de dos formas:
- Como versiones específicas de un nombre de flujo servible. En este caso, verificamos si la versión específica ha alcanzado el 'estado_objetivo' o kEnd.
- Como versiones más recientes, en cuyo caso cualquier versión para un nombre de flujo servible se comparará con 'goal_state' o kEnd.
Llamamos al 'notifier_fn' cuando ambas condiciones son verdaderas -
- Todas las solicitudes publicables específicas han alcanzado el 'estado_objetivo' o el kEnd.
- Todas las últimas solicitudes publicables han alcanzado 'goal_state' o kEnd. El 'notifier_fn' se llamará solo una vez, y no repetidamente.
El argumento 'reach_goal_state' se establece como verdadero si todos los servibles específicos han alcanzado 'goal_state'. Por lo tanto, las personas que llaman deben verificar que 'has_goal_state' sea verdadero en el 'notifier_fn'.
El argumento 'states_reached' se completa con la identificación del servidor y el estado que alcanzó. El estado sería 'goal_state' si 'alcanzó_goal_state' es verdadero, de lo contrario, contendrá uno o más servibles en el estado kEnd. Para las últimas solicitudes servibles, la identificación servible será la identificación del servidor en la secuencia que alcanzó el estado.
Versión
int64 Version
VersionMap
std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap
Funciones publicas
ForgetUnloadedServableStates
void ForgetUnloadedServableStates()
Elimina todas las versiones servibles del ServableMap cuyos estados han pasado a kEnd.
GetAllServableStates
ServableMap GetAllServableStates()
Devuelve los estados actuales de todas las versiones rastreadas de todos los servibles.
GetAvailableServableStates
ServableSet GetAvailableServableStates()
GetBoundedLog
BoundedLog GetBoundedLog()
Devuelve el registro acotado actual de los eventos de estado de servicio manejados.
GetLiveServableStates
ServableMap GetLiveServableStates()
Devuelve los estados actuales de todas las versiones de todos los servidores que no han pasado al estado ServableState :: ManagerState :: kEnd.
GetState
optional< ServableState > GetState( const ServableId & servable_id )
Devuelve el estado actual de un servidor o nullopt si no se está rastreando ese servidor.
GetStateAndTime
optional< ServableStateAndTime > GetStateAndTime( const ServableId & servable_id )
Devuelve el estado actual y la hora de un servidor, o nullopt si no se está rastreando ese servidor.
GetVersionStates
VersionMap GetVersionStates( const string & servable_name )
Devuelve los estados actuales de todas las versiones rastreadas del servidor dado, si corresponde.
Notificar
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
Similar a NotifyWhenServablesReachState (...), pero en lugar de notificar, esperamos hasta que se alcance 'goal_state' o kEnd.
Para comprender el valor de retorno y el parámetro de retorno 'states_reached', lea la documentación en NotifyWhenServablesReachState (...).
~ ServableStateMonitor
virtual ~ServableStateMonitor()