Mine’s generally around 2-3 hours depending on what I’m doing, time constraints (I have a bad habit of showing up to the gym just early enough that I’m rushing to finish before it closes), and whether or not there’s one or two good buds around who like to chat. I mean, I enjoy talking training/nutrition/youtube lifting/weightlifting life as much as the next guy, but it sends my rest times through the roof. I do like long breaks though, generally up around 5 minutes when I start getting close to my maxes.
As far as exercises, there’s a bit of a warmup (some mobility stuff, play around with a stick, some quick rows, box jumps, that sort of thing), and some combination of snatch, snatch pulls, clean and jerk, clean pulls, front squats and back squats. Exercise selection and rep range are generally determined by what I’ve managed to accomplish lately (I have a bad habit of taking up to 5-6 days off at a time haha) and what I feel needs work. Longest workout I do is probably heavy snatch doubles, heavy snatch pull triples, heavy 2 cleans + 1 jerk, heavy clean pull triples, and front or back squats up to a 2-3RM. Don’t always have the time/energy to do all that in one session though. Also, if I’m only doing one of the classics plus squats, I like to pair snatch/snatch pulls with back squats and clean and jerks/clean pulls with front squats. Rest times and the weights I ramp up with also depend somewhat on the rep range I’m using.