if (r < 0)
return r;
- // Add 15-minute load average
- DRAW_AREA_WITH_LABEL(args, "load15", COLOR_LOAD15, _("15 Minutes"));
+ // Compute the difference
+ COMPUTE_CDEF(args, "delta5=load5,load15,-");
+ COMPUTE_CDEF(args, "delta1=load1,load5,-");
+
+ // Compute the area where load1/load5 is larger than load5/load15 respectively
+ COMPUTE_CDEF(args, "delta5+=delta5,0,delta5,LIMIT");
+ COMPUTE_CDEF(args, "delta1+=delta1,0,delta1,LIMIT");
+
+ // Draw the area backgrouns
+ DRAW_AREA_BACKGROUND(args, "load15", COLOR_LOAD15);
+ DRAW_AREA_BACKGROUND(args, "delta5+", COLOR_LOAD5, STACK);
+ DRAW_AREA_BACKGROUND(args, "delta1+", COLOR_LOAD1, STACK);
+
+ DRAW_AREA_OUTLINE_WITH_LABEL(args, "load15", COLOR_LOAD15, _("15 Minutes"));
PRINT_FLOAT(args, "load15_cur");
PRINT_FLOAT(args, "load15_avg");
PRINT_FLOAT(args, "load15_min");
PRINT_FLOAT(args, "load15_max", EOL);
- // Add 5-minute load average
- DRAW_AREA_WITH_LABEL(args, "load5", COLOR_LOAD5, _("5 Minutes"));
+ DRAW_AREA_OUTLINE_WITH_LABEL(args, "load5", COLOR_LOAD5, _("5 Minutes"));
PRINT_FLOAT(args, "load5_cur");
PRINT_FLOAT(args, "load5_avg");
PRINT_FLOAT(args, "load5_min");
PRINT_FLOAT(args, "load5_max", EOL);
- // Add 1-minute load average
- DRAW_AREA_WITH_LABEL(args, "load1", COLOR_LOAD1, _("1 Minute"));
+ DRAW_AREA_OUTLINE_WITH_LABEL(args, "load1", COLOR_LOAD1, _("1 Minute"));
PRINT_FLOAT(args, "load1_cur");
PRINT_FLOAT(args, "load1_avg");
PRINT_FLOAT(args, "load1_min");