seems that you didn’t do profile = profile.key_averages() and are viewing ungrouped outputs
there is a default value: profile.table(…, row_limit=100), this cutting explains missing percentages
IIRC, total time reported there is wrong, as it doesn’t account for nested calls (or there is some similar issue)