Terminal and Ping Body output behavior changes coming in 0.7.0 #15
bdd
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
tl;dr
0.7.0 version introduces two behavior changes. This is heads up for these two upcoming changes but here is also the right venue to convince me there's another way to overcome underlying issue without this possibly breaking change.
stdout and stderr of the command now gets combined and goes to
terminal's stdout. Previously they went to terminal's respective output
streams.
Previously: cmd stdout -> term stdout, cmd stderr -> term stderr
Now : cmd stdout & cmd stderr -> term stdout
-quiet
and-silent
flags now apply to ping body as well.Previously they only suppressed output to terminal but wrote the full
output to ping body.
What's all this about?
Version 0.7.0 brings the ability to truncate ping body on the client side, so if the monitored command has a rather large output, client doesn't wastefully attempt posting—and assuming not failing—a large ping body, only to be discarded by the server. The limit is configurable with
-ping-body-limit
flag and it defaults to 10KB (10,000 bytes) which happens to be the limit for healthchecks.io instance. (6bb0a8a)While developing this feature, I also wanted to tackle a bug @cuu508 noticed, the broken temporal ordering or of stdout and stderr lines in the ping body. Long story short, if the destination of stdout and stderr isn't the same file descriptor, retaining
write()
order is essentially impossible, hence the change in behavior for terminal output all going to stdout and-quiet
&-silent
flags start applying to ping body as well.Implementation change for preserving temporal ordering is at 292b4d6. If you want to kick the tires before the release, 0.7.0-beta.4 is ready for download.
Beta Was this translation helpful? Give feedback.
All reactions