PersistentProfilerDataSegment Class Reference

#include <MemoryX/libraries/memorytypes/segment/PersistentProfilerDataSegment.h>

+ Inheritance diagram for PersistentProfilerDataSegment:

Public Member Functions

ProfilerEntityBaseList getProfilerDataEntities (const ::Ice::Current &=Ice::emptyCurrent) const override
 
ProfilerEventBaseList getProfilerEventEntities (const Ice::Current &=Ice::emptyCurrent) const override
 
ProfilerMemorySnapshotBaseList getProfilerMemorySnapshotEntities (const Ice::Current &=Ice::emptyCurrent) const override
 
ProfilerMemoryUsageBaseList getProfilerMemoryUsageBaseEntities (const Ice::Current &=Ice::emptyCurrent) const override
 
ProfilerProcessBaseList getProfilerProcessCpuUsageEntities (const Ice::Current &=Ice::emptyCurrent) const override
 
ProfilerTransitionBaseList getProfilerTransitionEntities (const Ice::Current &=Ice::emptyCurrent) const override
 
 PersistentProfilerDataSegment (CollectionInterfacePrx entityCollection, Ice::CommunicatorPtr ic, bool useMongoIds=true)
 
std::string saveOrUpdateTransition (const ProfilerTransitionBasePtr &transition, const Ice::Current &=Ice::emptyCurrent) override
 saveOrUpdateTransition if the ProfilerTransition already exists, the count() of it is increased, otherwise a new Entity is created in the segment. More...
 
std::string saveUniqueMemorySnapshot (const ProfilerMemorySnapshotBasePtr &memorySnapshot, const Ice::Current &=Ice::emptyCurrent) override
 saveUniqueMemorySnapshot checks if memorySnaphsot already exists in the segment and creates it otherwise. More...
 
- Public Member Functions inherited from PersistentEntitySegment
std::string addEntity (const EntityBasePtr &entity, const ::Ice::Current &c=Ice::emptyCurrent) override
 addEntity add new entity and return the newly generated entity ID More...
 
