App Engine is harder to compare. App Engine is older, security is different, scalability also, the billing model "old school" (you pay at least 15 minutes of an instance, even if your processing took 100ms with 1 request).
The advantage of Cloud Run and Cloud Functions that they share the same underlying infrastructure and thus their behavior, feature and pricing are very close.
Eventually, App Engine is at its end. No new feature this last 3 years, and Cloud Run outperforms App Engine in several domain (portable, more modern, simplest pricing,...). It's only my opinion, but I won't bet on App Engine for the 5 next years.