You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

All,

I've been using the Troubleshooting→Logs web page on RDK-B and was surprised that no logs were being displayed at any time frame (Today/Yesterday/Last week/Last month/Last 90 days) for the event logs even though the /nvram/log/event/eventlog file was present on my target and had many entries.

I found that if the number of entries in the eventlog exceeded 1250 that no logs ever get displayed on the web page.

I've tracked this down to the value g_uMaxParamInResponse being set to 5000 in the file https://code.rdkcentral.com/r/plugins/gitiles/rdkb/components/opensource/ccsp/CcspCommonLibrary/+/master/source/ccsp/components/common/MessageBusHelper/helper/messagebus_interface_helper.c.

The code in https://code.rdkcentral.com/r/plugins/gitiles/rdkb/components/opensource/ccsp/webui/+/master/source/Styles/xb3/code/actionHandler/ajax_troubleshooting_logs.php uses the following command to get the event logs:

exec("/usr/ccsp/ccsp_bus_client_tool eRT getv Device.X_CISCO_COM_Diagnostics.Eventlog.Entry. | grep 'type:' > /tmp/log_event.txt");

This command tries to get all the entries under the Eventlog at once.

Since each Device.X_CISCO_COM_Diagnostics.Eventlog.Entry has 4 parameters, if you have more than 1250 eventlog entries, you've gone over the max param in response value of 5000.

As a result, the return from the ccsp_bus_client_tool call is Execution fail(error code:UNKNOWN MESSAGE TYPE(-47)), which results in no values to be put into the /tmp/log_event.txt for the web page to display.


I think not displaying any events in this case is not correct; if increasing the number of acceptable parameters is not a good option (for memory purposes), then it seems the web page should display enties up to the maximum number allowed as defined by the time frame chosen.

Getting individual entries (e.g. Device.X_CISCO_COM_Diagnostics.Eventlog.Entry.1251, etc.) works since the number of parameters for an individual entry is only four, but changing the web page to do a for loop and make a call for each entry doesn't seem correct in terms of time or approach.

Any thoughts on how best to make the Troubleshooting Logs web page more accurately display the event logs and get around this max param problem would be appreciated, since I think this is something that would benefit all RDK-B users.  For example, is there a way to amend the ccsp_bus_client_tool call so it can get a range of entries instead of trying to get all entries, is the individual loop method the way to go, or is there a better solution than either one of these?

  • No labels