{"hostname",low_cardinality_string,"The hostname where this span was captured."},
{"trace_id",std::make_shared<DataTypeUUID>(),"ID of the trace for executed query."},
{"span_id",std::make_shared<DataTypeUInt64>(),"ID of the trace span."},
{"parent_span_id",std::make_shared<DataTypeUInt64>(),"ID of the parent trace span."},
{"operation_name",low_cardinality_string,"The name of the operation."},
{"kind",std::move(span_kind_type),"The SpanKind of the span. "
"INTERNAL — Indicates that the span represents an internal operation within an application. "
"SERVER — Indicates that the span covers server-side handling of a synchronous RPC or other remote request. "
"CLIENT — Indicates that the span describes a request to some remote service. "
"PRODUCER — Indicates that the span describes the initiators of an asynchronous request. This parent span will often end before the corresponding child CONSUMER span, possibly even before the child span starts. "
"CONSUMER - Indicates that the span describes a child of an asynchronous PRODUCER request."},
{"start_time_us",std::make_shared<DataTypeUInt64>(),"The start time of the trace span (in microseconds)."},
{"finish_time_us",std::make_shared<DataTypeUInt64>(),"The finish time of the trace span (in microseconds)."},
{"finish_date",std::make_shared<DataTypeDate>(),"The finish date of the trace span."},
{"attribute",std::make_shared<DataTypeMap>(low_cardinality_string,std::make_shared<DataTypeString>()),"Attribute depending on the trace span. They are filled in according to the recommendations in the OpenTelemetry standard."},