You want to do this within CQ ? If yes then you can use pagemanager API to get page http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/wcm/api/Page.html#getName() name and JCR API to get path http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/Item.html#getPath()
To get absolute URL you can also use externilizer service http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/commons/Externalizer.html#absolut eLink(org.apache.sling.api.SlingHttpServletRequest, java.lang.String, java.lang.String)
Its completely depends on how you have configured your site pages with site catalyst/discover. Normal in case we map common page properties like pageurl, pagename, description etc... (again based on requirement) and if that is so then you need require to do anything instead just generating report from reporting server. If you have access to CQ server then you can check the page level configuration by going to reporting server setting at http://<host>:<port>/etc/cloudservices.html
But in other case if page name has not been configured to capture as part of tracking then only way is to write custome code (you can do from outside "using jackrabbit via connecting to repository api" or inside CQ using cq api.