Hi Jesse, Here it is. Thank you so much!
Em 05-05-2010 19:33, Jesse Becker escreveu: Could you please re-base this patch off of trunk? Once done, I'll test and commit it. |
Index: libmetrics/linux/metrics.c =================================================================== --- libmetrics/linux/metrics.c (revisão 2294) +++ libmetrics/linux/metrics.c (cópia de trabalho) @@ -23,6 +23,8 @@ #define OSNAME "Linux" #define OSNAME_LEN strlen(OSNAME) +#define JT unsigned long long + /* /proc/net/dev hash table stuff */ typedef struct net_dev_stats net_dev_stats; struct net_dev_stats { @@ -593,11 +595,11 @@ /* * A helper function to return the total number of cpu jiffies */ -unsigned long +JT total_jiffies_func ( void ) { char *p; - unsigned long user_jiffies, nice_jiffies, system_jiffies, idle_jiffies, + JT user_jiffies, nice_jiffies, system_jiffies, idle_jiffies, wio_jiffies, irq_jiffies, sirq_jiffies; p = update_file(&proc_stat); @@ -632,8 +634,8 @@ char *p; static g_val_t val; static struct timeval stamp={0, 0}; - static double last_user_jiffies, user_jiffies, - last_total_jiffies, total_jiffies, diff; + static JT last_user_jiffies, user_jiffies, + last_total_jiffies, total_jiffies, diff; p = update_file(&proc_stat); if((proc_stat.last_read.tv_sec != stamp.tv_sec) && @@ -647,7 +649,7 @@ diff = user_jiffies - last_user_jiffies; if ( diff ) - val.f = (diff/(total_jiffies - last_total_jiffies)) * 100; + val.f = ((double)diff/(double)(total_jiffies - last_total_jiffies)) * 100.0; else val.f = 0.0; @@ -664,8 +666,8 @@ char *p; static g_val_t val; static struct timeval stamp={0, 0}; - static double last_nice_jiffies, nice_jiffies, - last_total_jiffies, total_jiffies, diff; + static JT last_nice_jiffies, nice_jiffies, + last_total_jiffies, total_jiffies, diff; p = update_file(&proc_stat); if((proc_stat.last_read.tv_sec != stamp.tv_sec) && @@ -680,7 +682,7 @@ diff = (nice_jiffies - last_nice_jiffies); if ( diff ) - val.f = (diff/(total_jiffies - last_total_jiffies)) * 100; + val.f = ((double)diff/(double)(total_jiffies - last_total_jiffies)) * 100.0; else val.f = 0.0; @@ -697,8 +699,8 @@ char *p; static g_val_t val; static struct timeval stamp={0, 0}; - static double last_system_jiffies, system_jiffies, - last_total_jiffies, total_jiffies, diff; + static JT last_system_jiffies, system_jiffies, + last_total_jiffies, total_jiffies, diff; p = update_file(&proc_stat); if((proc_stat.last_read.tv_sec != stamp.tv_sec) && @@ -722,7 +724,7 @@ diff = system_jiffies - last_system_jiffies; if ( diff ) - val.f = (diff/(total_jiffies - last_total_jiffies)) * 100; + val.f = ((double)diff/(double)(total_jiffies - last_total_jiffies)) * 100.0; else val.f = 0.0; @@ -739,8 +741,8 @@ char *p; static g_val_t val; static struct timeval stamp={0, 0}; - static double last_idle_jiffies, idle_jiffies, - last_total_jiffies, total_jiffies, diff; + static JT last_idle_jiffies, idle_jiffies, + last_total_jiffies, total_jiffies, diff; p = update_file(&proc_stat); if((proc_stat.last_read.tv_sec != stamp.tv_sec) && @@ -757,7 +759,7 @@ diff = idle_jiffies - last_idle_jiffies; if ( diff ) - val.f = (diff/(total_jiffies - last_total_jiffies)) * 100; + val.f = ((double)diff/(double)(total_jiffies - last_total_jiffies)) * 100.0; else val.f = 0.0; @@ -774,7 +776,7 @@ { char *p; g_val_t val; - double idle_jiffies, total_jiffies; + JT idle_jiffies, total_jiffies; p = update_file(&proc_stat); @@ -782,10 +784,10 @@ p = skip_token(p); p = skip_token(p); p = skip_token(p); - idle_jiffies = strtod( p , (char **)NULL ); + idle_jiffies = (JT) strtod( p , (char **)NULL ); total_jiffies = total_jiffies_func(); - val.f = (idle_jiffies/total_jiffies) * 100; + val.f = ((double)(idle_jiffies/total_jiffies)) * 100.0; return val; } @@ -795,8 +797,8 @@ char *p; static g_val_t val; static struct timeval stamp={0, 0}; - static double last_wio_jiffies, wio_jiffies, - last_total_jiffies, total_jiffies, diff; + static JT last_wio_jiffies, wio_jiffies, + last_total_jiffies, total_jiffies, diff; if (num_cpustates == NUM_CPUSTATES_24X) { val.f = 0.0; @@ -819,7 +821,7 @@ diff = wio_jiffies - last_wio_jiffies; if ( diff ) - val.f = (diff/(total_jiffies - last_total_jiffies)) * 100; + val.f = ((double)diff/(double)(total_jiffies - last_total_jiffies)) * 100.0; else val.f = 0.0; @@ -837,8 +839,8 @@ char *p; static g_val_t val; static struct timeval stamp={0, 0}; - static double last_intr_jiffies, intr_jiffies, - last_total_jiffies, total_jiffies, diff; + static JT last_intr_jiffies, intr_jiffies, + last_total_jiffies, total_jiffies, diff; if (num_cpustates == NUM_CPUSTATES_24X) { val.f = 0.; @@ -862,7 +864,7 @@ diff = intr_jiffies - last_intr_jiffies; if ( diff ) - val.f = (diff/(total_jiffies - last_total_jiffies)) * 100; + val.f = ((double)diff/(double)(total_jiffies - last_total_jiffies)) * 100.0; else val.f = 0.0; @@ -880,8 +882,8 @@ char *p; static g_val_t val; static struct timeval stamp={0, 0}; - static double last_sintr_jiffies, sintr_jiffies, - last_total_jiffies, total_jiffies, diff; + static JT last_sintr_jiffies, sintr_jiffies, + last_total_jiffies, total_jiffies, diff; if (num_cpustates == NUM_CPUSTATES_24X) { val.f = 0.; @@ -906,7 +908,7 @@ diff = sintr_jiffies - last_sintr_jiffies; if ( diff ) - val.f = (diff/(total_jiffies - last_total_jiffies)) * 100; + val.f = ((double)diff/(double)(total_jiffies - last_total_jiffies)) * 100.0; else val.f = 0.0;
------------------------------------------------------------------------------
_______________________________________________ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers