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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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