generateDatadogTracingData() {
		const traces = this.queue.reduce((store, span) => {
			const traceID = span.traceID;

			const ddSpan = {
				trace_id: this.convertIDToNumber(traceID),
				span_id: this.convertIDToNumber(span.id),
				parent_id: this.convertIDToNumber(span.parentID),
				name: span.name,
				resource: span.tags.action ? span.tags.action.name : null,
				service: span.service ? span.service.fullName : null,
				type: "custom",
				start: Math.round(span.startTime * 1e6),
				duration: Math.round(span.duration * 1e6),
				error: span.error ? 1 : 0,
				meta: Object.assign(
					{},
					this.defaultTags || {},
					this.flattenTags(span.tags, true),
					this.flattenTags(this.errorToObject(span.error), true, "error") || {}
				)
			};

			if (!store[traceID]) store[traceID] = [ddSpan];
			else store[traceID].push(ddSpan);

			return store;
		}, {});

		return Object.values(traces);
	}
Generate tracing data for Datadog

@returns {Array<Object>}
@memberof DatadogTraceExporter