Skip to content

enable azure provider by default when available#596

Merged
SylvainJuge merged 5 commits into
elastic:mainfrom
SylvainJuge:azure-resource-provider-update
Apr 15, 2025
Merged

enable azure provider by default when available#596
SylvainJuge merged 5 commits into
elastic:mainfrom
SylvainJuge:azure-resource-provider-update

Conversation

@SylvainJuge

@SylvainJuge SylvainJuge commented Apr 2, 2025

Copy link
Copy Markdown
Member

Azure resource provider has been added in upstream instrumentation with open-telemetry/opentelemetry-java-instrumentation#13627

because we enable those providers by default, we can anticipate this addition even if it will only be included in the next upstream release (2.15.0).

@SylvainJuge SylvainJuge changed the title enable azure provider by default enable azure provider by default when available Apr 3, 2025
@SylvainJuge
SylvainJuge requested a review from a team April 3, 2025 07:49

@codefromthecrypt codefromthecrypt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

impact is yet another HTTP request at startup I guess? e.g. if you use none of these and don't set a property to disable, you'll get 3 types of remote resource requests instead of 2?

And that we accept that due to the policy of doing what upstream does. Correct?

Just saying aloud impact, which may be misunderstood.

@SylvainJuge

Copy link
Copy Markdown
Member Author

Good point, an extra HTTP request is made, but not always:

  • most of the azure resource providers are only executed when some environment variables are set
  • the one that does an http call is executed last, as we can see in AzureVmResourceProvider implementation.
  • in the case where none is relevant, the "expensive" one will be systematically executed, which is similar to what the EC2 resource provider does for AWS, as there is no easy and fast way to do that, there are "hack-ish" ways using dmidecode but those require root privileges so an http request isn't that bad after all.

So yes, it might make the app startup slightly slower, at the expense of a better out of the box experience. If that becomes an issue we can provide a dedicated documentation to optimize application overhead and startup time.

@SylvainJuge SylvainJuge self-assigned this Apr 7, 2025
@jackshirazi

Copy link
Copy Markdown
Contributor

Let's add a startup time section in the doc, we know from experience that it's important for some customers

@SylvainJuge

Copy link
Copy Markdown
Member Author

@jackshirazi I've opened elastic/opentelemetry#193 for that, it anticipates the availability of the feature in EDOT Java, which in fact depends on :

  • instrumentation java next release (likely due within about a week)
  • update the upstream dependency in this repo (should be an automatic dependency update PR)
  • do a release of EDOT Java

@SylvainJuge
SylvainJuge merged commit 78da2bb into elastic:main Apr 15, 2025
@SylvainJuge
SylvainJuge deleted the azure-resource-provider-update branch April 15, 2025 09:08
@SylvainJuge SylvainJuge added the enhancement New feature or request label Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-java enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants