It actually tends to work a lot better. You almost never actually need metric granularity so fine that push is necessary. If you do, your usually using a purpose built tool for that. It also saves you from accidentally DOSing yourself when someone starts unexpectedly emitting more metrics than you can ingest (due to bug, more traffic, etc). All doable with push based systems but they tend to end up using queues or something to compensate which is its own kind of pain.