DEENESPTFRRUARHIKOZHNL

namespace apext::log

Guia do utilizadorGERADO POR IA

Disponibiliza uma interface segura para threads para o encaminhamento de mensagens modeladas para ferramentas de rastreio externas.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 199c14229bd8 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Disponibiliza uma interface segura para threads para o encaminhamento de mensagens modeladas para ferramentas de rastreio externas.

O namespace apext::log disponibiliza, com o modelo de função TraceArti, uma interface para o encaminhamento de mensagens de rastreio modeladas para ferramentas externas de rastreio em tempo de execução [SWS_LOG_20000]. A função é chamada exclusivamente de forma interna pela framework do logger ao alternar entre logging e tracing, processando identificadores específicos da mensagem e parâmetros variáveis [SWS_LOG_20000]. As principais condições de contorno são um overhead mínimo em tempo de execução, total segurança para threads e uma execução segura contra exceções sem valores de erro ou de retorno.

Contexto

O namespace apext::log fornece interfaces funcionais para o subsistema de logging e tracing da AUTOSAR Adaptive Platform. A sua responsabilidade primária reside na disponibilização de uma interface dedicada para ferramentas externas de rastreio em tempo de execução através do modelo de função TraceArti [SWS_LOG_20000]. Como interpretação, a nomenclatura com o prefixo apext deverá indicar que se trata de uma extensão da plataforma (Adaptive Platform Extension) que conecta mecanismos específicos de rastreio, como a AUTOSAR Run-Time Interface (ARTI), à framework de logging. Pergunta Q-325896ce9f6b8e42 (aberta)

Na arquitetura do sistema, o namespace funciona como elemento de ligação entre a infraestrutura interna de logging e ferramentas posteriores de análise ou rastreio. Interagem essencialmente três componentes entre si: a framework interna do logger, a função de interface TraceArti dentro de apext::log e a ferramenta de rastreio conectada [SWS_LOG_20000]. A framework do logger processa eventos da aplicação e, mediante a respetiva comutação, encaminha mensagens modeladas para TraceArti, que transmite os dados para a ferramenta de rastreio específica do fabricante [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

Diagrama de contexto: integração de TraceArti entre a framework do logger e a ferramenta de rastreio. Fontes: [SWS_LOG_20000]

Ciclo de vida

O namespace apext::log não encapsula instâncias de classes de longa duração, objetos de sessão ou entidades com estado que possuam um ciclo de vida autónomo. Não existem rotinas explícitas de inicialização ou de terminação no namespace; em vez disso, a funcionalidade é implementada exclusivamente através de funções-modelo livres [SWS_LOG_20000]. O ciclo de vida da funcionalidade de rastreio está, assim, totalmente acoplado ao ciclo de vida operacional superior da framework do logger.

Relativamente ao comportamento de concorrência e à segurança operacional, aplicam-se garantias estritas: a interface TraceArti é explicitamente especificada como segura para threads (thread-safe) [SWS_LOG_20000]. Isto permite que a framework do logger delegue chamadas de rastreio em paralelo a partir de múltiplos contextos de execução e threads para o namespace, sem necessidade de sincronização externa. Ao mesmo tempo, a função está declarada como segura contra exceções (exception safe) e noexcept [SWS_LOG_20000], garantindo que em nenhum momento ocorram fugas de recursos ou estados descontrolados de desenrolamento de pilha (stack unwinding) durante a chamada.

Caminho de utilização

As funções do namespace apext::log não foram concebidas para serem chamadas diretamente pelo software aplicacional comum. Em vez disso, TraceArti é chamado exclusivamente de forma interna pela framework do logger quando esta alterna entre o logging clássico e o rastreio baseado em ARTI [SWS_LOG_20000]. Se necessário, os programadores ou integradores incluem o ficheiro de cabeçalho correspondente #include "apext/log/trace_arti.h" para obter acesso à declaração [SWS_LOG_20000].

Durante a chamada, a função processa mensagens modeladas (modeled messages) específicas da ferramenta de rastreio utilizada em cada caso [SWS_LOG_20000]. Para o efeito, a interface aceita um identificador da mensagem msg_id de um tipo definido pela implementação MsgId, bem como um pacote de parâmetros variáveis params... de tipos arbitrários Params... [SWS_LOG_20000]. Para manter os custos de tempo de execução no caminho de rastreio o mais baixos possível, a especificação exige uma minimização estrita do overhead de tempo de execução; isto deve ser alcançado, por exemplo, através de especializações de modelo personalizadas com base no respetivo MsgId [SWS_LOG_20000]. É de presumir que tais especializações sejam tipicamente geradas por geradores de ferramentas no âmbito da integração da toolchain para os respetivos sistemas-alvo.

Cenários de erro

No domínio do tratamento de erros, apext::log adota um desenho tolerante a falhas sem sinalização de erros de tempo de execução ao chamador. A assinatura da função de TraceArti não define qualquer valor de retorno (void) e proíbe integralmente o lançamento de exceções C++ através da especificação noexcept [SWS_LOG_20000]. As pré-condições, como a validade dos IDs de mensagem e dos dados úteis passados, têm, portanto, de ser obrigatoriamente garantidas pela framework de logger chamadora ou pelas respetivas especializações, uma vez que, em caso de erro, nenhum código de erro pode ser transportado [SWS_LOG_20000].

Este guia foi elaborado por uma IA e resume a especificação da interface apext::log.

Funções

TraceArti função

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;

Documentação das funções livres

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: afa9b5cd99a6 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e contexto de chamada

A função template TraceArti no namespace apext::log serve para o processamento de mensagens modeladas especificamente para a respetiva ferramenta de rastreio ligada [SWS_LOG_20000]. Funciona como interface para ferramentas de rastreio e não está prevista para chamada direta por código da aplicação, sendo chamada exclusivamente de forma interna pelo framework de registo quando se alterna entre Logging e TraceArti [SWS_LOG_20000]. Como parâmetros, a função recebe através de msg_id um objeto identificador de mensagem de um tipo específico da implementação, bem como através do parameter pack params os argumentos da mensagem; não está definido nenhum valor de retorno [SWS_LOG_20000].

Concorrência, tratamento de erros e comportamento em tempo de execução

A interface é especificada como segura para threads (thread-safe) e segura contra exceções (exception safe através de noexcept) [SWS_LOG_20000]. Não existem códigos de erro específicos ou mecanismos para notificação de erros, pelo que a função deve excluir exceções na totalidade [SWS_LOG_20000].

O overhead em tempo de execução de TraceArti deve ser mantido tão mínimo quanto possível [SWS_LOG_20000]. Para este efeito, a especificação menciona explicitamente especializações com base no parâmetro de template MsgId como abordagem de solução [SWS_LOG_20000]. Interpretação: para a ligação de uma ferramenta de rastreio, isto significará provavelmente que lógicas de processamento específicas da mensagem devem ser otimizadas preferencialmente em tempo de compilação através de especializações de template. Pergunta Q-24ea7f9557ada827 (aberta)

Esta nota de utilização foi criada de forma automatizada com base na especificação da AUTOSAR para R25-11.

Guia do implementador em breve (complexidade 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#85576251
Content hash
85576251
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