diff --git a/libraries/render/src/render/Engine.h b/libraries/render/src/render/Engine.h index 94102b4834..0271c71529 100644 --- a/libraries/render/src/render/Engine.h +++ b/libraries/render/src/render/Engine.h @@ -25,6 +25,7 @@ namespace render { class RenderContext : public task::JobContext { public: + RenderContext() : task::JobContext(trace_render()) {} virtual ~RenderContext() {} RenderArgs* args; @@ -101,7 +102,7 @@ namespace render { protected: RenderContextPointer _renderContext; - + void run(const RenderContextPointer& context) override { assert(_renderContext); Task::run(_renderContext); } }; using EnginePointer = std::shared_ptr; diff --git a/libraries/task/src/task/Task.h b/libraries/task/src/task/Task.h index 3ac6614a09..2ab90411c1 100644 --- a/libraries/task/src/task/Task.h +++ b/libraries/task/src/task/Task.h @@ -31,9 +31,13 @@ class JobNoIO {}; class JobContext { public: + JobContext(const QLoggingCategory& category) : profileCategory(category) { + assert(category); + } virtual ~JobContext() {} std::shared_ptr jobConfig { nullptr }; + const QLoggingCategory& profileCategory; }; using JobContextPointer = std::shared_ptr; @@ -163,7 +167,9 @@ public: virtual void run(const ContextPointer& jobContext) { PerformanceTimer perfTimer(_name.c_str()); - //PROFILE_RANGE(render, _name.c_str()); + //PROFILE_RANGE(foo, _name); + //Duration profileRangeThis(trace_foo(), name); + Duration profileRange(jobContext->profileCategory, _name.c_str()); auto start = usecTimestampNow(); _concept->run(jobContext);