<< | [up] | >> |
dim_STAT User's Guide. by Dimitri |
Analyzing |
Analyzing is quite intuitive, but let's just give some snapshots and few words about...
So, once you click on Analyze link you have two choices:
- Single Host Analyze
- Multi Host Analyze
Let's take a Multi-Host option for the moment, as it's quite easy for the first look.Also, you can see some other additional options:
- Active ONLY - show only currently running collects
- STATs Status - in Single Host mode shows high numbers of already collected stats (very important to see if something is really collecting)
- Title matching - filter collects on title pattern
- LOG matching - filter LOG messages on text pattern
Welcome Analyze! |
LOG Messages |
Few words about LOG Messages...As we saw already, during starting any new STAT collect you may use an optional parameter, Client Log File, to catch any new text messages from this file during all collect time. All messages are saved with time-stamp in the same database as running collect. However, at any moment you may add such a kind of messages manually via Web interface: there is a special link for LOG Messages Admin or special input field under any graph view to add a new message.
But, in what it'll be helpful?...
First: it'll help you to choose right time intervals for analyzing without keeping in mind time slices for one or another activity on the machine.
Second: at any time analyzing activity on the machine you'll be able to get a list of every registered events corresponding to the same time interval.
Example 1
Let's say you DBA in vacations and you're acting for few days :))
User claims something happens on the machine time to time and slows down his work. You're starting to monitor the system, and yes time to time you observe strange activity on Oracle side. So, instead to note on post-it time slices corresponding to the problem, you simply add two messages: "Something strange" and "Ok now" while you're analyzing activity graphs. Once your DBA come back, you may just point him to your messages. Also, if somebody else will analyze time slices entering in the same perimeter, he will be also warned by your messages!Example 2
Let's say every night you're starting some batches while nobody else working on the system. There are several important parts and you're trying to optimize them or simply check nothing goes wrong...
Let's say your main batch script is looking like:
#!/bin/sh start_batch01 start_batch02 start_batch03 start_batch04 ... start_batch20 exitNow, simply adding log messages:
#!/bin/sh echo "Start Night Batch" >> /var/tmp/log echo "start batch01" >> /var/tmp/log start_batch01 echo "start batch02" >> /var/tmp/log start_batch02 echo "start batch03" >> /var/tmp/log start_batch03 echo "start batch04" >> /var/tmp/log start_batch04 ... echo "start batch20" >> /var/tmp/log start_batch20 echo "End Night Batch" >> /var/tmp/log exitAfter that, every time you'll start new stat collect to monitor this machine, just give "/var/tmp/log" as Client Log File name. In this case every time you'll start your main batch script, every messages sent into /var/tmp/log file will be saved on the same time within collect database. To select a right time interval to analyze workload during, say, batch04 you'll need simply click between right messages: "start batch04" and "start batch05"...
There are two special "Task" tags may be used with log messages:
===> TASK_BEGIN: Unique_Task_Name --Marking begin of task execution
===> TASK_END: Unique_Task_Name --Marking the endThe Unique_Task_Name should be one word up to 40 characters and unique within current collect. For example, for 4 batches started in parallel we can add into script:
( echo "===> TASK_BEGIN: batch1" >> /tmp/log; batch1.sh; echo "===> TASK_END: batch1" >> /tmp/log ) &
( echo "===> TASK_BEGIN: batch2" >> /tmp/log; batch2.sh; echo "===> TASK_END: batch2" >> /tmp/log ) &
( echo "===> TASK_BEGIN: batch3" >> /tmp/log; batch3.sh; echo "===> TASK_END: batch3" >> /tmp/log ) &
( echo "===> TASK_BEGIN: batch4" >> /tmp/log; batch4.sh; echo "===> TASK_END: batch4" >> /tmp/log ) &Once you'll analyze activity graphs later you may with "Show Tasks" button get a short summary about all executed tasks during observed period with their total execution time (if they are finished). It may be very useful in case you're starting a big long jobs in parallel and they are all executed by the same processes, so there is no way to know which one running which job...
<< | [up] | >> |