func mapToLogModel()

in input/elasticapm/internal/modeldecoder/v2/decoder.go [1525:1656]


func mapToLogModel(from *log, event *modelpb.APMEvent) {
	if from.FAAS.IsSet() {
		if event.Faas == nil {
			event.Faas = &modelpb.Faas{}
		}
		mapToFAASModel(from.FAAS, event.Faas)
	}
	if !from.Timestamp.Val.IsZero() {
		event.Timestamp = modelpb.FromTime(from.Timestamp.Val)
	}
	if from.TraceID.IsSet() {
		event.Trace = &modelpb.Trace{}
		event.Trace.Id = from.TraceID.Val
	}
	if from.TransactionID.IsSet() {
		event.Transaction = &modelpb.Transaction{}
		event.Transaction.Id = from.TransactionID.Val
		event.Span = &modelpb.Span{}
		event.Span.Id = from.TransactionID.Val
	}
	if from.SpanID.IsSet() {
		event.Span = &modelpb.Span{}
		event.Span.Id = from.SpanID.Val
	}
	if from.Message.IsSet() {
		event.Message = from.Message.Val
	}
	if from.Level.IsSet() {
		if event.Log == nil {
			event.Log = &modelpb.Log{}
		}
		event.Log.Level = from.Level.Val
	}
	if from.Logger.IsSet() {
		if event.Log == nil {
			event.Log = &modelpb.Log{}
		}
		event.Log.Logger = from.Logger.Val
	}
	if from.OriginFunction.IsSet() {
		if event.Log == nil {
			event.Log = &modelpb.Log{}
		}
		if event.Log.Origin == nil {
			event.Log.Origin = &modelpb.LogOrigin{}
		}
		event.Log.Origin.FunctionName = from.OriginFunction.Val
	}
	if from.OriginFileLine.IsSet() {
		if event.Log == nil {
			event.Log = &modelpb.Log{}
		}
		if event.Log.Origin == nil {
			event.Log.Origin = &modelpb.LogOrigin{}
		}
		if event.Log.Origin.File == nil {
			event.Log.Origin.File = &modelpb.LogOriginFile{}
		}
		event.Log.Origin.File.Line = uint32(from.OriginFileLine.Val)
	}
	if from.OriginFileName.IsSet() {
		if event.Log == nil {
			event.Log = &modelpb.Log{}
		}
		if event.Log.Origin == nil {
			event.Log.Origin = &modelpb.LogOrigin{}
		}
		if event.Log.Origin.File == nil {
			event.Log.Origin.File = &modelpb.LogOriginFile{}
		}
		event.Log.Origin.File.Name = from.OriginFileName.Val
	}
	if from.ErrorType.IsSet() ||
		from.ErrorMessage.IsSet() ||
		from.ErrorStacktrace.IsSet() {
		event.Error = &modelpb.Error{}
		event.Error.Message = from.ErrorMessage.Val
		event.Error.Type = from.ErrorType.Val
		event.Error.StackTrace = from.ErrorStacktrace.Val
	}
	if from.ServiceName.IsSet() {
		if event.Service == nil {
			event.Service = &modelpb.Service{}
		}
		event.Service.Name = from.ServiceName.Val
	}
	if from.ServiceVersion.IsSet() {
		if event.Service == nil {
			event.Service = &modelpb.Service{}
		}
		event.Service.Version = from.ServiceVersion.Val
	}
	if from.ServiceEnvironment.IsSet() {
		if event.Service == nil {
			event.Service = &modelpb.Service{}
		}
		event.Service.Environment = from.ServiceEnvironment.Val
	}
	if from.ServiceNodeName.IsSet() {
		if event.Service == nil {
			event.Service = &modelpb.Service{}
		}
		if event.Service.Node == nil {
			event.Service.Node = &modelpb.ServiceNode{}
		}
		event.Service.Node.Name = from.ServiceNodeName.Val
	}
	if from.ProcessThreadName.IsSet() {
		if event.Process == nil {
			event.Process = &modelpb.Process{}
		}
		if event.Process.Thread == nil {
			event.Process.Thread = &modelpb.ProcessThread{}
		}
		event.Process.Thread.Name = from.ProcessThreadName.Val
	}
	if from.EventDataset.IsSet() {
		if event.Event == nil {
			event.Event = &modelpb.Event{}
		}
		event.Event.Dataset = from.EventDataset.Val
	}
	if len(from.Labels) > 0 {
		modeldecoderutil.MergeLabels(from.Labels, event)
	}
	if event.Error == nil {
		if event.Event == nil {
			event.Event = &modelpb.Event{}
		}
		event.Event.Kind = "event"
	}
}