package taskqueuemocker

import (
	crand "crypto/rand"
	"encoding/binary"
	"math/rand"

	"github.com/google/uuid"
	"go.opentelemetry.io/collector/pdata/pcommon"
)

func NewTraceID() pcommon.TraceID {
	return pcommon.TraceID(uuid.New())
}

func NewSpanID() pcommon.SpanID {
	var rngSeed int64
	_ = binary.Read(crand.Reader, binary.LittleEndian, &rngSeed)
	randSource := rand.New(rand.NewSource(rngSeed))

	var sid [8]byte
	randSource.Read(sid[:])
	spanID := pcommon.SpanID(sid)

	return spanID
}
