Skeptic on where to implement functional coverage

In reply to sai_pra99:

The UVM does not recommend where to implement the functional coverage. It is up to you to find a good solution.
Using a seperate coverage collector fine. 2 things you should consider.
(1) Instead of uvm_component you should use uvm_subscriber as base class for your coverage collector. It ha a built-in analysis export.
(2) Your coverage results are 0 because you do not construct your covergroup.