Judge by reps in reserve
On your last set, ask how many more reps you could have done. For growth you want that number at 0 to 3, meaning the bar slowed and the set felt hard, not a comfortable stop with plenty left.
You are training hard enough when your last reps slow and grind, ending within 0 to 3 reps of failure.
The clearest sign is that your final reps get genuinely difficult, slowing down and requiring real effort, so you end each working set within 0 to 3 reps of failure. If you could have done 5 or more extra reps, you left too much on the table. Beyond effort per set, real proof is that your reps and weights climb over weeks; if they are not, you are likely not pushing close enough to failure.
On your last set, ask how many more reps you could have done. For growth you want that number at 0 to 3, meaning the bar slowed and the set felt hard, not a comfortable stop with plenty left.
Most people underestimate failure and stop too early. Occasionally take a set all the way to the point you cannot complete another rep, so you learn what genuine hard effort feels like and can gauge your other sets against it.
Effort is hard to judge in the moment, but the logbook does not lie. If your reps and loads are trending up over weeks, you are training hard enough; if they are flat, you are probably stopping short of failure.
You are training hard enough when your last reps slow and grind, ending within 0 to 3 reps of failure.