Esempio n. 1
0
int VertexServer_api_collectGarbage(VertexServer *self)
{
	time_t t1 = time(NULL);
	long savedCount = PDB_collectGarbage(self->pdb);
	double dt = difftime(time(NULL), t1);
	
	yajl_gen_map_open(self->yajl);
	yajl_gen_cstring(self->yajl, "saved");
	yajl_gen_integer(self->yajl, savedCount);
	yajl_gen_cstring(self->yajl, "seconds");
	yajl_gen_integer(self->yajl, (int)dt);
	yajl_gen_map_close(self->yajl);
	
	Datum_appendYajl_(self->result, self->yajl);
	Log_Printf_("gc: %s\n", Datum_data(self->result));

	return 0;
}
static
ngx_int_t ngx_http_metrics_gen_status_counters(yajl_gen g)
{
    YAJL_CHECK(yajl_gen_cstring(g, "status_codes"));

    YAJL_CHECK(yajl_gen_map_open(g));

    ngx_int_t i = 0;
    char buf[4];

    for (i = 0; i < NGX_HTTP_NUM_STATUS_CODES; i++) {
      if (ngx_http_metrics_status_codes[i] > 0) {
        snprintf(buf, 4, "%ld", NGX_HTTP_OK + i);
        YAJL_CHECK(yajl_gen_cstring(g, buf));
        YAJL_CHECK(yajl_gen_integer(g, ngx_http_metrics_status_codes[i]));
      }
    }

    YAJL_CHECK(yajl_gen_map_close(g));

    return NGX_OK;
}
static
ngx_int_t ngx_http_metrics_gen_stub_status(yajl_gen g)
{
    YAJL_CHECK(yajl_gen_cstring(g, "requests"));
    YAJL_CHECK(yajl_gen_integer(g, *ngx_stat_requests));

    YAJL_CHECK(yajl_gen_cstring(g, "accepted"));
    YAJL_CHECK(yajl_gen_integer(g, *ngx_stat_accepted));

    YAJL_CHECK(yajl_gen_cstring(g, "handled"));
    YAJL_CHECK(yajl_gen_integer(g, *ngx_stat_handled));

    YAJL_CHECK(yajl_gen_cstring(g, "connections"));
    YAJL_CHECK(yajl_gen_integer(g, *ngx_stat_active));

    YAJL_CHECK(yajl_gen_cstring(g, "reading"));
    YAJL_CHECK(yajl_gen_integer(g, *ngx_stat_reading));

    YAJL_CHECK(yajl_gen_cstring(g, "writing"));
    YAJL_CHECK(yajl_gen_integer(g, *ngx_stat_writing));

    return NGX_OK;
}