Пример #1
0
/* Write to a buffer the average of the average time served meta data
 * object. */
static void
pmeta_data_avgts (GJSON * json, GModule module, int sp)
{
  int isp = 0;
  uint64_t avg = 0, hits = 0, cumts = 0;

  if (!conf.serve_usecs)
    return;

  /* use tabs to prettify output */
  if (conf.json_pretty_print)
    isp = sp + 1;

  cumts = ht_get_meta_data (module, "cumts");
  hits = ht_get_meta_data (module, "hits");
  if (hits > 0)
    avg = cumts / hits;

  popen_obj_attr (json, "avgts", sp);
  pskeyu64val (json, "avg", avg, isp, 1);
  pclose_obj (json, sp, 0);
}
Пример #2
0
/* Output the average of the average time served meta data object.
 *
 * If no metadata found, it simply returns.
 * On success, meta data is outputted. */
static void
pmeta_data_avgts (FILE * fp, GModule module, int sp)
{
  int isp = 0;
  uint64_t avg = 0, hits = 0, cumts = 0;

  if (!conf.serve_usecs)
    return;

  /* use tabs to prettify output */
  if (conf.json_pretty_print)
    isp = sp + 1;

  cumts = ht_get_meta_data (module, "cumts");
  hits = ht_get_meta_data (module, "hits");
  if (hits > 0)
    avg = cumts / hits;

  pjson (fp, "%.*s\"avgts\": {%.*s", sp, TAB, nlines, NL);
  pjson (fp, "%.*s\"avg\": %lld%.*s", isp, TAB, (long long) avg, nlines, NL);
  pjson (fp, "%.*s},%.*s", sp, TAB, nlines, NL);
}
Пример #3
0
/* Output the visitors meta data object.
 *
 * If no metadata found, it simply returns.
 * On success, meta data is outputted. */
static void
pmeta_data_visitors (FILE * fp, GModule module, int sp)
{
  int isp = 0;
  uint64_t count = ht_get_meta_data (module, "visitors");

  /* use tabs to prettify output */
  if (conf.json_pretty_print)
    isp = sp + 1;

  pjson (fp, "%.*s\"visitors\": {%.*s", sp, TAB, nlines, NL);
  pjson (fp, "%.*s\"count\": %lld%.*s", isp, TAB, (long long) count, nlines,
         NL);
  pjson (fp, "%.*s},%.*s", sp, TAB, nlines, NL);
}
Пример #4
0
/* Write to a buffer the visitors meta data object. */
static void
pmeta_data_visitors (GJSON * json, GModule module, int sp)
{
  int isp = 0;
  int max = 0, min = 0;

  ht_get_visitors_min_max (module, &min, &max);

  /* use tabs to prettify output */
  if (conf.json_pretty_print)
    isp = sp + 1;

  popen_obj_attr (json, "visitors", sp);
  pskeyu64val (json, "count", ht_get_meta_data (module, "visitors"), isp, 0);
  pskeyival (json, "max", max, isp, 0);
  pskeyival (json, "min", min, isp, 1);
  pclose_obj (json, sp, 0);
}
Пример #5
0
/* Output the maximum time served meta data object.
 *
 * If no metadata found, it simply returns.
 * On success, meta data is outputted. */
static void
pmeta_data_maxts (FILE * fp, GModule module, int sp)
{
  int isp = 0;
  uint64_t count = 0;

  if (!conf.serve_usecs)
    return;

  /* use tabs to prettify output */
  if (conf.json_pretty_print)
    isp = sp + 1;

  count = ht_get_meta_data (module, "maxts");
  pjson (fp, "%.*s\"maxts\": {%.*s", sp, TAB, nlines, NL);
  pjson (fp, "%.*s\"count\": %lld%.*s", isp, TAB, (long long) count, nlines,
         NL);
  pjson (fp, "%.*s},%.*s", sp, TAB, nlines, NL);
}
Пример #6
0
/* Write to a buffer the maximum time served meta data object. */
static void
pmeta_data_maxts (GJSON * json, GModule module, int sp)
{
  int isp = 0;
  uint64_t max = 0, min = 0;

  if (!conf.serve_usecs)
    return;

  ht_get_maxts_min_max (module, &min, &max);

  /* use tabs to prettify output */
  if (conf.json_pretty_print)
    isp = sp + 1;

  popen_obj_attr (json, "maxts", sp);
  pskeyu64val (json, "count", ht_get_meta_data (module, "maxts"), isp, 0);
  pskeyu64val (json, "max", max, isp, 0);
  pskeyu64val (json, "min", min, isp, 1);
  pclose_obj (json, sp, 0);
}