EntityIdList addEntityList (const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override
 addEntityList adds all entities contained in \entityList to this segment and returns a list of created entity IDs More...
 
virtual EntityIdList addEntityListThreadUnsafe (const EntityBaseList &entityList)
 
virtual std::string addEntityThreadUnsafe (const EntityBasePtr &entity)
 
void addReadCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
 
void clear (const ::Ice::Current &=Ice::emptyCurrent) override
 clear removes all elements from the current memoryx::PersistentEntitySegment::writeCollection More...
 
void clearReadCollections (const ::Ice::Current &=Ice::emptyCurrent) override
 
EntityRefList findRefsByQuery (const std::string &query, const Ice::Current &c) override
 retrieves Entity Refs that match the query. More...
 
EntityBaseList getAllEntities (const ::Ice::Current &=Ice::emptyCurrent) const override
 getAllEntities returns a list of all entities managed by this memory segment More...
 
EntityIdList getAllEntityIds (const ::Ice::Current &=Ice::emptyCurrent) const override
 
virtual EntityIdList getAllEntityIdsThreadUnsafe () const
 
EntityBaseList getEntitiesByAttrValue (const ::std::string &attrName, const ::std::string &attrValue, const ::Ice::Current &=Ice::emptyCurrent) const override
 
EntityBaseList getEntitiesByAttrValueList (const ::std::string &attrName, const NameList &attrValueList, const ::Ice::Current &=Ice::emptyCurrent) const override
 
EntityBasePtr getEntityById (const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) const override
 
virtual EntityBasePtr getEntityByIdThreadUnsafe (const ::std::string &entityId) const
 
EntityBasePtr getEntityByName (const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) const override
 
virtual EntityBasePtr getEntityByNameThreadUnsafe (const ::std::string &name) const
 
EntityRefBasePtr getEntityRefById (const std::string &id, const Ice::Current &) const override
 
EntityRefBasePtr getEntityRefByName (const std::string &name, const Ice::Current &c) const override
 
::Ice::Identity getIceId (const ::Ice::Current &=Ice::emptyCurrent) const override
 
IdEntityMap getIdEntityMap (const ::Ice::Current &=Ice::emptyCurrent) const override
 
std::string getObjectTypeId (const ::Ice::Current &=Ice::emptyCurrent) const override
 
NameList getReadCollectionsNS (const ::Ice::Current &=Ice::emptyCurrent) const override
 
std::string getSegmentName (const ::Ice::Current &=Ice::emptyCurrent) const override
 
std::string getWriteCollectionNS (const ::Ice::Current &=Ice::emptyCurrent) const override
 
bool hasEntityById (const std::string &entityId, const Ice::Current &=Ice::emptyCurrent) const override
 
bool hasEntityByIdThreadUnsafe (const std::string &entityId) const
 
bool hasEntityByName (const std::string &entityName, const Ice::Current &=Ice::emptyCurrent) const override
 
bool hasEntityByNameThreadUnsafe (const std::string &entityName) const
 
 PersistentEntitySegment (CollectionInterfacePrx entityCollection, Ice::CommunicatorPtr ic, bool useMongoIds=true)
 
void print (const ::Ice::Current &=Ice::emptyCurrent) const override
 
void removeAllEntities (const ::Ice::Current &c=Ice::emptyCurrent) override
 removeAllEntities collects all entities managed by this memory segment and removes them from the segment More...
 
void removeEntity (const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) override
 removeEntity removes an entity with the ID entityId More...
 
virtual void removeEntityThreadUnsafe (const ::std::string &entityId)
 
void setEntityAttribute (const std::string &entityId, const EntityAttributeBasePtr &attribute, const Ice::Current &) override
 
void setEntityAttributes (const std::string &entityId, const EntityAttributeList &attributeMap, const Ice::Current &) override
 
void setParentMemory (const MemoryInterfacePtr &memory, const Ice::Current &) override
 
void setSingleRWCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
 
void setWriteCollection (const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
 
Ice::Int size (const ::Ice::Current &=Ice::emptyCurrent) const override
 size counts the number of memoryx::Entity instances contained available reachable throuhg memoryx::PersistentEntitySegment::readCollections. More...
 
void updateEntity (const ::std::string &entityId, const EntityBasePtr &update, const ::Ice::Current &=Ice::emptyCurrent) override
 
virtual void updateEntityThreadUnsafe (const ::std::string &entityId, const EntityBasePtr &update)
 
std::string upsertEntity (const std::string &entityId, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override
 
std::string upsertEntityByName (const std::string &entityName, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override
 
virtual std::string upsertEntityByNameThreadUnsafe (const std::string &entityName, const EntityBasePtr &entity)
 
EntityIdList upsertEntityList (const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override
 
virtual EntityIdList upsertEntityListThreadUnsafe (const EntityBaseList &entityList)
 
virtual std::string upsertEntityThreadUnsafe (const std::string &entityId, const EntityBasePtr &entity)
 
 ~PersistentEntitySegment () override
 
- Public Member Functions inherited from SegmentUtilImplementations
EntityBaseList getEntityWithChildrenById (const std::string &id, bool includeMetaEntities, const Ice::Current &c=Ice::emptyCurrent) const override
 
EntityBaseList getEntityWithChildrenByName (const std::string &, bool includeMetaEntities, const Ice::Current &c=Ice::emptyCurrent) const override
 
std::string getJSONEntityById (const std::string &id, const Ice::Current &) const override
 
ScopedSharedLockPtr getReadLock (const Ice::Current &c) const
 
ScopedUniqueLockPtr getWriteLock (const Ice::Current &c) const
 
bool keepLockAlive (const std::string &token, const Ice::Current &) override
 
SegmentLockBasePtr lockSegment (const Ice::Current &c) override
 
 SegmentUtilImplementations ()
 
bool unlockSegment (const SegmentLockBasePtr &lock, const Ice::Current &c) override
 
bool unlockSegmentWithToken (const std::string &token, const Ice::Current &c) override
 

Static Public Member Functions

template<typename T >
static std::string GetEntityIdFromList (const EntityBasePtr &entity, const std::vector< T > &entities)
 

Additional Inherited Members

- Public Types inherited from SegmentUtilImplementations
using ScopedSharedLock = std::unique_lock< std::shared_mutex >
 
using ScopedSharedLockPtr = std::unique_ptr< ScopedSharedLock >
 
using ScopedUniqueLock = std::unique_lock< std::shared_mutex >
 
using ScopedUniqueLockPtr = std::unique_ptr< ScopedSharedLock >
 
- Protected Member Functions inherited from PersistentEntitySegment
EntityBasePtr deserializeEntity (const DBStorableData &dbEntity) const
 
void setSegmentName (const std::string &segmentName, const ::Ice::Current &=Ice::emptyCurrent) override
 
- Protected Member Functions inherited from SegmentUtilImplementations
void keepAliveCheck ()
 
- Protected Attributes inherited from PersistentEntitySegment
MongoSerializerPtr dbSerializer
 
std::recursive_mutex dbSerializerMutex
 
MemoryInterfacePtr parentMemory
 
CollectionPrxList readCollections
 
std::string segmentName
 
bool useMongoIds
 
CollectionInterfacePrx writeCollection
 
- Protected Attributes inherited from SegmentUtilImplementations
armarx::PeriodicTask< SegmentUtilImplementations >::pointer_type keepAliveCheckTask
 
IceUtil::Time keepAliveTimestamp
 
std::mutex keepAliveTimestampMutex
 
std::string lockToken
 
std::mutex mutex
 
ScopedSharedLockPtr readLock
 
std::shared_mutex segmentMutex
 
EntityMemorySegmentInterfacePrx selfProxy
 
std::mutex tokenMutex
 
ScopedUniqueLockPtr writeLock
 

Detailed Description

Definition at line 36 of file PersistentProfilerDataSegment.h.

Constructor & Destructor Documentation

◆ PersistentProfilerDataSegment()

PersistentProfilerDataSegment ( CollectionInterfacePrx  entityCollection,
Ice::CommunicatorPtr  ic,
bool  useMongoIds = true 
)

Definition at line 30 of file PersistentDMPDataSegment.cpp.

Member Function Documentation

◆ GetEntityIdFromList()

std::string GetEntityIdFromList ( const EntityBasePtr &  entity,
const std::vector< T > &  entities 
)
static

Definition at line 166 of file PersistentProfilerDataSegment.cpp.

◆ getProfilerDataEntities()

ProfilerEntityBaseList getProfilerDataEntities ( const ::Ice::Current &  = Ice::emptyCurrent) const
override

Definition at line 37 of file PersistentDMPDataSegment.cpp.

+ Here is the call graph for this function:

◆ getProfilerEventEntities()

ProfilerEventBaseList getProfilerEventEntities ( const Ice::Current &  = Ice::emptyCurrent) const
override

Definition at line 55 of file PersistentDMPDataSegment.cpp.

◆ getProfilerMemorySnapshotEntities()

ProfilerMemorySnapshotBaseList getProfilerMemorySnapshotEntities ( const Ice::Current &  = Ice::emptyCurrent) const
override

Definition at line 84 of file PersistentProfilerDataSegment.cpp.

+ Here is the call graph for this function:

◆ getProfilerMemoryUsageBaseEntities()

ProfilerMemoryUsageBaseList getProfilerMemoryUsageBaseEntities ( const Ice::Current &  = Ice::emptyCurrent) const
override

Definition at line 114 of file PersistentProfilerDataSegment.cpp.

+ Here is the call graph for this function:

◆ getProfilerProcessCpuUsageEntities()

ProfilerProcessBaseList getProfilerProcessCpuUsageEntities ( const Ice::Current &  = Ice::emptyCurrent) const
override

Definition at line 99 of file PersistentProfilerDataSegment.cpp.

+ Here is the call graph for this function:

◆ getProfilerTransitionEntities()

ProfilerTransitionBaseList getProfilerTransitionEntities ( const Ice::Current &  = Ice::emptyCurrent) const
override

Definition at line 72 of file PersistentDMPDataSegment.cpp.

+ Here is the caller graph for this function:

◆ saveOrUpdateTransition()

std::string saveOrUpdateTransition ( const ProfilerTransitionBasePtr &  transition,
const Ice::Current &  = Ice::emptyCurrent 
)
override

saveOrUpdateTransition if the ProfilerTransition already exists, the count() of it is increased, otherwise a new Entity is created in the segment.

Parameters
transition
Returns
the Id of the existing or newly created Entity

Definition at line 144 of file PersistentProfilerDataSegment.cpp.

+ Here is the call graph for this function:

◆ saveUniqueMemorySnapshot()

std::string saveUniqueMemorySnapshot ( const ProfilerMemorySnapshotBasePtr &  memorySnapshot,
const Ice::Current &  = Ice::emptyCurrent 
)
override

saveUniqueMemorySnapshot checks if memorySnaphsot already exists in the segment and creates it otherwise.

Parameters
memorySnapshot
Returns
the Id of the existing or newly created Entity

Definition at line 130 of file PersistentProfilerDataSegment.cpp.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: