NOTE: I'm not a 'go' programmer by trade and I love the diagrams python module you created...thanks for your contributions!
While using your tool to generate some logs while performance testing a log shipper setup, I noticed the timestamp in the emitted logs (while using the -l forever option), slowly became further and further behind the current time. This made it appear that the log shipper was lagging behind.
A basic test I performed was as follows:
Run the flog generator
./flog -f json -o /tmp/json.log -t log -d 1ms -l
In another terminal, every few seconds compare the last log line with the current date:
tail -1 /tmp/json.log && date
What you'll notice is the timestamp in the last log line slowly gets behind from the current time.
I was able to make a minor modification to flog.go which corrected the problem:
EDIT: Your implementation allows for better precision (using delays less than 1ms), it's just the slow skew that I'm not sure can be completely accounted for since the load generator requires some wall time to execute as well.
NOTE: I'm not a 'go' programmer by trade and I love the diagrams python module you created...thanks for your contributions!
While using your tool to generate some logs while performance testing a log shipper setup, I noticed the timestamp in the emitted logs (while using the
-l
forever option), slowly became further and further behind the current time. This made it appear that the log shipper was lagging behind.A basic test I performed was as follows:
Run the flog generator
In another terminal, every few seconds compare the last log line with the current date:
What you'll notice is the timestamp in the last log line slowly gets behind from the current time.
I was able to make a minor modification to flog.go which corrected the problem:
EDIT: Your implementation allows for better precision (using delays less than 1ms), it's just the slow skew that I'm not sure can be completely accounted for since the load generator requires some wall time to execute as well.