DEENESPTFRRUARHIKOZHNL

namespace apext::log

Guide utilisateurGÉNÉRÉ PAR IA

Fournit une interface thread-safe pour la transmission de messages modélisés à des outils de trace externes.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 199c14229bd8 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Fournit une interface thread-safe pour la transmission de messages modélisés à des outils de trace externes.

L'espace de noms apext::log fournit, avec le modèle de fonction TraceArti, une interface pour la transmission de messages de trace modélisés à des outils de trace d'exécution externes [SWS_LOG_20000]. La fonction est appelée exclusivement en interne par le framework de journalisation lors du basculement entre la journalisation et le traçage, et traite des identifiants spécifiques au message ainsi que des paramètres variables [SWS_LOG_20000]. Un surcoût à l'exécution minimal, une sécurité complète des threads ainsi qu'une exécution sans exception sans valeurs d'erreur ni de retour s'appliquent comme contraintes centrales.

Contexte

L'espace de noms apext::log fournit des interfaces fonctionnelles pour le sous-système de journalisation et de traçage de l'AUTOSAR Adaptive Platform. Sa responsabilité principale réside dans la mise à disposition d'une interface dédiée pour des outils de trace d'exécution externes via le modèle de fonction TraceArti [SWS_LOG_20000]. L'attribution du nom avec le préfixe apext devrait indiquer, selon l'interprétation, qu'il s'agit d'une extension de plateforme (Adaptive Platform Extension) qui relie des mécanismes de traçage spécifiques tels que l'AUTOSAR Run-Time Interface (ARTI) au framework de journalisation. Question Q-325896ce9f6b8e42 (ouverte)

Dans l'architecture système, l'espace de noms sert de passerelle entre l'infrastructure de journalisation interne et les outils d'analyse ou de trace en aval. Trois composants interagissent alors essentiellement entre eux : le framework de journalisation interne, la fonction d'interface TraceArti au sein de apext::log ainsi que l'outil de trace connecté [SWS_LOG_20000]. Le framework de journalisation traite les événements applicatifs et transmet les messages modélisés, en cas de basculement correspondant, à TraceArti, qui remet les données à l'outil de trace spécifique au constructeur [SWS_LOG_20000].

logger Logger-Framework trace_arti apext::log::TraceArti logger->trace_arti interner Aufruf trace_tool Trace-Tool trace_arti->trace_tool modellierte Nachricht

Diagramme de contexte : intégration de TraceArti entre le framework de journalisation et l'outil de trace. Sources : [SWS_LOG_20000]

Cycle de vie

L'espace de noms apext::log n'encapsule aucune instance de classe durable, objet de session ou entité avec état dotée d'un cycle de vie autonome. Il n'existe pas de routines explicites d'initialisation ou de terminaison dans l'espace de noms ; la fonctionnalité est plutôt exclusivement réalisée par des fonctions modèles libres [SWS_LOG_20000]. Le cycle de vie de la fonctionnalité de traçage est ainsi entièrement couplé au cycle de vie opérationnel de niveau supérieur du framework de journalisation.

Des garanties strictes s'appliquent quant au comportement en concurrence et à la sécurité de fonctionnement : l'interface TraceArti est explicitement spécifiée comme thread-safe [SWS_LOG_20000]. Cela permet au framework de journalisation de déléguer des appels de trace en parallèle depuis de multiples contextes d'exécution et threads à l'espace de noms, sans synchronisation externe. En même temps, la fonction est déclarée sans exception (exception safe) et noexcept [SWS_LOG_20000], de sorte qu'aucune fuite de ressources ni aucun état de déroulement incontrôlé de pile ne puisse survenir à aucun moment pendant l'appel.

Parcours d'utilisation

Les fonctions de l'espace de noms apext::log ne sont pas conçues pour être appelées directement par le logiciel applicatif général. Au lieu de cela, TraceArti est appelée exclusivement en interne par le framework de journalisation lorsque celui-ci bascule entre la journalisation classique et le traçage basé sur ARTI [SWS_LOG_20000]. Les développeurs ou intégrateurs incluent en cas de besoin le fichier d'en-tête correspondant #include "apext/log/trace_arti.h" afin d'obtenir l'accès à la déclaration [SWS_LOG_20000].

Lors de son appel, la fonction traite des messages modélisés (modeled messages) qui sont spécifiques à l'outil de trace utilisé [SWS_LOG_20000]. L'interface accepte à cet effet un identifiant de message msg_id d'un type défini par l'implémentation MsgId ainsi qu'un pack de paramètres variables params... de types arbitraires Params... [SWS_LOG_20000]. Afin de maintenir les coûts d'exécution sur le chemin de trace à un niveau aussi bas que possible, la spécification exige une minimisation stricte du surcoût à l'exécution ; cela doit par exemple être atteint au moyen de spécialisations de templates sur mesure basées sur les MsgId respectifs [SWS_LOG_20000]. Il est à présumer que de telles spécialisations sont typiquement générées par des générateurs d'outils dans le cadre de l'intégration de la chaîne d'outils pour les systèmes cibles respectifs.

