| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dlt-daemon: Lower log level of several logs not to output unintentional warning
Change log level of several logs from WARNING to INFO.
1. User FIFO cannot be opened because the FIFO does not exist
--> This case can happen if DLT user app is one-shot
2. Runtime configuration file (dlt-runtime-application.cfg / dlt-runtime-context.cfg)
cannot be opened
--> This case can happen in normal use case.
Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
|
|
|
|
|
|
| |
dlt-daemon entered to infinite loop when set log level request with
wildcards came from dlt-control due to variable size.
Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
|
|
|
|
|
|
|
|
| |
Marker message had been continued to output
if application called dlt_log_marker() due to missing
byte removing processing against marker message.
Therefore the byte removing for marker message processing is added.
Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
|
|
|
|
|
| |
Even Forcing log level and trace status of context to not exceed "ContextLogLevel" and "ContextTraceStatus" in dlt.conf file with ForceContextLogLevelAndTraceStatus = 1, the default log level is being overwritten with high value than expected by client(DLT_Viewer when default trace data request is sent ) and by dlt-control application on usage of (dlt-control -d loglevel IP_ADDRESS)
With provided patch/changes in place, when ForceContextLogLevelAndTraceStatus is enabled the requested log level is checked with ContextLogLevel and if it satisfied the daemon default loglevel gets updated.
Added a conditional checks to not to overwrite the individual contextLoglevel and ContextTracesStatus when ForceContextLogLevelAndTraceStatus is enabled in dlt.conf file and taken care of review comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix -Wpointer-compare of compare with null char
Signed-off-by: Phong Tran <tranmanphong@gmail.com>
* dlt_common: fix -Wformat-truncation of snprintf
Avoid snprintf output truncation by handling return value
Signed-off-by: Phong Tran <tranmanphong@gmail.com>
* dlt_offline_trace: Fix Wformat-truncation of snprintf
Compile with Gcc 7.x has the warning of snprintf buffer length size.
Check return value of snprintf() for avoiding the warning.
Signed-off-by: Phong Tran <tranmanphong@gmail.com>
* dlt_common_test: Fix memleak t_dlt_message_read
some resources were not free after using.
Detected by running
valgrind --leak-check=full ./gtest_dlt_common
Signed-off-by: Phong Tran <tranmanphong@gmail.com>
|
|
|
|
|
|
| |
* improve error reporting in dlt_daemon_socket
* use dlt_vlog
|
|
|
|
|
|
| |
do not update data_send in case of temporal error
Signed-off-by: Christoph Lipka <clipka@de.adit-jv.com>
|
|
|
| |
Prevention for occasional corrupted messages caused mostly due to system high load.
|
|
|
|
| |
character from merge - +
|
|
|
|
|
|
|
|
|
|
|
|
| |
- When dlt_daemon_user_send_log_level() called in
dlt_daemon_process_user_message_register_context() fails -1 was returned
which caused dlt_daemon_process_user_messages() to stop processing
receiver buffer. Remaining data was stuck until new data arrived over
FIFO.
- Make debug output of dlt_daemon_user_send_log_level() more
verbose.
Signed-off-by: Lutz Helwing <lutz_helwing@mentor.com>
|
|
|
|
|
|
|
|
|
| |
By enabling the WITH_SYSTEMD and WITH_DLT_UNIT_TESTS cmake flags
the build will fail with an error due to a linking issue:
../src/daemon/libdlt_daemon.so: undefined reference to `sd_booted'
collect2: error: ld returned 1 exit status
Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
dlt-daemon/src/daemon/dlt_daemon_event_handler.c: In function ‘dlt_daemon_handle_event’:
dlt-daemon/src/daemon/dlt_daemon_event_handler.c:131:30: waring: cast from pointer to integer of different size [-Wpointer-to-int-cast]
DltConnectionId id = (DltConnectionId)ev->data.ptr;
^
dlt-daemon/src/daemon/dlt_daemon_event_handler.c: In function ‘dlt_connection_check_activate’:
dlt-daemon/src/daemon/dlt_daemon_event_handler.c:381:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ev.data.ptr = (void *)con->id;
^
Signed-off-by: Gordan Markuš <gordan.markus@pelagicore.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In dlt_daemon_send_all_multiple, if the connection was broken, we closed
it before getting the next available connection. This must be avoided by
having a temporary next pointer.
The same kind of problem is valid for pointers coming from the epoll
interface. The kernel can provide back connection pointer that are not
valid any longer. Therefore, we need to use an ID instead of the pointer
value to retrieve the connections.
Signed-off-by: Frederic Berat <fberat@de.adit-jv.com>
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
| |
It might happen that an event is part of the epoll event queue that
belongs to a connection which was destroyed before the event is handled.
Due to this, the event handling main loop might stop and the daemon
exits. This misbehavior is fixed with this patch.
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
| |
Unit tests for DLT Daemon connection and event handling
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
| |
Unit test for DLT MultiNode extension
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On context and application registration, the data needs to be read in 2
parts. If the first part was at the end of the receiver buffer, it was
wrongly removed whereas the complete data is not full received and
therefore interpretable. This has to be fixed by not removing the data
before everything is checked.
Thus, while readjusting the buffer to the first found header, the offset
was not properly updated.
Signed-off-by: Frederic Berat <fberat@de.adit-jv.com>
Process User Messages: Fix buffer handling
In case application and context registration the buffer need to be read
two times. But before removing the data, the data need to be readjusted
to its origin. This was missing in a previous fix.
Furthermore, in case of corrupted description field, applications and
contexts will be registered anyway with the dummy description "Unknown".
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
|
| |
ECU ID that is not default value
dlt-daemon overwrites ECU ID even if user log message already has the ECU ID that is not default value.
This phenomenon happens when application uses dlt_forward_msg().
Therefore, dlt-daemon is modified not to overwrite ECU ID if log message has already has the ECU ID.
Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
Change-Id: Icbc6304e5571242bf75ff0d32cbe4b004f1d7f9d
|
|
|
|
|
|
|
|
|
|
| |
registration
Option of get log info response during context registration was fixed to 7.
This modification enables to change that option.
Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
Change-Id: Ia75f15cdb33e0bffd77c5ba71a1960e820714e61
|
|
|
|
|
|
|
| |
Configuration of daemon FIFO (default: /tmp/dlt) size is added to dlt.conf.
Signed-off-by: Yusuke Sato <yusuke-sato@apn.alpine.co.jp>
Change-Id: I05cc56b9a05e4c3a0a1af49c374f35ae10f4674d
|
|
|
|
|
| |
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
Change-Id: I504664fa8d2a4c6d9449a1911bf139dfe6005d76
|
|
|
|
|
|
|
|
| |
1. support for setting log level using wildcards for both app and context
2. support for setting entire system log level
Signed-off-by: Manikandan C <Manikandan.Chockalingam@in.bosch.com>
Change-Id: I92f8c5461903f092cd50f05f644013432940a87b
|
|
|
|
|
|
|
|
| |
The user log message handler was returning 1 instead of -1 in case of
failure, which was not expected.
Signed-off-by: Frederic Berat <fberat@de.adit-jv.com>
Change-Id: Id03b2879f631e804f9939a9f52132be26491f888
|
|
|
|
|
|
|
|
| |
The activation of the connection is now centralized in one common
function.
Signed-off-by: Frederic Berat <fberat@de.adit-jv.com>
Change-Id: I86703eab411088905a85f526d5102875e2c92b7e
|
|
|
|
|
|
|
|
|
|
| |
The receiver structures have been removed from the dlt-daemon structure,
they are now part of the connection.
The overall usage of the receiver structrure has also been reviewed in
the daemon.
Signed-off-by: Frederic Berat <fberat@de.adit-jv.com>
Change-Id: I7cf80d79ed73bd6d4f370bb3f278d26ccc9d8d7a
|
|
|
|
|
|
|
|
| |
Incremented client connections in case of serial connection also
Signed-off-by: Manikandan C <Manikandan.Chockalingam@in.bosch.com>
Change-Id: I3eb56ca67d46a7474cb750769c65c6548d40554f
|
|
|
|
|
|
|
|
| |
support long options
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
Change-Id: I2bac5e48a5d210b544a96fe96dc322f28ac472fe
|
|
|
|
|
|
| |
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
Change-Id: I4466364e6340c526c8ce6f22d80c3ffc1b8be4ef
|
|
|
|
| |
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
|
|
|
|
|
|
|
|
| |
- feature: allow to define a default-log-level in dlt.conf (see dlt.conf for documentation)
- bugfix: make dlt_unlock_mutex not inline to fix linkage
- bugfix: initial log-level was not set correctly when no dlt-daemon was running
Signed-off-by: Stefan Vacek <stefan.vacek@intel.com>
|
|
|
|
|
|
|
|
| |
Additional:
- include sd-daemon.h if watchdog is enabled
- fix formatting for printf 64bit values
Signed-off-by: Stefan Vacek <stefan.vacek@intel.com>
|
|
|
|
|
|
| |
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
| |
This patch enables the user to specify the ECU identifier as another
filter attribute for a Logstorage filter configuration.
This attribute is optional. If not specified, the ECUid will not be
checked during message filtering within the Logstorage component.
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MultiNode allows to connect DLT Daemons running on different operating systems,
e.g. in a virtualized environment. The central component is the Gateway DLT
Daemon which connects external DLT Clients, like the DLT Viewer running on a
host computer, with Passive DLT Daemons running on nodes without a physical
connection to external DLT clients. The Gateway DLT Daemon itself acts as a
DLT client when connecting to a Passive DLT Daemon.
To use the Gateway functionality, it has to be enabled in dlt.conf:
GatewayMode = 1
All communication between passive nodes and DLT Viewer has to be send via the
Gateway node. The Gateway node forwards log messages coming from passive nodes
to all connected DLT clients. It also forwards command and control requests
coming from DLT clients to the corresponding passive node.
The Gateway DLT Daemon read a configuration file (dlt_gateway.conf) at startup
with information about Passive DLT Daemon connections. Afterwards, the
Daemon will try to connect to the passive DLT Daemons. If the connection cannot
be established after the configured timeout, the Gateway DLT Daemon will give up
connecting.
The configuration file has to contain the following information about a passive
node:
[PassiveNode1]
IPaddress = 192.168.2.35
Port = 3490
EcuID = ECU2
Connect = OnStartup
; timeout in seconds
Timeout = 10
Precondition is, that the passive node is configured with the correct ECU id,
ECU2 in this case. If the passive node sends messages with another than
configured ECU id, the Gateway DLT Daemon will shut down the connection.
It is also possible to connect to a passive DLT daemon using the
dlt-passive-node-ctrl application. In this case "Connect=OnDemand" has to be
configured in the configuration file.
To connect to PassiveNode1, "dlt-passive-node-ctrl -n ECU2 -c 1" has to be
executed.
With "dlt-passive-node-ctrl -s" the status of passive node connections can be
retrieved.
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
| |
The shutdown of the daemon was not proper implemented. This commit
fixes:
- memory leaks
- removal of created sockets
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using DltLogstorage on internal storage device, it is needed to
reduce writing to internal storage device as much as possible.
This patch introduces sync strategies to Logstorage to provide that
functionality.
The ON_MSG strategy is the default sync strategy that flushes every
written log message to the storage device (fflush).
The ON_DAEMON_EXIT strategy only flushes data to disk when the daemon
exits.
The strategy can be defined per filter in the dlt_logstorage.conf
configuration file by adding
SyncBehavior=<Strategy> to a configuration.
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Features:
1. Offline log storage to internal and external devices (PATH based trigger)
2. File options configurable in dlt.conf
a : Appends timestamp in log file name (OfflineLogstorageTimestamp)
b : Appends delimiter in log file name (OfflineLogstorageDelimiter)
c : Wrap around value for log file count in file name (OfflineLogstorageMaxCounter)
3. Common config file parser support
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Control applications running in the same Linux OS should be able to communicate
with the DLT Daemon via a socket connection.
To be able to do that, the DLT Client library need to be extended. DLT
Clients connected via this UNIX socket are not handled as normal DLT
Clients and no log messages will be forwarded to them. This avoids
problems in situations when a control application is connected to the
DLT Daemon before any other 'real' DLT Client (e.g. DLT Viewer) is
connected. In this situations, all already stored log messages are
flushed to the control application and therefore lost, because the
control application most likely ignore all incoming messages besides the
one in which it is interested in.
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
| |
Offline Logstorage, Multinode and potentially other DLT extensions retrieve
their configuration from a configuration file in INI file format.
To avoid code duplications, this helper functionality should be used to
read configuration files.
Signed-off-by: Christoph Lipka <clipka@jp.adit-jv.com>
|
|
|
|
|
|
|
|
|
| |
Changes made for trace file name configuration based on index and
made it configurable from dlt.conf file. Using this configuration
one can select either timestamp based or index based log file creation
for offline trace.
Signed-off-by: Manikandan C <Manikandan.Chockalingam@in.bosch.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The event handling has been reworked in order to use epoll and
restructure the code.
There are 2 new structures.
The DltConnection which contains all basic connection information, like
the type, the file descriptor, and the receiver structure corresponding.
The DltEventHandler that manages the DltConnections and the associated
events.
The concept is basically the following. The daemon will create different
connections, serial connections, socket connections, fifos etc ... Each of
them will then register itself to the event handler, and give it the
ownership of this connection. From this point in time, the daemon can act
on the connections.
Once an event is triggered, the event handler will call the connection
specific callback, creates new connections when clients arrives,
and potentially destroy the connection in case of hangup.
On exit, the daemon cleanup the event handler, which leads to the
destruction of the connections.
The work there is a first step for a global restructuring. Several
modification will follow, in order to rationalize the different daemon
structures, and avoid variable and code duplication.
Signed-off-by: Frederic Berat <fberat@de.adit-jv.com>
|
|
|
|
| |
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
|
|
|
|
|
|
|
|
|
|
| |
DLT daemon improvement - parameter value range check
Adapt unit tests to check for enum return values
Changed C version to gnu99 and C++ version to gnu++0c
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
|
|
|
|
|
|
|
|
|
|
|
| |
When logging-mode of the DLT-daemon was set to DLT_USER_MODE_INTERNAL or DLT_USER_MODE_OFF and a client tried to connect to the daemon,
the socket for accepting new connections would be closed. This would make connecting to the daemon impossible, even if the logging mode
was reset to DLT_USER_MODE_EXTERNAL or DLT_USER_MODE_BOTH.
Fixed this by removing conditional check on the logging mode - clients connections are always accepted now. If the logging-mode is
being switched from INTERNAL to EXTERNAL or BOTH while a client is connected, the client will then start to receive messages normally.
Signed-off-by: Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Make dlt-daemon configurable to specify directory of fifos and port of dlt-daemon, this
allows to run multiple instances of dlt-daemon at one node at the same time. This is useful
in testing environment where simultanous tests should not interfere due to the same
instance of dlt-daemon
- dlt-daemon: add option -t <dir> to specify a directory where all fifos will be created
- dlt-daemon: add option -p <port> to specify the port under which dlt-daemon can be connected
- client-library: add environment variable DLT_PIPE_DIR to specify a non-default directory
of fifos for logging applications
- client-library: add environment variable DLT_DAEMON_TCP_PORT to specify the port under which
dlt-daemon can be reached (especially when using dlt-receive)
Signed-off-by: Stefan Vacek <stefan.vacek@intel.com>
Signed-off-by: Lutz Helwing <lutz_helwing@mentor.com>
|
|
|
|
|
|
|
| |
- remove compiler warnings
- fix file permissions
Signed-off-by: Stefan Vacek <stefan.vacek@intel.com>
|
|
|
|
| |
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
|
|
|
|
| |
Signed-off-by: S. Hameed <shameed@jp.adit-jv.com>
|