Skip to content

Improve GS io tracing for TTIGW & LBS LNS protocols#7859

Merged
vlasebian merged 4 commits intov3.36from
feat/improve-io-tracing
Mar 19, 2026
Merged

Improve GS io tracing for TTIGW & LBS LNS protocols#7859
vlasebian merged 4 commits intov3.36from
feat/improve-io-tracing

Conversation

@vlasebian
Copy link
Contributor

@vlasebian vlasebian commented Mar 18, 2026

Summary

Improve Gateway Server io tracing for TTIGW and LBS LNS (Semtech WebSocket) protocols by adding OpenTelemetry spans to key connection and message handling operations.

Changes

  • Add tracing spans to TTIGW frontend: HandleConnection, HandleUpMessage, HandleDownMessage in pkg/gatewayserver/io/ttigw/ttigw.go.
  • Add tracing spans to Semtech WebSocket (LBS LNS) frontend: HandleConnectionInfo, HandleTraffic, HandleUpMessage, HandleDownMessage in pkg/gatewayserver/io/semtechws/ws.go.
  • Replace deprecated otrace.NewNoopTracerProvider() with noop.NewTracerProvider() in pkg/telemetry/tracing/tracing.go.

Testing

Steps
  1. Start the Gateway Server with tracing enabled.
  2. Connect a gateway using the TTIGW or LBS LNS protocol.
  3. Send uplink/downlink messages and verify that spans are created and visible in the trace.
Results

Spans should appear for each connection lifecycle and message exchange, with error recording on failures.

Regressions

None.

Notes for Reviewers

None.

Checklist

  • Scope: The referenced issue is addressed, there are no unrelated changes.
  • Compatibility: The changes are backwards compatible with existing API, storage, configuration and CLI, according to the compatibility commitments in README.md for the chosen target branch.
  • Documentation: Relevant documentation is added or updated.
  • Testing: The steps/process to test this feature are clearly explained including testing for regressions.
  • Infrastructure: If infrastructural changes (e.g., new RPC, configuration) are needed, a separate issue is created in the infrastructural repositories.
  • Changelog: Significant features, behavior changes, deprecations and fixes are added to CHANGELOG.md.
  • Commits: Commit messages follow guidelines in CONTRIBUTING.md, there are no fixup commits left.

@vlasebian vlasebian self-assigned this Mar 18, 2026
@github-actions github-actions bot added the c/gateway server This is related to the Gateway Server label Mar 18, 2026
@vlasebian vlasebian marked this pull request as ready for review March 18, 2026 08:58
@vlasebian vlasebian requested a review from a team as a code owner March 18, 2026 08:58
@vlasebian vlasebian requested a review from johanstokking March 18, 2026 08:58
@vlasebian vlasebian force-pushed the feat/improve-io-tracing branch from dc5edba to 3250d23 Compare March 19, 2026 11:07
@vlasebian
Copy link
Contributor Author

vlasebian commented Mar 19, 2026

I've also improved the recording of the errors in the spans.

One more thing to note, this only improves otel traces, but there is no runtime tracing in here. Should we add runtime tracing too?

@vlasebian vlasebian requested a review from johanstokking March 19, 2026 11:10
@vlasebian vlasebian merged commit d00da53 into v3.36 Mar 19, 2026
9 of 10 checks passed
@vlasebian vlasebian deleted the feat/improve-io-tracing branch March 19, 2026 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c/gateway server This is related to the Gateway Server

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants