diff options
Diffstat (limited to 'indra/llcommon/lltracethreadrecorder.h')
-rw-r--r-- | indra/llcommon/lltracethreadrecorder.h | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/indra/llcommon/lltracethreadrecorder.h b/indra/llcommon/lltracethreadrecorder.h index 678b1a89f0..337035974c 100644 --- a/indra/llcommon/lltracethreadrecorder.h +++ b/indra/llcommon/lltracethreadrecorder.h @@ -41,7 +41,6 @@ namespace LLTrace struct ActiveRecording; public: ThreadRecorder(); - ThreadRecorder(const ThreadRecorder& other); virtual ~ThreadRecorder(); @@ -51,6 +50,8 @@ namespace LLTrace virtual void pushToMaster() = 0; + TimeBlockTreeNode* getTimeBlockTreeNode(S32 index); + protected: struct ActiveRecording { @@ -61,8 +62,12 @@ namespace LLTrace void moveBaselineToTarget(); }; - Recording mFullRecording; + Recording mThreadRecording; std::list<ActiveRecording> mActiveRecordings; + + class BlockTimer* mRootTimer; + TimeBlockTreeNode* mTimeBlockTreeNodes; + size_t mNumTimeBlockTreeNodes; }; class LL_COMMON_API MasterThreadRecorder : public ThreadRecorder @@ -81,17 +86,8 @@ namespace LLTrace LLMutex* getSlaveListMutex() { return &mSlaveListMutex; } private: - struct SlaveThreadRecorderProxy - { - SlaveThreadRecorderProxy(class SlaveThreadRecorder* recorder); - class SlaveThreadRecorder* mRecorder; - Recording mSlaveRecording; - private: - //no need to copy these and then have to duplicate the storage - SlaveThreadRecorderProxy(const SlaveThreadRecorderProxy& other) {} - }; - typedef std::list<SlaveThreadRecorderProxy*> slave_thread_recorder_list_t; + typedef std::list<class SlaveThreadRecorder*> slave_thread_recorder_list_t; slave_thread_recorder_list_t mSlaveThreadRecorders; LLMutex mSlaveListMutex; @@ -111,11 +107,14 @@ namespace LLTrace class SharedData { public: - void copyFrom(const Recording& source); - void copyTo(Recording& sink); + void appendFrom(const Recording& source); + void appendTo(Recording& sink); + void mergeFrom(const Recording& source); + void mergeTo(Recording& sink); + void reset(); private: - LLMutex mRecorderMutex; - Recording mRecorder; + LLMutex mRecordingMutex; + Recording mRecording; }; SharedData mSharedData; }; |