Skip to content

docs: Adds DR-002 for DLT network transport - #299

Merged
rmaddikery merged 4 commits into
mainfrom
rama_adds_dr_002
Sep 11, 2026
Merged

rmaddikery merged 4 commits into
mainfrom
rama_adds_dr_002

Conversation

@rmaddikery

@rmaddikery rmaddikery commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

Rendered page: https://eclipse-score.github.io/logging/pr-299/features/logging/architecture/DR-002-dlt-network-transport.html

  • GTL adpotion
  • DLTv2 support (for ipv4 fragmentation)
  • DLT header construction/transmission into a dedicated network-stack module

Notes for Reviewer

Pre-Review Checklist for the PR Author

  • PR title is short, expressive and meaningful
  • Commits are properly organized
  • Relevant issues are linked in the References section
  • Tests are conducted
  • Unit tests are added

Checklist for the PR Reviewer

  • Commits are properly organized and messages are according to the guideline
  • Unit tests have been written for new behavior
  • Public API is documented
  • PR title describes the changes

Post-review Checklist for the PR Author

  • All open points are addressed and tracked via issues

References

Closes #

@rmaddikery
rmaddikery deployed to workflow-approval September 4, 2026 07:18 — with GitHub Actions Active
@rmaddikery rmaddikery changed the title docs: Adds DR-002 decision record for DLT network transport docs: Adds DR-002 for DLT network transport Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026 •

Copy link
Copy Markdown

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: 8ffef29b-c0db-4e81-9cb4-a6a617eb2973
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 4 packages loaded
WARNING: Target pattern parsing failed.
ERROR: Skipping '//:license-check': no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/logging/logging/BUILD
ERROR: no such target '//:license-check': target 'license-check' not declared in package '' defined by /home/runner/work/logging/logging/BUILD
INFO: Elapsed time: 16.445s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@pawelrutkaq

pawelrutkaq commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Few questions

  • so its about LSM logging module for iosock in QNX ?
  • What is te GTL standing for ? (Generic trac lib from baselibs ?)
  • What IPC will be used in a way into LSM (especially knowing LSM have specific requirements, like You cannot use malloc so ie "standard" C++ containers will not work etc)?
  • Document mentions trace but the mw::log does not have "standard" trace API, will this be added or mean something else ?

network stack, shared with all other networked services.

A second, feature-flagged client backend (`shm_dma_enabled`)
would allow forwarding of records through a GTL client into a

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think it would be nice to add all the acronyms to a glossary.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added in the puml file

' SPDX-License-Identifier: Apache-2.0
' *******************************************************************************

@startuml network_stack_plugin

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think the diagram and text don't make the plugin approach clear, do you think we could add a dummy block for the datarouter to make this clear?

gtl -r-> shmpayload
gtl -r-> shmmeta
gtl -r-> shmctrl
mwlog -r-> ctrlchannel

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this a signal that there is messages in the shared memory? Might be good to label the edge to make this clear

@rmaddikery rmaddikery Sep 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The shm is the interface. Each interface is clearly as R/O OR R/W. The purpose of the ctrl channel is to co-ordinate the R/W of the records through the other interface.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

three separate interfaces: metadata, payload and control

interface "shm\n(control block)" as shmctrl
interface "DLT QNX\nControl Channel" as ctrlchannel

gtl -r-> shmpayload

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We would later define a format for these log messages, is that right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

yes

Comment thread docs/features/logging/architecture/DR-002-dlt-network-transport.rst
@pawelrutkaq

Copy link
Copy Markdown
Contributor

Few questions

  • so its about LSM logging module for iosock in QNX ?
  • What is te GTL standing for ? (Generic trac lib from baselibs ?)
  • What IPC will be used in a way into LSM (especially knowing LSM have specific requirements, like You cannot use malloc so ie "standard" C++ containers will not work etc)?
  • Document mentions trace but the mw::log does not have "standard" trace API, will this be added or mean something else ?

After meeting:

  • Yes
  • Yes
  • IPC using basics from baselibs/com fitting restriction of LSM: like no malloc
  • GTL will be used as mw::log backend @rmaddikery will correct image
  • mw::diag wll provide dynamic configuration at runtime; it's not known yet who will implement diag callouts, since they probably cannot be implemented in LSM due to limitations in LSM.

- GTL adpotion
- DLTv2 seam support
- DLT header construction/transmission into a dedicated
network-stack module
- Adds dlt wire format selection seam
- Shows how log records are forwarded to GTL backend via GTL
- Fix mw::diag interface and shows an independant component
translating diag commands via DLT qnx control channel
- Added legend
@rmaddikery
rmaddikery deployed to workflow-approval September 8, 2026 15:47 — with GitHub Actions Active
@pawelrutkaq

pawelrutkaq commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

looks better now!

@github-project-automation github-project-automation Bot moved this from Backlog to On Hold in LOG - Logging FT Sep 10, 2026
@rmaddikery
rmaddikery merged commit 2745e3c into main Sep 11, 2026
27 of 28 checks passed
@rmaddikery
rmaddikery deleted the rama_adds_dr_002 branch September 11, 2026 07:35
@github-project-automation github-project-automation Bot moved this from On Hold to Done in LOG - Logging FT Sep 11, 2026

This branch was successfully deployed

1 active deployment
workflow-approval — a0fdb73d Deployed Sep 8, 2026 by rmaddikery via run-tests / coverage approval gate #1146
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants