DEENESPTFRRUARHIKOZHNL

пространство имён apext::log

Руководство пользователяСОЗДАНО ИИ

Предоставляет потокобезопасный интерфейс для перенаправления смоделированных сообщений во внешние инструменты трассировки.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 199c14229bd8 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Предоставляет потокобезопасный интерфейс для перенаправления смоделированных сообщений во внешние инструменты трассировки.

Пространство имен apext::log с помощью шаблона функции TraceArti предоставляет интерфейс для пересылки смоделированных трассировочных сообщений во внешние инструменты трассировки времени выполнения [SWS_LOG_20000]. Функция вызывается исключительно внутри фреймворка логгера при переключении между журналированием и трассировкой и обрабатывает специфичные для сообщений идентификаторы, а также переменные параметры [SWS_LOG_20000]. В качестве ключевых граничных условий выступают минимальные накладные расходы времени выполнения, полная потокобезопасность и безопасное относительно исключений выполнение без кодов ошибок или возвращаемых значений.

Контекст

Пространство имен apext::log предоставляет функциональные интерфейсы для подсистемы журналирования и трассировки AUTOSAR Adaptive Platform. Его основная обязанность заключается в предоставлении выделенного интерфейса для внешних инструментов трассировки времени выполнения через шаблон функции TraceArti [SWS_LOG_20000]. Именование с префиксом apext в качестве интерпретации может указывать на то, что речь идет о расширении платформы (Adaptive Platform Extension), которое подключает специфические механизмы трассировки, такие как AUTOSAR Run-Time Interface (ARTI), к фреймворку журналирования. Вопрос Q-325896ce9f6b8e42 (открытый)

В системной архитектуре пространство имен функционирует как связующее звено между внутренней инфраструктурой журналирования и нижележащими инструментами анализа или трассировки. При этом между собой взаимодействуют главным образом три компонента: внутренний фреймворк логгера, интерфейсная функция TraceArti внутри apext::log, а также подключенный инструмент трассировки [SWS_LOG_20000]. Фреймворк логгера обрабатывает события приложения и при соответствующем переключении пересылает смоделированные сообщения в TraceArti, который передает данные в специфичный для производителя инструмент трассировки [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

Контекстная диаграмма: встраивание TraceArti между фреймворком логгера и инструментом трассировки. Источники: [SWS_LOG_20000]

Жизненный цикл

Пространство имен apext::log не инкапсулирует долгоживущих экземпляров классов, объектов сессий или сущностей с состоянием, обладающих собственным жизненным циклом. В пространстве имен не существует явных процедур инициализации или завершения; напротив, функциональность реализуется исключительно свободными шаблонными функциями [SWS_LOG_20000]. Таким образом, жизненный цикл функциональности трассировки полностью привязан к вышестоящему рабочему жизненному циклу фреймворка логгера.

В отношении поведения при параллелизме и эксплуатационной безопасности действуют строгие гарантии: интерфейс TraceArti явно специфицирован как потокобезопасный (thread-safe) [SWS_LOG_20000]. Это позволяет фреймворку логгера делегировать вызовы трассировки в пространство имен параллельно из множественных контекстов выполнения и потоков без внешней синхронизации. В то же время функция объявлена как безопасная относительно исключений (exception safe) и noexcept [SWS_LOG_20000], благодаря чему во время вызова ни в какой момент не могут возникать утечки ресурсов или неконтролируемые состояния развертывания стека.

Путь использования

Функции пространства имен apext::log не предназначены для прямого вызова из общего прикладного программного обеспечения. Вместо этого TraceArti вызывается исключительно внутренне фреймворком логгера, когда тот переключается между классическим журналированием и трассировкой на основе ARTI [SWS_LOG_20000]. Разработчики или интеграторы при необходимости подключают соответствующий заголовочный файл #include "apext/log/trace_arti.h" для получения доступа к объявлению [SWS_LOG_20000].

При вызове функция обрабатывает смоделированные сообщения (modeled messages), специфичные для каждого используемого инструмента трассировки [SWS_LOG_20000]. Для этого интерфейс принимает идентифицирующий сообщение идентификатор msg_id определяемого реализацией типа MsgId, а также переменный пакет параметров params... произвольных типов Params... [SWS_LOG_20000]. Чтобы свести накладные расходы времени выполнения в тракте трассировки к минимуму, спецификация требует строгого снижения накладных расходов времени выполнения; этого предполагается достигать, например, за счет специализированных специализаций шаблона на основе соответствующих MsgId [SWS_LOG_20000]. Предположительно, подобные специализации обычно генерируются генераторами инструментов в рамках интеграции инструментария для соответствующих целевых систем.

Сценарии ошибок

В области обработки ошибок apext::log придерживается отказоустойчивой архитектуры без сигнализации об ошибках времени выполнения вызывающей стороне. Сигнатура функции TraceArti не определяет возвращаемого значения (void) и полностью запрещает выброс исключений C++ через спецификацию noexcept [SWS_LOG_20000]. Поэтому предусловия, такие как корректность идентификаторов сообщений и переданных полезных данных, обязательно должны обеспечиваться вызывающим фреймворком логгера или соответствующими специализациями, так как в случае ошибки коды ошибок передаваться не могут [SWS_LOG_20000].

Настоящее руководство составлено ИИ и обобщает спецификацию интерфейса apext::log.

Функции

TraceArti функция

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;

Документация свободных функций

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: afa9b5cd99a6 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и контекст вызова

Шаблонная функция TraceArti в пространстве имен apext::log служит для обработки смоделированных сообщений специально для соответствующего подключенного инструмента трассировки [SWS_LOG_20000]. Она функционирует как интерфейс к инструментам трассировки и не предназначена для прямого вызова из кода приложения, а вызывается исключительно внутри фреймворка логгера при переключении между журналированием и TraceArti [SWS_LOG_20000]. В качестве параметров функция принимает через msg_id идентифицирующий сообщение объект специфичного для реализации типа, а также через пакет параметров params аргументы сообщения; возвращаемое значение не определено [SWS_LOG_20000].

Многопоточность, обработка ошибок и поведение во время выполнения

Интерфейс специфицирован как потокобезопасный (thread-safe) и исключениебезопасный (exception safe за счет noexcept) [SWS_LOG_20000]. Специфические коды ошибок или механизмы сообщения об ошибках отсутствуют, поэтому функция должна полностью исключать исключения [SWS_LOG_20000].

Накладные расходы во время выполнения для TraceArti должны быть сведены к минимуму [SWS_LOG_20000]. В качестве подхода к решению спецификация прямо называет специализации на основе параметра шаблона MsgId [SWS_LOG_20000]. Интерпретация: для подключения инструмента трассировки это, вероятно, означает, что логику обработки, специфичную для сообщения, предпочтительно оптимизировать во время компиляции с помощью специализаций шаблона. Вопрос Q-24ea7f9557ada827 (открытый)

Данное указание по использованию было создано автоматически на основе спецификации AUTOSAR для R25-11.

Руководство разработчика реализации в подготовке (сложность 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#9245fe2f
Content hash
9245fe2f
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