func getEventType()

in pkg/approvaltest/sort.go [40:60]


func getEventType(fields json.RawMessage) eventType {
	datastreamType := gjson.GetBytes(fields, `data_stream\.type.0`)
	datastreamDataset := gjson.GetBytes(fields, `data_stream\.dataset.0`)
	switch datastreamType.Str {
	case "logs":
		if datastreamDataset.Str == "apm.error" {
			return errorEventType
		}
		return logEventType
	case "metrics":
		return metricEventType
	case "traces":
		if gjson.GetBytes(fields, `span\.type`).Exists() {
			return spanEventType
		}
		if gjson.GetBytes(fields, `transaction\.type`).Exists() {
			return transactionEventType
		}
	}
	return undefinedEventType
}