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

Implement bin/report #1597

Merged
merged 3 commits into from
Jun 17, 2024
Merged

Implement bin/report #1597

merged 3 commits into from
Jun 17, 2024

Conversation

edmorley
Copy link
Member

@edmorley edmorley commented Jun 17, 2024

Implements the bin/report build report API, as a replacement for log based metrics (which stopped working some time ago with the change in internal observability vendor).

This will help with various upcoming Python buildpack changes, such as the EOL of Python 3.8, assessing usage levels of different package managers (wrt Poetry addition, and future of Pipenv for CNB), removal of the legacy sqlite feature etc.

This implementation is based on that used by the Node.js buildpack, which is currently the only buildpack that implements bin/report. There are a number of rough edges with the Node.js implementation that in an ideal world we'd improve upon. However, given that that implementation works, is actively used in production, and CNBs are our priority moving forwards, I've chosen not to make many changes to that design.

See:
https://github.com/heroku/heroku-buildpack-nodejs/blob/main/bin/report
https://github.com/heroku/heroku-buildpack-nodejs/blob/main/lib/metadata.sh
https://github.com/heroku/heroku-buildpack-nodejs/blob/main/lib/kvstore.sh

GUS-W-8047826.

@edmorley edmorley self-assigned this Jun 17, 2024
@edmorley edmorley force-pushed the bin-report branch 2 times, most recently from eb5f290 to aa47887 Compare June 17, 2024 09:33
@edmorley edmorley marked this pull request as ready for review June 17, 2024 10:25
@edmorley edmorley requested a review from a team as a code owner June 17, 2024 10:25
Implements the `bin/report` build report API, as a replacement for log
based metrics (which stopped working some time ago with the change in
internal observability vendor).

This will help with varies upcoming Python buildpack changes, such as the
EOL of Python 3.8, assessing usage levels of different package managers
(wrt Poetry addition, and future of Pipenv for CNB), removal of the legacy
sqlite feature etc.

This implementation is based on that used by the Node.js buildpack, which
is currently the only buildpack that implements `bin/report`. There are a
number of rough edges with the Node.js implementation that in an ideal
world we'd improve upon. However, given that that implementation works,
is actively used in production, and CNBs are our priority moving forwards,
I've chosen not to make many changes to that design.

See:
https://github.com/heroku/heroku-buildpack-nodejs/blob/main/bin/report
https://github.com/heroku/heroku-buildpack-nodejs/blob/main/lib/metadata.sh
https://github.com/heroku/heroku-buildpack-nodejs/blob/main/lib/kvstore.sh

GUS-W-8047826.
bin/steps/sqlite3 Outdated Show resolved Hide resolved
edmorley and others added 2 commits June 17, 2024 13:08
Co-authored-by: David Zülke <dzuelke@salesforce.com>
@edmorley edmorley merged commit 8c46490 into main Jun 17, 2024
7 checks passed
@edmorley edmorley deleted the bin-report branch June 17, 2024 12:56
@heroku-linguist heroku-linguist bot mentioned this pull request Jun 17, 2024
edmorley added a commit that referenced this pull request Jan 27, 2025
Since the command is now named `make run` after #1597.
edmorley added a commit that referenced this pull request Jan 27, 2025
Since the command is now named `make run` after #1597.
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