A higher granularity profile has a higher sampling rate,
and therefore yields a fine-grained CPU profile with more samples.
This might also impact performance of your app since the VM
is being interrupted more often to collect samples. This also
causes the VM’s CPU sample buffer to overflow more quickly.
The VM has limited space where it can store CPU sample information.
At a higher sampling rate, the space fills up and begins
to overflow sooner than it would have if a lower sampling
rate was used. This means that you might not have access to CPU samples
from the beginning of the recorded profile.

A lower granularity profile has a lower sampling rate,
and therefore yields a coarse-grained CPU profile with fewer samples.
However, this impacts your app’s performance less.
The VM’s sample buffer also fills more slowly, so you can see
CPU samples for a longer period of app run time. This means that
you have a better chance of viewing CPU samples from the beginning
of the recorded profile.

Flame chart