get a ruler and measure 1 foot of chain pin to pin
if its off more than 1/16" you need a new chain, if its off more than 1/8" you probably need new middle ring and poss. cassette
if you change the chain using the 1/16" rule and keep everything clean & lubed you should get 3 or 4 chains to every middle ring/ cassette, for me 4 chains a year

I go through about 2 Shimano XT chains a year and an XT cassette every 3 chains. I've changed my middle & granny chainrings once in 3 years, might be time to again soon. I ride around 1000 miles/yr. I use a go/no go chain checker and get a new chain at 0.75% stretch.

My London commuter which I use in the wet still has the same chain from last season (that's about 3000km now) with less than 1/8 stretch.

I don't obsess over cleaning (take off once every two months or so) and lube the chain as lightly as possible. With previous chains I used to just douse the bloody things with oil and think that's great then they eventually just snapped so I got wiser

I don't trust the Park tool anymore. I have one and have been using it. I finally tried the ruler and I'm over 1/16" and the Park tool isn't close. The new chain skipped when installed. So, I'm back to the old chain and riding it until the casette and rings are hosed. YMMV

As said measure the chain using a good steel ruler, measuring 1ft/12" works, but doing 2ft/24" is even better - I still tick with the 1/16"th rule. Depending on the conditions I'd say you get about 1,000-1,500 miles on a Shimano XTR/CN7701 (which is the only chain I use, as it's their best and much cheaper than comparable SRAM). I ride about 5k miles a year and prob do 3 or 4 chains depending.

Many alternate 2 new chains with one fresh cassette, this lengthens the life of front rings and the cassette. this gives less wear over a longer period of time, better prolong performance, and happens to be economical. after so many miles ( and depending on chain care and conditions) you switch to the other, and then back...