| 154 | // TODO: Add start-time. |
| 155 | // TODO: Track fragment ID. |
| 156 | class ThreadDescriptor { |
| 157 | public: |
| 158 | ThreadDescriptor() { } |
| 159 | ThreadDescriptor(const string& category, const string& name, int64_t thread_id) |
| 160 | : name_(name), category_(category), thread_id_(thread_id) { |
| 161 | } |
| 162 | |
| 163 | const string& name() const { return name_; } |
| 164 | const string& category() const { return category_; } |
| 165 | int64_t thread_id() const { return thread_id_; } |
| 166 | |
| 167 | private: |
| 168 | string name_; |
| 169 | string category_; |
| 170 | int64_t thread_id_; |
| 171 | }; |
| 172 | |
| 173 | // A ThreadCategory is a set of threads that are logically related. |
| 174 | // TODO: unordered_map is incompatible with boost::thread::id, but would be more |