apm-agent-java
apm-agent-java copied to clipboard
Add elastic-apm-agent-spring-boot-starter for ease of use with Spring Boot
What does this PR do?
The Spring Boot starter allows for use of Elastic APM in Spring Boot projects without writing any code.
To use it, add a dependency on elastic-apm-agent-spring-boot-starter to the Spring Boot project.
Elastic APM configuration can be provided via Spring configuration under elastic.apm.* For example, elastic.apm.server_url=http://127.0.0.1:8200 could be specified in application.properties. Relaxed binding, expressions, profiles, and all other Spring configuration features are available.
The combination of no-code use (by just adding the dependency) and powerful configuration improves the usability of Elastic APM with Spring Boot projects.
Checklist
- [ ] This is an enhancement of existing features, or a new feature in existing plugins
- [ ] I have updated CHANGELOG.asciidoc
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] Added an API method or config option? Document in which version this will be introduced
- [ ] I have made corresponding changes to the documentation
- [ ] This is a bugfix
- [ ] I have updated CHANGELOG.asciidoc
- [ ] I have added tests that would fail without this fix
- [ ] This is a new plugin
- [ ] I have updated CHANGELOG.asciidoc
- [ ] My code follows the style guidelines of this project
- [ ] I have made corresponding changes to the documentation
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] I have updated supported-technologies.asciidoc
- [ ] Added an API method or config option? Document in which version this will be introduced
- [ ] Added an instrumentation plugin? Describe how you made sure that old, non-supported versions are not instrumented by accident.
- [X] This is something else
- [X] I have updated CHANGELOG.asciidoc
👋 @candrews Thanks a lot for your contribution!
It may take some time before we review a PR, so even if you don’t see activity for some time, it does not mean that we have forgotten about it.
Every once in a while we go through a process of prioritization, after which we are focussing on the tasks that were planned for the upcoming milestone. The prioritization status is typically reflected through the PR labels. It could be pending triage, a candidate for a future milestone, or have a target milestone set to it.
The "main / Unit Tests" failure appears to be unrelated to the changes made in this PR (please correct me if I'm wrong!)
Hi @candrews, thanks for implementing this, looks definitely useful and we'd like to merge it!
However, before doing so we'd like to have an integration test actually starting the APM agent via your spring-boot-starter. I think it would be easiest to create a new sub-module in the integration-tests
module:
- Have a spring-boot app in there with the new spring-boot-starter as a dependency
- Start a test-container with the packaged test-application
- Have it report to a dummy APM-server and verify that data is reported
You can have a look at the AwsLambdaIT
, as it works quiet similar.
It would be great if you have the time to implement this, because we currently don't have the capacity to do this ourselves. If you don't have the time that's no problem, we'll just leave this PR open and come back to it later when we have the capacity to implement it ourselves.
Hi! We just realized that we haven't looked into this issue in a while. We're sorry! We're labeling this issue as stalled
to make it hit our filters and make sure we get back to it in as soon as possible. In the meantime, it'd be extremely helpful if you could take a look at it as well and confirm its relevance. A simple comment with a nice emoji will be enough :+1
. Thank you for your contribution!
Hi! This issue has been stale for a while and we're going to close it as part of our cleanup procedure. We appreciate your contribution and would like to apologize if we have not been able to review it, due to the current heavy load of the team. Feel free to re-open this issue if you think it should stay open. Thank you for your contribution!
run docs-build
Hi! We just realized that we haven't looked into this issue in a while. We're sorry! We're labeling this issue as stalled
to make it hit our filters and make sure we get back to it in as soon as possible. In the meantime, it'd be extremely helpful if you could take a look at it as well and confirm its relevance. A simple comment with a nice emoji will be enough :+1
. Thank you for your contribution!
Hi! This issue has been stale for a while and we're going to close it as part of our cleanup procedure. We appreciate your contribution and would like to apologize if we have not been able to review it, due to the current heavy load of the team. Feel free to re-open this issue if you think it should stay open. Thank you for your contribution!