lifecycle
lifecycle copied to clipboard
Consider to add OpenTelemetry support
Summary
For a better monitoring on the running state of build service which leveraging buildpacks library, please consider add OpenTelemetry support on phases Here's the golang version SDK of OpenTelemetry: https://opentelemetry.io/docs/instrumentation/go/
Proposal
- Need to know the success/fail for each phase.
- For detect phase, need to know which BP pass the detection and which is not.
- For build phase, besides the success/fail and also the time duration for each BP.
- For export phase, besides the success/fail and also the time duration.
- Telemetry should be disabled by default, and enabled by a "OPEN_TELEMTRY_ENABLED=true" (or whatever provided) flag
- Telemetry endpoint should be available to be configured over another flag, such as OPEN_TELEMETRY_ENDPOINT
Context
We're running build service to enable multi-language build support in multi-tenant environment. Sometimes part of the users may encounter failures when a BP is not able to download the dependencies due to network connection issue. While sometime, the overall build is extreme slow.
For a better understanding on the service availability and detailed statistics of BP, please consider add OpenTelemetry support