Unisciti alla community di SIG TFX-Addons e aiutaci a rendere TFX ancora migliore! Iscriviti a SIG TFX-Addons

tensorflow :: servendo:: ServableStateMonitor

#include <servable_state_monitor.h>

Un'utilità che ascolta un EventBus <ServableState> e tiene traccia dello stato di ogni servable menzionato sul bus.

Sommario

Il caso d'uso previsto è tenere traccia degli stati dei servables in un Manager .

Offre un'interfaccia per interrogare gli stati servibili. Può essere utile come base per dashboard, nonché per testare un manager.

IMPORTANTE: è necessario creare questo monitor prima di organizzare la pubblicazione degli eventi sul bus degli eventi, ad es. Consegnare il bus degli eventi a un Manager .

Costruttori e distruttori

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

Tipi pubblici

BoundedLog utilizzando
std::deque< ServableStateAndTime >
NotifyFn utilizzando
std::function< void(const ServableState &)>
ServableMap utilizzando
std::map< ServableName, VersionMap >
ServableName utilizzando
string
ServableSet utilizzando
std::set< ServableName >
ServableStateNotifierFn utilizzando
std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)>
Notifica quando tutti i servizi hanno raggiunto "goal_state".
Version utilizzando
int64
VersionMap utilizzando
std::map< Version, ServableStateAndTime, std::greater< Version >>

Funzioni pubbliche

ForgetUnloadedServableStates ()
void
Rimuove tutte le versioni servibili da ServableMap i cui stati sono passati a kEnd.
GetAllServableStates ()
ServableMap
Restituisce gli stati correnti di tutte le versioni monitorate di tutti i servable.
GetAvailableServableStates ()
ServableSet
GetBoundedLog ()
BoundedLog
Restituisce il log delimitato corrente degli eventi di stato servable gestiti.
GetLiveServableStates ()
ServableMap
Restituisce gli stati correnti di tutte le versioni di tutti i servable che non sono passati allo stato ServableState :: ManagerState :: kEnd.
GetState (const ServableId & servable_id)
optional< ServableState >
Restituisce lo stato corrente di un servable o nullopt se tale servable non viene monitorato.
GetStateAndTime (const ServableId & servable_id)
optional< ServableStateAndTime >
Restituisce lo stato e l'ora correnti di un servable o nullopt se tale servable non viene monitorato.
GetVersionStates (const string & servable_name)
VersionMap
Restituisce gli stati correnti di tutte le versioni monitorate del dato servibile, se presente.
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
Simile a NotifyWhenServablesReachState (...), ma invece di notificare, aspettiamo fino a quando non viene raggiunto "goal_state" o kEnd.

Structs

tensorflow :: serving :: ServableStateMonitor :: Opzioni
tensorflow :: serving :: ServableStateMonitor :: ServableStateAndTime

Tipi pubblici

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 quando tutti i servizi hanno raggiunto "goal_state".

I servizi possono essere specificati in due modi:

  1. Come versioni specifiche di un nome di flusso pubblicabile. In questo caso, controlliamo se la versione specifica ha raggiunto "goal_state" o kEnd.
  2. Come le ultime versioni, nel qual caso qualsiasi versione per un nome di flusso pubblicabile verrà confrontata con "goal_state" o kEnd.

Chiamiamo 'notifier_fn' quando entrambe le condizioni sono vere -

  1. Tutte le richieste servibili specifiche hanno raggiunto "goal_state" o kEnd.
  2. Tutte le ultime richieste servibili hanno raggiunto "goal_state" o kEnd. "Notifier_fn" verrà chiamato solo una volta e non ripetutamente.

L'argomento "reach_goal_state" è impostato come true se e solo se tutti i servizi specifici hanno raggiunto "goal_state". Quindi i chiamanti dovrebbero verificare che "reach_goal_state" sia vero in "notifier_fn".

L'argomento 'states_reached' viene popolato con l'ID del servable e lo stato raggiunto. Lo stato sarebbe "goal_state" se "reach_goal_state" è vero, altrimenti conterrà uno o più servizi nello stato kEnd. Per le ultime richieste servibili, l'id servibile sarà l'id del servibile nel flusso che ha raggiunto lo stato.

Versione

int64 Version

VersionMap

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

Funzioni pubbliche

ForgetUnloadedServableStates

void ForgetUnloadedServableStates()

Rimuove tutte le versioni servibili da ServableMap i cui stati sono passati a kEnd.

GetAllServableStates

ServableMap GetAllServableStates()

Restituisce gli stati correnti di tutte le versioni monitorate di tutti i servable.

GetAvailableServableStates

ServableSet GetAvailableServableStates()

GetBoundedLog

BoundedLog GetBoundedLog()

Restituisce il log delimitato corrente degli eventi di stato servable gestiti.

GetLiveServableStates

ServableMap GetLiveServableStates()

Restituisce gli stati correnti di tutte le versioni di tutti i servable che non sono passati allo stato ServableState :: ManagerState :: kEnd.

GetState

optional< ServableState > GetState(
  const ServableId & servable_id
)

Restituisce lo stato corrente di un servable o nullopt se tale servable non viene monitorato.

GetStateAndTime

optional< ServableStateAndTime > GetStateAndTime(
  const ServableId & servable_id
)

Restituisce lo stato e l'ora correnti di un servable o nullopt se tale servable non viene monitorato.

GetVersionStates

VersionMap GetVersionStates(
  const string & servable_name
)

Restituisce gli stati correnti di tutte le versioni monitorate del dato servable, se presente.

Notificare

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

Simile a NotifyWhenServablesReachState (...), ma invece di notificare, attendiamo fino al raggiungimento di "goal_state" o kEnd.

Per comprendere il valore di ritorno e il parametro di ritorno "states_reached", leggere la documentazione su NotifyWhenServablesReachState (...).

~ ServableStateMonitor

virtual  ~ServableStateMonitor()