mirror of
https://github.com/emqx/neuron.git
synced 2026-10-20 16:05:10 +08:00
Merge pull request #2472 from ZhouBox/v2.11
trace:reduce num when app stopped
This commit is contained in:
@@ -42,6 +42,8 @@ neu_otel_trace_ctx neu_otel_find_trace2(void *req_ctx);
|
||||
void neu_otel_trace_set_final(neu_otel_trace_ctx ctx);
|
||||
|
||||
void neu_otel_trace_set_expected_span_num(neu_otel_trace_ctx ctx, uint32_t num);
|
||||
void neu_otel_trace_reduce_expected_span_num(neu_otel_trace_ctx ctx,
|
||||
uint32_t num);
|
||||
uint8_t *neu_otel_get_trace_id(neu_otel_trace_ctx ctx);
|
||||
|
||||
neu_otel_trace_ctx neu_otel_find_trace_by_id(const char *trace_id);
|
||||
|
||||
@@ -124,6 +124,13 @@ static void *adapter_consumer(void *arg)
|
||||
if (adapter->state == NEU_NODE_RUNNING_STATE_RUNNING) {
|
||||
adapter->module->intf_funs->request(
|
||||
adapter->plugin, (neu_reqresp_head_t *) header, &header[1]);
|
||||
} else {
|
||||
if (neu_otel_control_is_started() && header->ctx) {
|
||||
neu_otel_trace_ctx trace = neu_otel_find_trace(header->ctx);
|
||||
if (trace) {
|
||||
neu_otel_trace_reduce_expected_span_num(trace, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
neu_trans_data_free((neu_reqresp_trans_data_t *) &header[1]);
|
||||
|
||||
@@ -540,6 +540,16 @@ void neu_otel_trace_set_expected_span_num(neu_otel_trace_ctx ctx, uint32_t num)
|
||||
trace_ctx->expected_span_num = num;
|
||||
}
|
||||
|
||||
void neu_otel_trace_reduce_expected_span_num(neu_otel_trace_ctx ctx,
|
||||
uint32_t num)
|
||||
{
|
||||
trace_ctx_t *trace_ctx = (trace_ctx_t *) ctx;
|
||||
trace_ctx->expected_span_num -= num;
|
||||
if (trace_ctx->expected_span_num <= 0) {
|
||||
trace_ctx->final = true;
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t *neu_otel_get_trace_id(neu_otel_trace_ctx ctx)
|
||||
{
|
||||
trace_ctx_t *trace_ctx = (trace_ctx_t *) ctx;
|
||||
|
||||
Reference in New Issue
Block a user