Add new configuration option to turn off usage logging.
Currently, webserviceshell captures usage information about the type and amount of data returned to a client, then webserviceshell outputs this information other services. In the case of miniseed, this is an expensive operation and is not needed if the usage information is already captured earlier in the data flow. This new configuration item will improve performance in the case where usage information is not needed.
#1 Updated by Mike Stults over 7 years ago
A new configuration parameter is available for disabling usage logging. To turn off usage logging, add the following can to the dataselect-1-service.cfg file and uncomment the "usageLog" line.
- usageLog is true by default, set this to false to disable usage logging
Additional environmental parameters, CLIENTNAME, HOSTNAME, and AUTHENTICATEDUSERNAME (when it is not null) are now provided when the handler process is started. These environmental settings, along with the existing settings, should allow a handler to provide the same usage information as web service shell if desired.
Turning off usage log should show a significant performance improvement, although this can be hidden if the web service shell is blocking on the input reads, waiting for data to be delivered by the handler. See the "done" log entries in dataselect.log, the difference between timeNotBlocking and processingTime indicates the amount of time web service shell is blocking on reads of stdin.
#3 Updated by Robert Weekly over 7 years ago
The parameter 'usageLog' was tested using dataselect service on localhost. Both JMS and LOG4J logging methods were tested for compliance. The results are summarized below and the new feature performs as expected. Recommend to close bug.
- usageLog=true and loggingmethod=JMS
message is logged to JMS broker and visible to usageLog utility on marvin2
- usageLog=false and loggingmethod=JMS
message is not logged through usageLog utility
- usageLog=true and loggingmethod=LOG4J
message is written to dataselect_usage.log on local machine
- usageLog=false and loggingmethod=LOG4J
message is not written to local log file