Checkpoints on secondary replica AlwaysOn AG
Is my assumption correct that in an AG checkpoints are being generated on the primary replica and redone on all secondary replicas?


Yes.

A CHECKPOINT is a logged operation, as it's part of SQL Server's recovery strategy.  When the database starts up, it needs to know what modified pages (in the log file) haven't been written to the data file - so it can redo those changes before user queries start hitting the database.

I'm going to snag a screenshot from my blog post that looks at certain types of logging activity:



As you can see, the CHECKPOINT "start" and "end" are written to the transaction log.

A simplified view of the way AGs work is that they redo log entries from the primary replica on all secondaries.

Thus, since CHECKPOINTs are logged, they will be replayed on secondary replicas.



As a side note, John Eisbrener usefully pointed out that, if there are other databases on the secondary replica, those CHECKPOINT operations are also going to be picked up by this Perfmon trace.