Skip to content

feat(symbolicator): Healthcheck command for self-hosted#1799

Merged
Dav1dde merged 9 commits intogetsentry:masterfrom
aldy505:feat/healthcheck
Oct 1, 2025
Merged

feat(symbolicator): Healthcheck command for self-hosted#1799
Dav1dde merged 9 commits intogetsentry:masterfrom
aldy505:feat/healthcheck

Conversation

@aldy505
Copy link
Collaborator

@aldy505 aldy505 commented Oct 1, 2025

Similar work to getsentry/relay#5044 due to distroless migration

This works on relay and this is making CI's red right now.

Changes made:

  • Adds a new healthcheck sub-command
  • Defaults to the values from the config
  • Changes logger to use stderr to still allow for logging and parsing of the healthcheck output (Relay uses the same mechanism here)

@aldy505 aldy505 requested a review from a team as a code owner October 1, 2025 01:18
aldy505 added a commit to getsentry/self-hosted that referenced this pull request Oct 1, 2025
…on for `symbolicator-cleanup`

This PR depends on getsentry/symbolicator#1799

Symbolicator changed to a distroless image: getsentry/symbolicator#1791
Therefore we'll be missing lots of regular Debian distro goodies, including healthcheck and cron.
@aldy505 aldy505 requested a review from Dav1dde October 1, 2025 03:42
@codecov
Copy link

codecov bot commented Oct 1, 2025

Codecov Report

❌ Patch coverage is 0% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.61%. Comparing base (5a85fd7) to head (3beca95).
⚠️ Report is 399 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1799      +/-   ##
==========================================
- Coverage   76.09%   73.61%   -2.48%     
==========================================
  Files         101      114      +13     
  Lines       15262    16267    +1005     
==========================================
+ Hits        11613    11975     +362     
- Misses       3649     4292     +643     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aldy505
Copy link
Collaborator Author

aldy505 commented Oct 1, 2025

Merge queue/auto-merge?

@Dav1dde Dav1dde enabled auto-merge (squash) October 1, 2025 08:25
@Dav1dde Dav1dde merged commit 9a215c3 into getsentry:master Oct 1, 2025
18 of 19 checks passed
.with_timer(UtcTime::rfc_3339())
.with_target(true);
.with_target(true)
.with_writer(std::io::stderr);
Copy link
Member

Choose a reason for hiding this comment

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

Will this cause problems anywhere? Are we collecting logs somewhere where we only consider stdout?

Copy link
Member

Choose a reason for hiding this comment

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

Going to add a changelog entry for this! I think it's just a better default though and matches what we use in Relay.

Comment on lines +212 to +214
Command::Healthcheck { addr, timeout } => {
healthcheck::healthcheck(config, addr, timeout).context("healthcheck failed")?
}
Copy link
Member

Choose a reason for hiding this comment

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

Is there no other way to get a healthcheck command into a distroless image? E.g. ship the image with a second binary that we can use in multiple projects?

Copy link
Member

Choose a reason for hiding this comment

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

It would be nice to have, a very simple curl, like binary.

But without setting up a proper pipeline to (re-)build base images, this is not great. The upside of doing it within symbolicator and relay is, the command can read the config and extract host/port from the config, meaning you can use the same command line args.

Since we already depend on reqwest anyways it's imo an acceptable trade-off.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We could ship a simple curl-like program. I think it's better this way, it'll be lighter.

@aldy505 aldy505 deleted the feat/healthcheck branch October 1, 2025 09:53
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.

3 participants