On Sun, Feb 13, 2011 at 7:54 AM, Lance Norskog <goks...@gmail.com> wrote:
> If you're a unix shell scripting wiz, here are a few strategies.
>
> Tail the logfile and filter for the string 'QTime'. The number is the
> very last string in the line. So, strip the text between the timestamp
> and the number- sort by the timestamp first and the number second. Now
>  grab the first qtime for each timestamp. I don't know a command for
> this. This gives you the longest query time for each second.
[...]

Thanks for the idea. As this was useful enough for us, have gone ahead
and implemented it.

* Attached is a bash script that will print
    timestamp query-string qtime
  for each query in a list of Solr log files specified as command-line
  arguments.
* Use as "./qtime_solr.sh logfile1 logfile2...". Without any arguments,
  the script uses /var/log/tomcat6/catalina.out as the log file.
* Have only minimally tested it, but would be glad to fix any bugs
  that people encounter.
* Have *not* implemented the latter part of the suggestion, i.e.,
  sorting by timestamp, and taking only the first query. IMHO, the
  needs here might be different, and it is best to have a second
  script doing this, that uses the output from this one.
* Not sure if attachments to this list are stripped, so the script has
  also been uploaded to http://pastebin.com/YLqBHp19

Regards,
Gora

Attachment: qtime_solr.sh
Description: Bourne shell script

Reply via email to