Monitoring Tools
Most or all tools mentioned from Google Automation: Trouble Shooting & Debugging Coursera course.
Resources include:
- CPU
- top shows % cpu used; system usage; Total should not be more than the # of cores
- time <call to script or pgm>
- the memory
- memcached
- the disk IO
- topio
- the network connection
- iftop - monitors bandwidth
- the graphics card
- multiple
- ab -n <times> to get the average timing of <times> requests
- code profilers
- profilers are specific to each programming language. So we would use:
- gprof to analyze a C program
- c-Profile module to analyze a Python program.
- pprofile3 for example:
- pprofile3 -f callgrind -o profile.out <call to script or pgm>
- kcachegrind a graphical interface for looking into pprofile 3 output files
- used to see
- which functions are called by our program,
- how many times each function was called and
- how much time are programs spent on each of them.
Where and what is the problem?
- use the tools available in our operating system,
- monitor the usage of each resource,
- and then work out which one is blocking our programs for running faster.
Slowness caused some resource exhausted / overused
- Mac - Activity Monitor
- Windows - Resource Monitor and Performance Monitor
- Linux - top - which
Check out the following links for more information:
Comments
Post a Comment