Reading from canister_status
provides this data universally for monitoring purposes. For example, canisters that currently leverage this are the ckToken minting canisters, SNS canisters, and canister monitoring applications that provide proactive email notifications like CycleOps.
The canister_status
endpoint having been implemented at the protocol level also ensures that this data is always correct. For example, if I call canister_status
I always know that the cycles
or memory_size
returned is accurate as opposed to relying on the implementation inside a specific canister that computes a result and returns it through a coded canister API.