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"
}
}