169 _threadingPolicy =
policy;
436 int _idealQueueSize = 2;
448 mutable std::mutex _statsMutex;
451 double _lastProcessDuration = 0.0;
452 double _avgProcessDuration = 0.0;
453 double _peakProcessDuration = 0.0;
454 int _peakQueueDepth = 0;
466#define PROMEKI_REGISTER_NODE(ClassName) \
467 static struct ClassName##Registrar { \
468 ClassName##Registrar() { \
469 MediaNode::registerNodeType(#ClassName, []() -> MediaNode * { return new ClassName(); }); \
471 } __##ClassName##Registrar;
Lightweight error code wrapper for the promeki library.
Definition error.h:39
SharedPtr< Frame > Ptr
Shared pointer type for Frame.
Definition frame.h:40
Dynamic array container wrapping std::vector.
Definition list.h:40
size_t size() const noexcept
Returns the number of elements in the list.
Definition list.h:301
Ordered associative container wrapping std::map.
Definition map.h:38
Base object for promeki.
Definition objectbase.h:129
ObjectBase * parent() const
Returns the parent object, if one. nullptr if none.
Definition objectbase.h:258
Encoding-aware string class with copy-on-write semantics.
Definition string.h:35
General-purpose thread pool for submitting callable tasks.
Definition threadpool.h:44
A monotonic timestamp based on std::chrono::steady_clock.
Definition timestamp.h:32
Severity
Severity level for node messages.
Definition medianode.h:35
@ Warning
Warning — non-fatal issue.
@ Info
Informational message.
@ Fatal
Fatal — pipeline should stop.
@ Error
Error — node transitions to ErrorState.
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19
const T & value(const Result< T > &r)
Returns the value from a Result.
Definition result.h:56
Structured message emitted by a pipeline node.
Definition medianode.h:46
String message
Human-readable message text.
Definition medianode.h:48
MediaNode * node
The node that emitted this message.
Definition medianode.h:51
TimeStamp timestamp
When the message was created.
Definition medianode.h:50
uint64_t frameNumber
Frame number this message relates to (0 if not frame-specific).
Definition medianode.h:49
Severity severity
Message severity level.
Definition medianode.h:47
Snapshot of node performance statistics.
Definition medianode.h:58
uint64_t starvationCount
Total starvation() invocations.
Definition medianode.h:60
uint64_t processCount
Total process() invocations.
Definition medianode.h:59
double avgProcessDuration
Exponential moving average of process() duration in seconds.
Definition medianode.h:62
int peakQueueDepth
Peak input queue depth observed.
Definition medianode.h:65
double lastProcessDuration
Wall-clock time of last process() call in seconds.
Definition medianode.h:61
double peakProcessDuration
Peak process() duration in seconds.
Definition medianode.h:63
int currentQueueDepth
Current input queue depth.
Definition medianode.h:64