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