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

feat: add paketo opentelemetry buildpack #1315

Closed
wants to merge 1 commit into from

Conversation

wpater
Copy link

@wpater wpater commented Feb 12, 2024

Summary

Add opentelemetry buildpack to extend java buildpack with option for adding OTEL agent to the application

Use Cases

Instrumenting Java and/or Spring applications with OTEL agent using a buildpack - in my case I use lifecycle/creator in CICD, which requires my own builder and buildpack with only one additional dependency. It would just be easier to support the opentelemetry if others like datadog are already there.

Checklist

  • I have viewed, signed, and submitted the Contributor License Agreement.
  • I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
  • I have added an integration test, if necessary.
  • I have reviewed the styleguide for guidance on my code quality.
  • I'm happy with the commit history on this PR (I have rebased/squashed as needed).

@wpater wpater requested a review from a team as a code owner February 12, 2024 11:58
Copy link

linux-foundation-easycla bot commented Feb 12, 2024

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: wpater / name: Wojtek (6bc786f)

@dmikusa
Copy link
Contributor

dmikusa commented Feb 12, 2024

This is something that we want to add, but there are technical limitations with the Paketo builder that prevent us from doing so at this time.

In short, there is a fixed maximum number of layers that can be in an image. At the moment, each buildpack is a layer in the image. The Paketo builders are intended to be a full set of all our buildpacks, however, we're hitting this layer limit in the base and full builders, because there are too many buildpacks.

We have two plans to work around this:

  1. I believe the builder team in conjunction with upstream changes is working on flattening the images so we have fewer layers. When this work completes, we'll be able to add all of the APM buildpacks, including OTel into the Paketo builders.
  2. We're working on a Java language team builder. This will be a builder with just all of the Java-related buildpacks, so it will have fewer layers and we'll be able to include all of APM buildpacks that support Java with this also.

In the meantime, you can use any of the APM buildpacks, including OTel, but you just need to modify the buildpacks list. It's a little inconvenient, apologizes, but it is the best we can do at the moment.

Thanks for this PR, but I'm going to close it at this time given the above plans.

@dmikusa dmikusa closed this Feb 12, 2024
@wpater
Copy link
Author

wpater commented Feb 12, 2024

@dmikusa

Looks like I am a bit unlucky in few last days with buildpacks 😅

Thank you for the info - do you have any issue/ticket when I can subscribe for updates and maybe even try to contribute?

@dmikusa
Copy link
Contributor

dmikusa commented Feb 12, 2024

Sorry to hear you're having a rough time with things. The particular scenario you're using on the OTel issue, with running the lifecycle directly in your CI, is a more advanced scenario. It can definitely be more painful. I don't use GitLab myself, but I know this is a common source of difficulty. I know that the CNB project has this note about GitLab integration, https://buildpacks.io/docs/tools/gitlab/, but I don't know if those settings are commonly enabled or available in GitLab so I'm not sure how much that actually helps.

Anyway, I don't have an issue for the statement above but you can follow this related issue, which is for a different APM buildpack. We'll circle back and update that when we are able to move forward with either of these efforts. You can also follow the Paketo Blog as we'll very likely have a post up there when we make progress on both of these items, they are both fairly big steps for the team so we'll announce them when ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants