3#ifndef ICE_INSTRUMENTATION_H
4#define ICE_INSTRUMENTATION_H
6#include "ConnectionF.h"
8#include "Ice/Context.h"
9#include "ObjectAdapterF.h"
16# pragma clang diagnostic push
17# pragma clang diagnostic ignored "-Wweak-vtables"
120 virtual void failed(
const std::string& exceptionName) = 0;
286 const std::string& parent,
287 const std::string&
id,
315#if defined(__clang__)
316# pragma clang diagnostic pop
virtual void reply(int size)=0
Notifies the observer that a reply was received.
Represents an observer for remote or collocated invocations.
Represents an observer for collocated invocations.
virtual void setObserverUpdater(const ObserverUpdaterPtr &updater)=0
Sets the observer updater.
virtual ObserverPtr getEndpointLookupObserver(const EndpointPtr &endpt)=0
Gets an observer for the given endpoint information.
virtual ThreadObserverPtr getThreadObserver(const std::string &parent, const std::string &id, ThreadState s, const ThreadObserverPtr &o)=0
Gets a thread observer for the given thread.
virtual ObserverPtr getConnectionEstablishmentObserver(const EndpointPtr &endpt, const std::string &connector)=0
Gets an observer for the given endpoint information and connector.
virtual DispatchObserverPtr getDispatchObserver(const Current &c, int size)=0
Gets a dispatch observer for the given dispatch.
virtual InvocationObserverPtr getInvocationObserver(const std::optional< ObjectPrx > &prx, std::string_view operation, const Context &ctx)=0
Gets an invocation observer for the given invocation.
virtual ConnectionObserverPtr getConnectionObserver(const ConnectionInfoPtr &c, const EndpointPtr &e, ConnectionState s, const ConnectionObserverPtr &o)=0
Gets an observer for the given connection.
The communicator observer interface used by the Ice runtime to obtain and update observers for its ob...
virtual void sentBytes(int num)=0
Notifies the observer of the number of bytes sent over the connection.
virtual void receivedBytes(int num)=0
Notifies the observer of the number of bytes received over the connection.
Represents an observer for Ice connections.
virtual void userException()=0
Notifies the observer that the dispatch completed with a user exception.
virtual void reply(int size)=0
Notifies the observer that a reply was sent.
Represents an observer for dispatches.
virtual CollocatedObserverPtr getCollocatedObserver(const ObjectAdapterPtr &adapter, int requestId, int size)=0
Gets a collocated observer for this invocation.
virtual void retried()=0
Notifies the observer that an invocation was retried.
virtual void userException()=0
Notifies the observer that a user exception was received.
virtual RemoteObserverPtr getRemoteObserver(const ConnectionInfoPtr &con, const EndpointPtr &endpt, int requestId, int size)=0
Gets a remote observer for this invocation.
Represents an observer for invocations on proxies.
virtual void updateConnectionObservers()=0
Updates connection observers associated with each of the Ice connection from the communicator and its...
virtual void updateThreadObservers()=0
Updates thread observers associated with each of the Ice thread from the communicator and its object ...
The observer updater interface.
virtual void failed(const std::string &exceptionName)=0
Notifies the observer of a failure.
virtual void attach()=0
Notifies the observer that an instrumented object was created.
virtual void detach()=0
Notifies the observer that an instrumented object was destroyed.
Represents the base class for Ice observers.
Represents an observer for remote invocations.
virtual void stateChanged(ThreadState oldState, ThreadState newState)=0
Notifies the observer of a thread state change.
Represents an observer for Ice threads.
The base class for all Ice proxies.
std::shared_ptr< CollocatedObserver > CollocatedObserverPtr
A shared pointer to a CollocatedObserver.
ConnectionState
The state of an Ice connection.
@ ConnectionStateHolding
The connection is holding the reception of new messages.
@ ConnectionStateActive
The connection is active and can send and receive messages.
@ ConnectionStateClosed
The connection is closed and waits for potential dispatch to be finished before being destroyed and d...
@ ConnectionStateValidating
The connection is being validated.
@ ConnectionStateClosing
The connection is being gracefully shutdown and waits for the peer to close its end of the connection...
std::shared_ptr< ConnectionObserver > ConnectionObserverPtr
A shared pointer to a ConnectionObserver.
std::shared_ptr< Observer > ObserverPtr
A shared point to an Observer.
std::shared_ptr< ThreadObserver > ThreadObserverPtr
A shared pointer to a ThreadObserver.
ThreadState
The thread state enumeration keeps track of the different possible states of Ice threads.
@ ThreadStateInUseForUser
The thread is calling user code (servant implementation, AMI callbacks).
@ ThreadStateInUseForOther
The thread is performing other internal activities (DNS lookups, timer callbacks, etc).
@ ThreadStateInUseForIO
The thread is in use performing reads or writes for Ice connections.
@ ThreadStateIdle
The thread is idle.
std::shared_ptr< ObserverUpdater > ObserverUpdaterPtr
A shared pointer to an ObserverUpdater.
std::shared_ptr< DispatchObserver > DispatchObserverPtr
A shared pointer to a DispatchObserver.
std::shared_ptr< RemoteObserver > RemoteObserverPtr
A shared pointer to a RemoteObserver.
std::shared_ptr< CommunicatorObserver > CommunicatorObserverPtr
A shared pointer to a CommunicatorObserver.
std::shared_ptr< InvocationObserver > InvocationObserverPtr
A shared pointer to an InvocationObserver.
std::shared_ptr< ChildInvocationObserver > ChildInvocationObserverPtr
A shared pointer to a ChildInvocationObserver.
Observers for objects created by the Ice runtime.
std::shared_ptr< ConnectionInfo > ConnectionInfoPtr
A shared pointer to a ConnectionInfo.
std::shared_ptr< ObjectAdapter > ObjectAdapterPtr
A shared pointer to an ObjectAdapter.
std::shared_ptr< Endpoint > EndpointPtr
A shared pointer to an Endpoint.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Provides information about an incoming request being dispatched.