Skip to content

Implementation completion log backend - #363

Open
AdamBienkunski wants to merge 8 commits into
eclipse-score:mainfrom
qorix-group:a.b/implementation_completion_log_backend
Open

AdamBienkunski wants to merge 8 commits into
eclipse-score:mainfrom
qorix-group:a.b/implementation_completion_log_backend

Conversation

@AdamBienkunski

Copy link
Copy Markdown

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 #328

@github-actions

github-actions Bot commented Oct 16, 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: 094e4925-f8fa-47bb-b52a-7b6db18a733c
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
DEBUG: /home/runner/.bazel/external/score_docs_as_code+/docs.bzl:705:14: INFO: ⚠️ DEPRECATED: Passing a Needs inventory through docs(data = [...]) is deprecated!!! Move it to external_needs = [...] instead.
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: 15.400s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

Move the backend design documents and PlantUML diagrams from
score/mw/log/design/backend to docs/components/mw_log/detailed_design
so that the design is part of the documentation tree.

- Replace the symbolic links to the markdown files by the files.
- Point the diagram references to the new location.
- Drop the duplicate mw_log_recorders.puml, the docs copy is kept.
- Remove the architectural_design target of the old folder, the
  diagrams do not pass its validation. It is added again to the root
  BUILD when the diagrams are corrected.

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>
- Correct the file output and syslog texts and diagrams after the
  implementation, including the slot release in the syslog sequence.
- Correct the recorder diagram.
- Replace the SlotDrainer diagrams loaded from score_baselibs by URL
  by corrected copies in the design folder.

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>
- Correct the datarouter class, IPC, recorder, shared memory reader
  and write factory diagrams.
- Rewrite the verbose logging, shared memory read and write and the
  connect to datarouter sequences after the code.
- Rewrite the unit diagram so that every sequence participant is a
  unit, as the architectural_design validation requires.
- Reference all datarouter diagrams in the design text, seven were
  not used before.
- Replace the described rate limit by the implemented limits.

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>
- Add the design of the slog backend. It passes an invalid log level
  on to slog2f() and ignores the result, unlike the syslog backend.
- Add the design of the backend registration with its sequence.

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>
- Structure the detailed design as in the module template: design
  decisions, constraints, external dependencies, units and interfaces.
- Map the architecture units and interfaces to the source code.
- Add the architectural_design target to the root BUILD, because the
  docs folder is not a Bazel package. It validates the PlantUML
  diagrams of the design.

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>
The syslog backend is not reachable through the //score/mw/log facade,
so it was not measured.

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>
Link the existing tests with RecordProperty("PartiallyVerifies", ...)
to the requirements they verify. They were tested but not linked.

- comp_req__log__send_to_datarouter: backend log level test and the
  message client connect and acquire tests.
- comp_req__log__inactive_logstream: the recorder log level tests.

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>
Fill in the implementation inspection checklist of the log backend for
issue eclipse-score#328 (parent eclipse-score#317).

- Add the pass or fail value, the remarks and the open points to each
  checklist item.
- Add the analysis results (unit tests, clang-tidy, sanitizers,
  coverage) and the missing coverage as a sub page of the checklist.
- List the requirements with incomplete test evidence

Signed-off-by: Adam Bienkunski <Adam.Bienkunski.Ext@qorix.ai>

This branch is waiting to be deployed

1 waiting deployment
workflow-approval — 2559c3a8 Waiting Oct 16, 2026 by AdamBienkunski via qnx-build (arm64-qnx) / approval #1215
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

[comp log_backend] Implementation completion

1 participant