code: func getTraceId(md metadata.Metadata) string {
  	// try as is
  	if h, ok := md[awsxray.TraceHeader]; ok {
  		return awsxray.GetTraceId(h)
  	}
  
  	// try lower case
  	if h, ok := md[strings.ToLower(awsxray.TraceHeader)]; ok {
  		return awsxray.GetTraceId(h)
  	}
  
  	// generate new one, probably a bad idea...
  	return fmt.Sprintf("%d-%x-%x", 1, time.Now().Unix(), getRandom(12))
  }
docs: // getTraceId returns trace header or generates a new one