github.com/grafana/pyroscope@v1.18.0/pkg/util/ulid.go (about)

     1  package util
     2  
     3  import (
     4  	"unsafe"
     5  
     6  	"github.com/oklog/ulid/v2"
     7  )
     8  
     9  func ULIDStringUnixNano(s string) int64 {
    10  	var u ulid.ULID
    11  	b := unsafe.Slice(unsafe.StringData(s), len(s))
    12  	if err := u.UnmarshalText(b); err == nil {
    13  		return int64(u.Time()) * 1e6
    14  	}
    15  	return -1
    16  }