Skip to content

High trace/logging volume and system impact if _jobs_running is held for too long #69

Description

@warrenjmcdonald

This snippet is used twice in the transport.cpp

while (_jobs_running) {
	TRACE("Transport::outbound: sleeping...");
	OS::sleep(0.0005);
}

It is problematic as even if the _jobs_running state is held for only 50ms there will be 100 lines generated.

In a fault condition where the state is locked on, GBs of logs are generated in very short time. This can be fatal for small machines like Raspi Zero with small SD cards with single partitions.

It can also consume inordinate CPU and Wait time (esp with slow SD) which makes it hard to debug the actual fault causing the long _jobs_running state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions