Skip to main content

More trickery with gnuplot dumb terminal

In my post "Plotting memory usage on console" the chart doesn't pan the data.
Now, using a named pipe, the effect got a little bit nicer.
First, we have to run the memUsage.sh script to get a file filled with memory usage info:
./memUsage.sh > memUsage.dat &
Then we have to create a named pipe:
mkfifo pipe
Now we have to run another process to tail only the last 64 lines from the memUsage.dat
while [ 1 ]; do tail -64 memUsage.dat> pipe; done &
And now we just have to plot the data from the pipe:
watch -n 1 'gnuplot -e "set terminal dumb;p \"pipe\" with lines"'
And that is it!

Comments

  1. An even better effect can be achieved using:
    "unset border"
    "unset xtics"
    "unset ytics"
    and plotting with notitle
    as follows
    watch -n 1 'gnuplot -e "set terminal dumb;unset border; unset xtics;unset ytics;p \"pipe\" with impulses notitle"'

    ReplyDelete
  2. No need to run the second process! You can simply run gnuplot and pass the following file "< tail -64 memUsage.dat"

    ReplyDelete

Post a Comment

Popular posts from this blog

uSleep on windows (win32)

I am facing a terrible issue regarding timing on windows. Googling arround, I've found those infos: Using QueryPerformanceCounter and QueryPerformanceFrequency APIs in Dev-C++ ( http://yeohhs.blogspot.com/2005/08/using -queryperformancecounter-and_13.html ) QueryPerformanceCounter() vs. GetTickCount() http://www.delphifaq.com/faq/delphi_windows_API/f345.shtml How to time a block of code http://www.cryer.co.uk/brian/delphi/howto_time_code.htm And Results of some quick research on timing in Win32 http://www.geisswerks.com/ryan/FAQS/timing.html With that I'm trying to write something like a uSleep function for windows: # include<windows.h> void uSleep ( int waitTime){ __int64 time1 = 0, time2 = 0, sysFreq = 0; QueryPerformanceCounter((LARGE_INTEGER *)&time1); QueryPerformanceFrequency((LARGE_INTEGER *)&freq); do { QueryPerformanceCounter((LARGE_INTEGER *)&time2); // }while((((time2-time1)*1.0)/sysFreq)<waitTime); } while ( (time2-time1) <wai

Free Open Source Parametric 3D CAD on Linux

The folks looking for a free and open source option for a Parametric 3D CAD have theirs choice now. HeeksCAD is a parametric 3D CAD, based on the open source modeler OpenCascade . Actually it is for Linux and Windwos. It uses WX Widgets as its widget set. The HeeksCAD site lacks on screenshots, as long as they are keeping a good work on the software... (let the community provides the screenshots ;-) Googling a little we can found a good discussion in a forum at http://www.linuxgraphic.org/forums/viewtopic.php?f=41&t=5728 (it is in French) From the forum discussion above, I had extracted the following shots: I had already used the Salome (another OpenCascade based tool), but the CAD it provides where more for geometry design for finite element pre and post processing. Diferent from Salome, HeeksCAD has much more functionalities from CADs like Pro/Engineer and SolidWorks . I have around 8 years of experience in P ro/Engineer and 5 years using SolidWorks , I

How many times each user has logged in

With this line, we can check how many times our users had logged in with SSH: cat /etc/passwd | cut -d ":" -f 1 | sort | uniq | while read line ; do echo -n $line" "; zgrep "user $line" /var/log/auth.log* | grep -i ssh | grep -vi fail | grep -vi invalid | wc -l; done | sort -n -r -k 2 On my system, the only user which has logged in was my own user: filipi 52 And for non SSH logins: cat /etc/passwd | cut -d ":" -f 1 | sort | uniq | while read line ; do echo -n $line" "; zgrep "user $line" /var/log/auth.log* | grep -vi fail | grep -vi invalid | wc -l; done | sort -n -r -k 2