I haven't tried this in a real cannon, but I shoot light sticks out of my potato gun. I activate three of them and fasten them together with clear package tape. I use a plastic grocery bag as a wad. The bag will only go 10 -15 feet, but the sticks will easily go higher than any of the fireworks or rockets you see shot on the Fourth of July. The good news is you can retrieve them and the bag and relaunch them as often as you like. You have to be careful, as you would with any high velocity projectile, but you won't start any fires with these 'tracers'. If the ball or projectile had a hole in which you could insert a light stick, it would be visible at night. I'd put it away from the powder charge. On a big cannon, you could even use clear tape to fasten one to a ball. It would only cost a dollar to find out. I've never read of anyone else doing this.
I posted on an earlier thread about using kerosene or colored water escaping through a hole to make a smoke trail. This was used in early amateur rockets, and aerobatic jets to generate a smoke trail. The projectile would have to have two holes, covered by tape during firing. Blast or wind speed would remove the tape, allowing air into one hole and forcing a stream of liquid out the other. The liquid stream would be turned to an aerosol by the high velocity. The 'smoke' would be white unless some colored dye was added to the liquid.
Both ideas are cheap and non fire hazardous.