Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add elastic-apm-agent-spring-boot-starter for ease of use with Spring Boot #3375

Closed
wants to merge 1 commit into from

Conversation

candrews
Copy link
Contributor

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
  • 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.
  • This is something else

@github-actions github-actions bot added agent-java community Issues and PRs created by the community triage labels Oct 19, 2023
@github-actions
Copy link

👋 @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.

@candrews candrews force-pushed the spring-boot-starter branch from e947721 to 600d53f Compare October 19, 2023 21:40
… Boot

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.

Signed-off-by: Craig Andrews <[email protected]>
@candrews candrews force-pushed the spring-boot-starter branch from 600d53f to 97b4b43 Compare October 19, 2023 22:46
@candrews
Copy link
Contributor Author

The "main / Unit Tests" failure appears to be unrelated to the changes made in this PR (please correct me if I'm wrong!)

@JonasKunz
Copy link
Contributor

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.

@botelastic
Copy link

botelastic bot commented Dec 29, 2023

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!

@botelastic botelastic bot added the stalled label Dec 29, 2023
@botelastic
Copy link

botelastic bot commented Jan 12, 2024

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!

@botelastic botelastic bot closed this Jan 12, 2024
@JonasKunz JonasKunz reopened this Jan 12, 2024
@botelastic botelastic bot removed the stalled label Jan 12, 2024
@v1v
Copy link
Member

v1v commented Feb 9, 2024

run docs-build

@botelastic
Copy link

botelastic bot commented Apr 9, 2024

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!

@botelastic botelastic bot added the stalled label Apr 9, 2024
@botelastic
Copy link

botelastic bot commented Apr 23, 2024

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!

@botelastic botelastic bot closed this Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent-java community Issues and PRs created by the community stalled triage
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants