The British 400m Champion had to spend Friday in bed but was determined to get out on the Maracana track for her heat on Saturday.
She came home fourth in 51.76, missing out on one of the two automatic qualifying places, but that was more than quick enough to put her through as a fastest loser.
“I’ve had a rubbish 48 hours,” she said. “I was in bed all day yesterday with food poisoning. I’m grateful to the GB doctors for getting me able to race.
“I was just crying as to why is this happening now – a day before I was supposed to race. I couldn’t believe it. I was devastated and glad I could make it on to the track.
“There was no way I was not getting on that start line, even if I had to walk around.”
Diamond goes in the second of three 400m semi-finals at 12.42am on Monday. Find out more about her training programme at the University of Bath on this video: