Ticket #1507: mod_status.1.5.patch

File mod_status.1.5.patch, 1.3 kB (added by cyberline@…, 7 months ago)
  • src/mod_status.c

    old new  
    569569        double avg; 
    570570        time_t ts; 
    571571        size_t j; 
     572        unsigned int k; 
     573        unsigned int l; 
    572574 
    573575        b = chunkqueue_get_append_buffer(con->send); 
    574576 
     
    595597        buffer_append_long(b, srv->conns->used); 
    596598        BUFFER_APPEND_STRING_CONST(b, "\n"); 
    597599 
     600        BUFFER_APPEND_STRING_CONST(b, "IdleServers: "); 
     601        buffer_append_long(b, srv->conns->size - srv->conns->used); 
     602        BUFFER_APPEND_STRING_CONST(b, "\n"); 
     603 
    598604        /* output traffic */ 
    599605        BUFFER_APPEND_STRING_CONST(b, "Traffic: "); 
    600606        avg = p->abs_traffic_out / (srv->cur_ts - srv->startup_ts); 
     
    610616        buffer_append_long(b, avg); 
    611617        BUFFER_APPEND_STRING_CONST(b, "\n"); 
    612618 
     619        /* output scoreboard */ 
     620        BUFFER_APPEND_STRING_CONST(b, "Scoreboard: "); 
     621        for (k = 0; k < srv->conns->used; k++) { 
     622                connection *c = srv->conns->ptr[k]; 
     623                const char *state = connection_get_short_state(c->state); 
     624                buffer_append_string_len(b, state, 1); 
     625        } 
     626        for (l = 0; l < srv->conns->size - srv->conns->used; l++) { 
     627                BUFFER_APPEND_STRING_CONST(b, "_"); 
     628        } 
     629        BUFFER_APPEND_STRING_CONST(b, "\n"); 
     630 
    613631        /* set text/plain output */ 
    614632 
    615633        response_header_overwrite(srv, con, CONST_STR_LEN("Content-Type"), CONST_STR_LEN("text/plain"));