constructor(traceId, agentAttributes = {}, customAttributes) {
    this._traceId = traceId

    this._intrinsicAttributes = new StreamingSpanAttributes()
    this._intrinsicAttributes.addAttribute('traceId', traceId)
    this._intrinsicAttributes.addAttribute('type', 'Span')
    this._intrinsicAttributes.addAttribute('category', CATEGORIES.GENERIC)

    this._customAttributes = new StreamingSpanAttributes(customAttributes)
    const { host, port, ...agentAttrs } = agentAttributes
    this._agentAttributes = new StreamingSpanAttributes(agentAttrs)

    if (host) {
      this.addAgentAttribute('server.address', host)
    }

    if (port) {
      this.addAgentAttribute('server.port', port, true)
    }
  }
@param {*} traceId TraceId for the Span.
@param {object} agentAttributes Initial set of agent attributes.
Must be pre-filtered and truncated.
@param {object} customAttributes Initial set of custom attributes.
Must be pre-filtered and truncated.