With Services Log enabled on our Services API driven application, we have over 1M records (25GB according to Sequel Pro) in just two months. I happened to be watching show full processlist; in MySQL and saw that there are some select DISTINCTs happening for some columns, and each query was lasting 60-70 seconds.

Some ideas:

  1. The fields HTTP Status and HTTP Method could be reduced to a hardcoded list of standard HTTP values, I think.
  2. The User field could be autocomplete based on logged records
  3. The Host (IP) field could be just a plaintext field. Is there a use case for "User has some idea but could really use the help in remembering the rest of a specific IP" where the user cannot actually copy/paste? Would be *help*ful to some users for this to be a partial match field to generally grab a specific subnet, for instance
  4. OR (and I don't know what the log writing impact would be), adding an index in db schema on that table would be helpful as well.

With a couple tweaks like this, the Services Log view interface would be much quicker to load.

Comments

texas-bronius created an issue. See original summary.

texas-bronius’s picture

Issue summary: View changes
texas-bronius’s picture

Issue summary: View changes