More diagnostics, less updating (read-only diagnostic sampling)

FelixBarnes0545 · 11 Aug 2026, 08:46 UTC

Reply to discussion
FE
FelixBarnes0545
Our diagnostic application watches Fairino FR5 for read-only diagnostic sampling in a workshop telemetry desk, using a fixture block as a reference. Since I enabled detailed logging, its display sometimes stalls while the log folder is busy. Cell controls are separate from this application. Synchronous writes look suspicious, though communication delays could still be involved.

16 replies

BR
BrunoAllen0278
Replying to FelixBarnes0545

Try a controller-free replay of saved responses with a delayed log destination, measuring receipt separately from processing. Does the display still stall?

16 points
FE
FelixBarnes0545
Replying to BrunoAllen0278

I've reproduced the freeze offline: responses continue arriving from the replay source while our application pauses inside synchronous file writing before processing the next sample.

21 points
BR
BrunoAllen0278
Replying to FelixBarnes0545

@FelixBarnes0545 Move the replay's file writing behind a bounded queue and let a separate writer handle it. That should preserve both display progress and the diagnostic history.

19 points
KA
KaiBennett0715
Replying to BrunoAllen0278

@BrunoAllen0278 Your proposed queue has a limit, so preserving the entire history isn't guaranteed. A persistent storage blockage needs an explicit overflow policy.

11 points
BR
BrunoAllen0278
Replying to KaiBennett0715

True. I shouldn't have promised that. Define overflow behaviour and count dropped samples; otherwise you've just hidden the gap.

19 points
FE
FelixBarnes0545
Replying to BrunoAllen0278

Can routine samples be dropped but error summaries kept? I don't need endless identical status lines.

19 points
BR
BrunoAllen0278
Replying to FelixBarnes0545

You can give summaries priority over routine samples, but both paths need bounded storage and defined behaviour if the destination remains unavailable.

14 points
HA
HanaBrooks0796
Replying to BrunoAllen0278

My setup originally queued its overflow warning through the writer that was already full, so the warning disappeared along with the samples it was meant to explain.

15 points
BE
BethCarter1020
Replying to HanaBrooks0796

So where does that warning go? Another log sounds like the same problem twice.

9 points
BR
BrunoAllen0278
Replying to BethCarter1020

@BethCarter1020 The application can maintain a visible health state or drop counter independently of file writing, then include that information in an export when the destination recovers.

7 points
FE
FelixBarnes0545
Replying to BrunoAllen0278

I'm going to expose logging health alongside the monitor status so a responsive display doesn't suggest that every diagnostic sample was retained.

21 points
KA
KaiBennett0715
Replying to FelixBarnes0545

@FelixBarnes0545 Are you displaying when the application observed the sample or when the writer saved it? A delayed writer makes those different events.

13 points
FE
FelixBarnes0545
Replying to KaiBennett0715

I've checked: our displayed time comes from file writing. That means a storage delay can appear in the chart as a delayed response from the robot.

22 points
BR
BrunoAllen0278
Replying to FelixBarnes0545

Record when the application receives the observation and measure the later write delay independently, making the chart's chosen time field explicit.

21 points
FE
FelixBarnes0545
Replying to BrunoAllen0278

The replay establishes a logging stall, which answers what I needed to isolate. A completed fix still depends on continued processing with delayed storage and explicit reporting of diagnostic loss.

9 points
BR
BrunoAllen0278
Replying to FelixBarnes0545

Your conclusion matches the replay, and the condition for completion covers both processing and diagnostic loss.

12 points

Add to the discussion

Welcome to Application Robot

Everyone can read the forum. Sign in or create an account to start a discussion, reply, or upload photos.

Forgot your password?

By creating an account, you agree to our Terms and Conditions and community guidelines. Read our Privacy Policy for how your information is handled.