Scénarios d'erreur

Dans le domaine de la gestion des erreurs, apext::log adopte une conception tolérante aux pannes sans signalement des erreurs d'exécution à l'appelant. La signature de fonction de TraceArti ne définit aucune valeur de retour (void) et interdit complètement la levée d'exceptions C++ via la spécification noexcept [SWS_LOG_20000]. Les préconditions telles que la validité des identifiants de message et des données utiles transmises doivent donc obligatoirement être garanties par le framework de journalisation appelant ou par les spécialisations correspondantes, car aucun code d'erreur ne peut être transporté en cas d'erreur [SWS_LOG_20000].

Ce guide a été généré par une IA et résume la spécification de l'interface apext::log.

Fonctions

TraceArti fonction

Handles a modeled message, specific to the used trace tool. This function is only called internally by the Logger framework when switching between Log and TraceArti. It represents the interface to trace tools. The runtime overhead of this function shall be kept as minimal as possible, e.g. by using specializations based on the MsgId.

template <typename MsgId, typename... Params> void TraceArti (const MsgId &msg_id, const Params &... params) noexcept;

Documentation des fonctions libres

fonction TraceArti [SWS_LOG_20000] Upstream: RS_LT_00003

template <typename MsgId, typename... Params> void TraceArti (const MsgId &msg_id, const Params &...                       params) noexcept;

Handles a modeled message, specific to the used trace tool. This function is only called internally by the Logger framework when switching between Log and TraceArti. It represents the interface to trace tools. The runtime overhead of this function shall be kept as minimal as possible, e.g. by using specializations based on the MsgId.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : afa9b5cd99a6 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction template TraceArti dans l'espace de nommage apext::log sert au traitement de messages modélisés spécifiquement pour l'outil de trace respectivement connecté [SWS_LOG_20000]. Elle fait office d'interface vers les outils de trace et n'est pas prévue pour un appel direct par le code d'application, mais est appelée exclusivement en interne par le framework de journalisation en cas de basculement entre Logging et TraceArti [SWS_LOG_20000]. En guise de paramètres, la fonction prend en charge via msg_id un objet identifiant le message d'un type propre à l'implémentation, ainsi que via le paquet de paramètres params les arguments du message ; aucune valeur de retour n'est définie [SWS_LOG_20000].

Concurrence, traitement des erreurs et comportement à l'exécution

L'interface est spécifiée comme sûre pour les threads (thread-safe) et sûre face aux exceptions (exception safe par noexcept) [SWS_LOG_20000]. Aucun code d'erreur spécifique ni mécanisme de signalement d'erreur n'existe, si bien que la fonction doit exclure complètement les exceptions [SWS_LOG_20000].

Le surcoût à l'exécution de TraceArti doit être maintenu aussi minimal que possible [SWS_LOG_20000]. À cette fin, la spécification mentionne explicitement des spécialisations basées sur le paramètre de template MsgId en tant qu'approche de solution [SWS_LOG_20000]. Interprétation : pour le raccordement d'un outil de trace, cela devrait signifier que les logiques de traitement spécifiques aux messages devraient être de préférence optimisées au moment de la compilation par des spécialisations de template. Question Q-24ea7f9557ada827 (ouverte)

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR pour R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "apext/log/trace_arti.h"
Scopenamespace apext::log
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Template-Parameter

ParameterBeschreibung
MsgIdParamsthe type of the msg_id parameter the types of the params parameters

Parameter (in)

ParameterBeschreibung
msg_idan implementation-defined type identifying the message object
paramsthe arguments of the message

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_LOG_20000
Status
valid/auto-approved
Version
AUTOSAR/AP/record/SWS_LOG_20000@rel:R25-11#f077ed6a
Content hash
f077ed6a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_LogAndTrace.pdf#nameddest=SWS_LOG_20000
Status: valid/auto-approved Version: rel:R25-11#5511a3f8 Versionshistorie & Revisions (2 transitions, 4 revision)
Current State
valid/auto-approved
Reason
unchanged
Campaign
2026-08-sws-log-pilot-after-tool-improvement
Active Version
AUTOSAR/AP/record/SWS_LOG_20000@rel:R25-11#5511a3f8
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#4e0ac6b92026-09-30
  • R23-11rel:R23-11#ab5e92c82026-10-14
  • R24-11rel:R24-11#5511a3f82026-10-14
  • R25-11rel:R25-11#5511a3f82026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-10toolvalid/unversioned → invalid/obsoletespec update after tool improvement2026-08-sws-log-pilot-after-tool-improvement
2026-08-10toolinvalid/obsolete → valid/auto-approvedunchanged2026-08-sws-log-pilot-after-tool-improvement