Releases: eclipse-score/logging
v0.0.5
What's Changed
- Extend codeowners by @pawelrutkaq in #9
- Extend codeowners by @arsibo in #10
- infra: fix copyright headers by @arkjedrz in #16
- infra: fix
bazel build //...by @arkjedrz in #17 - infra: add CI workflows by @arkjedrz in #15
- infra: enable QNX8 build by @arkjedrz in #23
- repo: add rust-analyzer support by @arkjedrz in #22
- bazel: remove unused dependencies by @arkjedrz in #21
- repo: remove
src/from CI by @arkjedrz in #26 - repo: move
src/toscoreby @arkjedrz in #25 - Brings Datarouter changes for reference_platform integration by @rmaddikery in #31
- Project import generated by Copybara. by @rmaddikery in #32
- Updates CODEOWNERS for datarouter and mw/log directories by @rmaddikery in #29
- log: C++-based backend implementation by @arkjedrz in #14
- bazel: fix
"cc_*" is not global anymoreby @arkjedrz in #24 - Make trlc a dev_dependency by @rmaddikery in #39
- Code owners must be committers by @pawelrutkaq in #36
- Fix codeowners for Rust by @pawelrutkaq in #42
- chore: use devcontainer image v1.1.0 by @lurtz in #45
- QNX Toolchain setup for eclipse-score-logging by @RSingh1511 in #27
- log: add QNX x86_64 config support by @arkjedrz in #50
- log: add Rust log init for C++ by @arkjedrz in #38
- log: rename
ScoreLoggertoScoreLogBridgeby @arkjedrz in #49
New Contributors
- @arsibo made their first contribution in #10
- @arkjedrz made their first contribution in #16
- @lurtz made their first contribution in #45
- @RSingh1511 made their first contribution in #27
Full Changelog: v0.0.3...v0.0.5
v0.0.4
Overview
The Eclipse SCORE Logging module provides a comprehensive logging framework for automotive embedded systems, featuring remote DLT (Diagnostic Log and Trace) capabilities with lock-free communication between applications and the datarouter daemon.
This is the initial open-source release of the logging framework, consolidating the complete project structure with build system, dependencies, and tooling for integration into Eclipse SCORE projects.
The module is designed for Bazel-based builds and provides both the middleware logging library (score/mw/log) that includes all supported recorders with respective backends and the datarouter daemon (score/datarouter). The shared memory implementation between the middleware library and datarouter daemon guarantees Freedom From Interference (FFI), enabling safe logging from real-time and safety-critical contexts.
Disclaimer
This release is not intended for production use, as it does not include a completed safety argumentation or safety assessment. The work products are created with care according to the Eclipse SCORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
Key Components
Data Router Daemon (score/datarouter)
DLT daemon implementation providing:
- DLT protocol support
- Lock-free shared memory IPC with ring buffers
- Context-based filtering and priority routing
- Real-time statistics (throughput, latency, buffer utilization)
- Message gap detection and reporting
- Error handling framework
Middleware Library (score/mw/log)
Support for multiple backends:
- Safe Data Router Backend: Based on Lock-free shared memory communication
- File Backend: Direct DLT file recording
- SLOG Backend: System logging with QNX support
- Composite Recorder: Multiple simultaneous backends
- Wait-free producer queues for real-time contexts
- Automatic C++ type serialization to DLT format
- FFI: Freedom From interferance guaranteed
Build System & Tooling
- Complete Bazel MODULE.bazel with dependencies
- Custom GCC and LLVM toolchain configurations
- Initial setup of LOBSTER integration with Treat Requirements Like Code (TRLC) for requirements tracing
- JSON schema validator
- GTest-based unit test infrastructure
Documentation & Examples
- Architecture and design documentation
- Configuration guidelines with JSON examples
- DLT packet capture demo
- Lock-free concept documentation
- Shared memory API documentation
Technical Highlights
- Zero-Copy Architecture: Shared memory eliminates data copying between applications and datarouter
- Configurable Strategies: Tunable buffer sizes, overwrite policies, and message quotas
- DLT Protocol Compliance: Compatible with standard DLT viewers and tools
- JSON Configuration: Standard configuration files in
etc/directory
Build Instructions
# Build datarouter daemon
bazel build //score/datarouter:datarouter
# Build middleware library
bazel build //score/mw/log/...
# Run tests
bazel test //score/datarouter/test/ut/... //score/mw/log/...Compatibility
- Platform: x86_64-unknown-linux-gnu (GCC toolchain)
- Build System: Bazel
- Language: C++17 or later
Verification
- Initial build system setup verified
- Bazel build configurations tested
- Unit tests executed in the available default platform support
Known Issues
- Safety assessment and argumentation missing
- Cross-platform builds (QNX) is not supported yet
- Component and Integration tests not included
Future Work
- Cross-platform builds based on QNX toolchain
- Additional platform support
- Requirements traceability using TRLC and Lobster integration.
Contributing
See CONTRIBUTING.md for code style, commit conventions, and pull request process.
Contact
- Repository: https://github.com/eclipse-score/logging
- Issues: https://github.com/eclipse-score/logging/issues
- Discussions: https://github.com/orgs/eclipse-score/discussions (Logging CFT)
- Slack: https://sdvworkinggroup.slack.com/archives/C089XP2PGQZ
References
- Eclipse SCORE: https://projects.eclipse.org/projects/automotive.score
- Design Docs: score/datarouter/doc/design/
- Guidelines: score/datarouter/doc/guideline/
v0.0.3
Overview
The Eclipse SCORE Logging module provides a comprehensive logging framework for automotive embedded systems, featuring remote DLT (Diagnostic Log and Trace) capabilities with lock-free communication between applications and the datarouter daemon.
This is the initial open-source release of the logging framework, consolidating the complete project structure with build system, dependencies, and tooling for integration into Eclipse SCORE projects.
The module is designed for Bazel-based builds and provides both the middleware logging library (score/mw/log) that includes all supported recorders with respective backends and the datarouter daemon (score/datarouter). The shared memory implementation between the middleware library and datarouter daemon guarantees Freedom From Interference (FFI), enabling safe logging from real-time and safety-critical contexts.
Disclaimer
This release is not intended for production use, as it does not include a completed safety argumentation or safety assessment. The work products are created with care according to the Eclipse SCORE process. However, as a non-profit, open-source organization, the project cannot assume any liability for its content.
Key Components
Data Router Daemon (score/datarouter)
DLT daemon implementation providing:
- DLT protocol support
- Lock-free shared memory IPC with ring buffers
- Context-based filtering and priority routing
- Real-time statistics (throughput, latency, buffer utilization)
- Message gap detection and reporting
- Error handling framework
Middleware Library (score/mw/log)
Support for multiple backends:
- Safe Data Router Backend: Based on Lock-free shared memory communication
- File Backend: Direct DLT file recording
- SLOG Backend: System logging with QNX support
- Composite Recorder: Multiple simultaneous backends
- Wait-free producer queues for real-time contexts
- Automatic C++ type serialization to DLT format
- FFI: Freedom From interferance guaranteed
Build System & Tooling
- Complete Bazel MODULE.bazel with dependencies
- Custom GCC and LLVM toolchain configurations
- Initial setup of LOBSTER integration with Treat Requirements Like Code (TRLC) for requirements tracing
- JSON schema validator
- GTest-based unit test infrastructure
Documentation & Examples
- Architecture and design documentation
- Configuration guidelines with JSON examples
- DLT packet capture demo
- Lock-free concept documentation
- Shared memory API documentation
Technical Highlights
- Zero-Copy Architecture: Shared memory eliminates data copying between applications and datarouter
- Configurable Strategies: Tunable buffer sizes, overwrite policies, and message quotas
- DLT Protocol Compliance: Compatible with standard DLT viewers and tools
- JSON Configuration: Standard configuration files in
etc/directory
Build Instructions
# Build datarouter daemon
bazel build //score/datarouter:datarouter
# Build middleware library
bazel build //score/mw/log/...
# Run tests
bazel test //score/datarouter/test/ut/... //score/mw/log/...Compatibility
- Platform: x86_64-unknown-linux-gnu (GCC toolchain)
- Build System: Bazel
- Language: C++17 or later
Verification
- Initial build system setup verified
- Bazel build configurations tested
- Unit tests executed in the available default platform support
Known Issues
- Safety assessment and argumentation missing
- Cross-platform builds (QNX) is not supported yet
- Component and Integration tests not included
Future Work
- Cross-platform builds based on QNX toolchain
- Additional platform support
- Requirements traceability using TRLC and Lobster integration.
Contributing
See CONTRIBUTING.md for code style, commit conventions, and pull request process.
Contact
- Repository: https://github.com/eclipse-score/logging
- Issues: https://github.com/eclipse-score/logging/issues
- Discussions: https://github.com/orgs/eclipse-score/discussions (Logging CFT)
- Slack: https://sdvworkinggroup.slack.com/archives/C089XP2PGQZ
References
- Eclipse SCORE: https://projects.eclipse.org/projects/automotive.score
- Design Docs: score/datarouter/doc/design/
- Guidelines: score/datarouter/doc/guideline/
Initial Release
- Initial version of Log backend for rust frontend
This is logger impl that bridges rust log frontend
with C++ mw_log implementation
Initial Release
- Initial version of Log backend for rust frontend
This is logger impl that bridges rust log frontend
with C++ mw_log implementation