From c39b74e17e286c060a835f09ac540d0946439b65 Mon Sep 17 00:00:00 2001 From: Thomas VIAL Date: Fri, 15 Feb 2013 10:00:06 +0100 Subject: [PATCH] Changed label from pid to instance port --- plugins/thin/thin_threads | 18 ++++++++---------- plugins/thin/thins_peak_memory | 19 +++++-------------- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/plugins/thin/thin_threads b/plugins/thin/thin_threads index 1f39b906..086692b0 100755 --- a/plugins/thin/thin_threads +++ b/plugins/thin/thin_threads @@ -41,10 +41,11 @@ module Munin class ThinThreads def run - pids = get_pids() - pids.sort.each do |pid| - res = (get_threads(pid).to_i) - puts "thin_#{pid}.value #{res}" + instances = get_pids() + instances.each do |instance| + pid, port = instance.split("|") + rss = (get_threads(pid).to_i)/1024 + puts "thin_#{port}.value #{rss}" end end @@ -61,13 +62,10 @@ module Munin return res end end - - - # Get pis using lsof (list open files) - # look for listening tcp applications - # that match the name thin + + # fetch all pids that match thin def get_pids - pids = `pgrep thin`.split + pids = `pgrep -f 'thin' -l | awk -F " " '{ if (substr( $4, 10, 4)>=1) print $1"|"substr( $4, 10, 4)}'`.split(/\r?\n/) end def autoconf diff --git a/plugins/thin/thins_peak_memory b/plugins/thin/thins_peak_memory index 4d9b7123..93341991 100755 --- a/plugins/thin/thins_peak_memory +++ b/plugins/thin/thins_peak_memory @@ -38,9 +38,9 @@ module Munin class ThinPeakMemory def run - pids = get_pids() - port_list = Hash.new - pids.sort.each do |pid, port| + instances = get_pids() + instances.each do |instance| + pid, port = instance.split("|") hwm = (pid_hwm(pid).to_i)/1024 puts "thin_#{port}.value #{hwm}" end @@ -61,18 +61,9 @@ module Munin end end - # Get pis using lsof (list open files) - # look for listening tcp applications - # that match the name thin + # fetch all pids that match thin def get_pids - pids_ports = [] - pids = `pgrep thin`.split - pids.each do |t| - port = `lsof -p #{t} | grep LISTEN`.split[8] - port = port.split(":")[1] - pids_ports << [t,port] - end - pids_ports + pids = `pgrep -f 'thin' -l | awk -F " " '{ if (substr( $4, 10, 4)>=1) print $1"|"substr( $4, 10, 4)}'`.split(/\r?\n/) end def autoconf