Exemplo n.º 1
0
static void send_enter_request (ctx_t *ctx, barrier_t *b)
{
    json_object *o = util_json_object_new_object ();

    util_json_object_add_string (o, "name", b->name);
    util_json_object_add_int (o, "count", b->count);
    util_json_object_add_int (o, "nprocs", b->nprocs);
    util_json_object_add_int (o, "hopcount", 1);
    flux_request_send (ctx->h, o, "xbarrier.enter");
    json_object_put (o);
}
Exemplo n.º 2
0
static void send_enter_request (ctx_t *ctx, barrier_t *b)
{
    json_object *o = util_json_object_new_object ();

    util_json_object_add_string (o, "name", b->name);
    util_json_object_add_int (o, "count", b->count);
    util_json_object_add_int (o, "nprocs", b->nprocs);
    util_json_object_add_int (o, "hopcount", 1);
    if (flux_json_request (ctx->h, FLUX_NODEID_UPSTREAM,
                                   FLUX_MATCHTAG_NONE, "barrier.enter", o) < 0)
        flux_log (ctx->h, LOG_ERR, "%s: flux_json_request: %s",
                  __FUNCTION__, strerror (errno));
    json_object_put (o);
}
Exemplo n.º 3
0
static int exit_event_send (flux_t h, const char *name, int errnum)
{
    json_object *o = util_json_object_new_object ();
    int rc;

    util_json_object_add_string (o, "name", name);
    util_json_object_add_int (o, "errnum", errnum);
    rc = flux_event_send (h, o, "xbarrier.exit");
    json_object_put (o);
    return rc;
}
Exemplo n.º 4
0
void util_json_object_add_tstat (json_object *o, const char *name,
                                 tstat_t *ts, double scale)
{
    json_object *to = util_json_object_new_object ();

    util_json_object_add_int (to, "count", tstat_count (ts));
    util_json_object_add_double (to, "min", tstat_min (ts)*scale);
    util_json_object_add_double (to, "mean", tstat_mean (ts)*scale);
    util_json_object_add_double (to, "stddev", tstat_stddev (ts)*scale);
    util_json_object_add_double (to, "max", tstat_max (ts)*scale);

    json_object_object_add (o, name, to);
}