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; }