Skip to content

Fix the telemetry setup inherited from the service template - #2

Merged
Radisio merged 1 commit into
mainfrom
fix/telemetry
Oct 6, 2026
Merged

Radisio merged 1 commit into
mainfrom
fix/telemetry

Conversation

@Radisio

@Radisio Radisio commented Oct 5, 2026

Copy link
Copy Markdown
Member
  • Start no exporter when LOGGING_LOGS_URL or LOGGING_METRICS_URL is blank. A blank endpoint resolved to http://localhost:4318, so every staging container ran a 15 s export loop and an OTLP log handler against nothing.
  • Pass the OTLP exporter timeout in seconds: the 5000 meant as milliseconds gave the exporters an 83-minute HTTP timeout.
  • Set service.instance.id (the container HOSTNAME) so replicas stop merging their metric streams.
  • Flush logs and metrics at exit within Docker's 10 s stop grace, ahead of the SDK's 30 s handler, then detach the OTLP log handler. Every container printed "can't create new thread at interpreter shutdown" on stop.
  • .env..exemple: every container needs the LOGGING_ values; blank is inert.
  • tests/test_tracing_guard.py pins each fix.

Build workflow path filters

  • Both workflows watched the dead algorithms/ instead of simulation/, so a change to the simulation code merged without a new image.
  • tests/test_build_workflow_paths.py fails when a directory an image's Dockerfile COPYs is missing from the push or pull_request paths of the workflow that builds it.

- Start no exporter when LOGGING_LOGS_URL or LOGGING_METRICS_URL is blank.
  A blank endpoint resolved to http://localhost:4318, so every staging
  container ran a 15 s export loop and an OTLP log handler against nothing.
- Pass the OTLP exporter timeout in seconds: the 5000 meant as milliseconds
  gave the exporters an 83-minute HTTP timeout.
- Set service.instance.id (the container HOSTNAME) so replicas stop merging
  their metric streams.
- Flush logs and metrics at exit within Docker's 10 s stop grace, ahead of the
  SDK's 30 s handler, then detach the OTLP log handler. Every container
  printed "can't create new thread at interpreter shutdown" on stop.
- .env.*.exemple: every container needs the LOGGING_* values; blank is inert.
- tests/test_tracing_guard.py pins each fix.

Build workflow path filters
- Both workflows watched the dead algorithms/ instead of simulation/, so a
  change to the simulation code merged without a new image.
- tests/test_build_workflow_paths.py fails when a directory an image's
  Dockerfile COPYs is missing from the push or pull_request paths of the
  workflow that builds it.
@Radisio
Radisio merged commit 8ead223 into main Oct 6, 2026
4 checks passed
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.

1 participant