示例#1
0
static mtev_hook_return_t
zipkin_fq_publish(void *closure, int64_t traceid, int64_t spanid,
                  unsigned char *buf, size_t len) {
  if(N_L_S_ON(debugls)) {
    int blen;
    char *b64buf;
    b64buf = malloc(len*2);
    blen = mtev_b64_encode(buf,len,b64buf,len*3);
    b64buf[blen] = '\0';
    mtevL(debugls,"%s\n", b64buf);
    free(b64buf);
  }
  if(zc_client != NULL) {
    char buff[128];
    fq_msg *msg;
    snprintf(buff, sizeof(buff), "%s%llx", zc_routing_prefix, (long long int)traceid);
    msg = fq_msg_alloc(buf, len);
    fq_msg_id(msg,NULL);
    fq_msg_route(msg, buff, strlen(buff));
    fq_msg_exchange(msg, zc_exchange, strlen(zc_exchange));
    fq_client_publish(zc_client, msg);
    fq_msg_free(msg);
  }
  return MTEV_HOOK_CONTINUE;
}
示例#2
0
void
mtev_main_disable_log(const char *name) {
    mtev_log_stream_t baked;
    if(disable_logs_cnt >= MAX_CLI_LOGS) return;
    if((baked = mtev_baked_log(name)) != NULL && !N_L_S_ON(baked))
        mtev_log_stream_set_flags(baked, mtev_log_stream_get_flags(baked) & ~MTEV_LOG_STREAM_ENABLED);
    disable_logs[disable_logs_cnt++] = strdup(name);
}
示例#3
0
void cli_log_switches() {
    int i;
    mtev_log_stream_t ls;
    for(i=0; i<enable_logs_cnt; i++) {
        ls = mtev_log_stream_find(enable_logs[i]);
        if(!ls) ls = mtev_baked_log(enable_logs[i]);
        if(!ls) mtevL(mtev_error, "No such log: '%s'\n", enable_logs[i]);
        if(ls && !N_L_S_ON(ls)) {
            mtevL(mtev_notice, "Enabling %s\n", enable_logs[i]);
            mtev_log_stream_set_flags(ls, mtev_log_stream_get_flags(ls) | MTEV_LOG_STREAM_ENABLED);
        }
    }
    for(i=0; i<disable_logs_cnt; i++) {
        ls = mtev_log_stream_find(disable_logs[i]);
        if(!ls) ls = mtev_baked_log(disable_logs[i]);
        if(!ls) mtevL(mtev_error, "No such log: '%s'\n", enable_logs[i]);
        if(ls && N_L_S_ON(ls)) {
            mtevL(mtev_notice, "Disabling %s\n", disable_logs[i]);
            mtev_log_stream_set_flags(ls, mtev_log_stream_get_flags(ls) & ~MTEV_LOG_STREAM_ENABLED);
        }
    }
}