Skip to content

EntropyEngine::Core::Concurrency::NodeExecutingEvent

EntropyEngine::Core::Concurrency::NodeExecutingEvent

Section titled “EntropyEngine::Core::Concurrency::NodeExecutingEvent”

A thread has started running this node’s work. More…

#include <WorkGraphEvents.h>

Inherits from EntropyEngine::Core::Concurrency::WorkGraphEvent

Name
NodeExecutingEvent(const WorkGraph * g, NodeHandle n, size_t tid =0)
Name
size_tthreadId
Which worker thread is running it.
NodeHandlenode
The node being executed.

Public Functions inherited from EntropyEngine::Core::Concurrency::WorkGraphEvent

Name
WorkGraphEvent(const WorkGraph * g)

Public Attributes inherited from EntropyEngine::Core::Concurrency::WorkGraphEvent

Name
std::chrono::steady_clock::time_pointtimestamp
When this event was created.
const WorkGraph *graph
Which graph emitted this event.
struct EntropyEngine::Core::Concurrency::NodeExecutingEvent;

A thread has started running this node’s work.

The moment of truth - a worker thread has dequeued this node and is about to call its work function. Includes the thread ID for tracking thread utilization and debugging thread-related issues.

// Thread utilization tracking
std::unordered_map<size_t, std::string> threadWork;
eventBus->subscribe<NodeExecutingEvent>([&threadWork](const auto& event) {
threadWork[event.threadId] = event.node.getData()->name;
LOG_DEBUG("Thread {} executing: {}",
event.threadId, event.node.getData()->name);
});
inline NodeExecutingEvent(
const WorkGraph * g,
NodeHandle n,
size_t tid =0
)
size_t threadId;

Which worker thread is running it.

NodeHandle node;

The node being executed.


Updated on 2026-01-26 at 17:14:35 -0500