Difference between Elastic APM and XRebel

Hello, I want to know more regarding Elastic APM Java agent. I have seen XRebel also collects the application performance and can run through Java agent.I don't know much about XRebel. I would like to know the difference and more features of elastic apm UI.

Can I use the APM Java agent with microservices?

Yes.

For the other questions, I don't know.

Thanks for the response

I can run Java agent as a separate service?

No. The agent is starting within the jvm running your micro service.