int blkin_init_new_trace(struct blkin_trace *new_trace, const char *service, const struct blkin_endpoint *endpoint) { int res; if (!new_trace) { res = -EINVAL; goto OUT; } new_trace->name = service; new_trace->info.trace_id = random_big(); new_trace->info.span_id = random_big(); new_trace->info.parent_span_id = 0; new_trace->endpoint = endpoint; res = 0; OUT: return res; }
int _blkin_init_child_info(struct blkin_trace *child, struct blkin_trace_info *parent_info, struct blkin_endpoint *endpoint, char *child_name) { int res; if ((!child) || (!parent_info) || (!endpoint)){ res = -EINVAL; goto OUT; } child->info.trace_id = parent_info->trace_id; child->info.span_id = random_big(); child->info.parent_span_id = parent_info->span_id; child->name = child_name; child->trace_endpoint = endpoint; res = 0; OUT: return res; }