func mapToMetadataModel()

in input/elasticapm/internal/modeldecoder/v2/decoder.go [466:719]


func mapToMetadataModel(from *metadata, out *modelpb.APMEvent) {
	// Cloud
	if from.Cloud.IsSet() {
		if out.Cloud == nil {
			out.Cloud = &modelpb.Cloud{}
		}
		if from.Cloud.Account.ID.IsSet() {
			out.Cloud.AccountId = from.Cloud.Account.ID.Val
		}
		if from.Cloud.Account.Name.IsSet() {
			out.Cloud.AccountName = from.Cloud.Account.Name.Val
		}
		if from.Cloud.AvailabilityZone.IsSet() {
			out.Cloud.AvailabilityZone = from.Cloud.AvailabilityZone.Val
		}
		if from.Cloud.Instance.ID.IsSet() {
			out.Cloud.InstanceId = from.Cloud.Instance.ID.Val
		}
		if from.Cloud.Instance.Name.IsSet() {
			out.Cloud.InstanceName = from.Cloud.Instance.Name.Val
		}
		if from.Cloud.Machine.Type.IsSet() {
			out.Cloud.MachineType = from.Cloud.Machine.Type.Val
		}
		if from.Cloud.Project.ID.IsSet() {
			out.Cloud.ProjectId = from.Cloud.Project.ID.Val
		}
		if from.Cloud.Project.Name.IsSet() {
			out.Cloud.ProjectName = from.Cloud.Project.Name.Val
		}
		if from.Cloud.Provider.IsSet() {
			out.Cloud.Provider = from.Cloud.Provider.Val
		}
		if from.Cloud.Region.IsSet() {
			out.Cloud.Region = from.Cloud.Region.Val
		}
		if from.Cloud.Service.Name.IsSet() {
			out.Cloud.ServiceName = from.Cloud.Service.Name.Val
		}
	}

	// Labels
	if len(from.Labels) > 0 {
		modeldecoderutil.GlobalLabelsFrom(from.Labels, out)
	}

	// Process
	if len(from.Process.Argv) > 0 {
		if out.Process == nil {
			out.Process = &modelpb.Process{}
		}
		out.Process.Argv = append(out.Process.Argv[:0], from.Process.Argv...)
	}
	if from.Process.Pid.IsSet() {
		if out.Process == nil {
			out.Process = &modelpb.Process{}
		}
		out.Process.Pid = uint32(from.Process.Pid.Val)
	}
	if from.Process.Ppid.IsSet() {
		var pid = uint32(from.Process.Ppid.Val)
		if out.Process == nil {
			out.Process = &modelpb.Process{}
		}
		out.Process.Ppid = pid
	}
	if from.Process.Title.IsSet() {
		if out.Process == nil {
			out.Process = &modelpb.Process{}
		}
		out.Process.Title = from.Process.Title.Val
	}

	// Service
	if from.Service.Agent.IsSet() {
		if out.Agent == nil {
			out.Agent = &modelpb.Agent{}
		}
		if from.Service.Agent.ActivationMethod.IsSet() {
			out.Agent.ActivationMethod = from.Service.Agent.ActivationMethod.Val
		}
		if from.Service.Agent.EphemeralID.IsSet() {
			out.Agent.EphemeralId = from.Service.Agent.EphemeralID.Val
		}
		if from.Service.Agent.Name.IsSet() {
			out.Agent.Name = from.Service.Agent.Name.Val
		}
		if from.Service.Agent.Version.IsSet() {
			out.Agent.Version = from.Service.Agent.Version.Val
		}
	}
	if from.Service.IsSet() {
		if out.Service == nil {
			out.Service = &modelpb.Service{}
		}
		if from.Service.Environment.IsSet() {
			out.Service.Environment = from.Service.Environment.Val
		}
		if from.Service.Framework.IsSet() {
			if out.Service.Framework == nil {
				out.Service.Framework = &modelpb.Framework{}
			}
			if from.Service.Framework.Name.IsSet() {
				out.Service.Framework.Name = from.Service.Framework.Name.Val
			}
			if from.Service.Framework.Version.IsSet() {
				out.Service.Framework.Version = from.Service.Framework.Version.Val
			}
		}
		if from.Service.Language.IsSet() {
			if out.Service.Language == nil {
				out.Service.Language = &modelpb.Language{}
			}
			if from.Service.Language.Name.IsSet() {
				out.Service.Language.Name = from.Service.Language.Name.Val
			}
			if from.Service.Language.Version.IsSet() {
				out.Service.Language.Version = from.Service.Language.Version.Val
			}
		}
		if from.Service.Name.IsSet() {
			out.Service.Name = from.Service.Name.Val
		}
		if from.Service.Node.Name.IsSet() {
			if out.Service.Node == nil {
				out.Service.Node = &modelpb.ServiceNode{}
			}
			out.Service.Node.Name = from.Service.Node.Name.Val
		}
		if from.Service.Runtime.IsSet() {
			if out.Service.Runtime == nil {
				out.Service.Runtime = &modelpb.Runtime{}
			}
			if from.Service.Runtime.Name.IsSet() {
				out.Service.Runtime.Name = from.Service.Runtime.Name.Val
			}
			if from.Service.Runtime.Version.IsSet() {
				out.Service.Runtime.Version = from.Service.Runtime.Version.Val
			}
		}
		if from.Service.Version.IsSet() {
			out.Service.Version = from.Service.Version.Val
		}
	}

	// System
	if from.System.Architecture.IsSet() {
		if out.Host == nil {
			out.Host = &modelpb.Host{}
		}
		out.Host.Architecture = from.System.Architecture.Val
	}
	if from.System.ConfiguredHostname.IsSet() {
		if out.Host == nil {
			out.Host = &modelpb.Host{}
		}
		out.Host.Name = from.System.ConfiguredHostname.Val
	}
	if from.System.Container.ID.IsSet() {
		if out.Container == nil {
			out.Container = &modelpb.Container{}
		}
		out.Container.Id = from.System.Container.ID.Val
	}
	if from.System.DetectedHostname.IsSet() {
		if out.Host == nil {
			out.Host = &modelpb.Host{}
		}
		out.Host.Hostname = from.System.DetectedHostname.Val
	}
	if from.System.HostID.IsSet() {
		if out.Host == nil {
			out.Host = &modelpb.Host{}
		}
		out.Host.Id = from.System.HostID.Val
	}
	if !from.System.ConfiguredHostname.IsSet() && !from.System.DetectedHostname.IsSet() &&
		from.System.DeprecatedHostname.IsSet() {
		if out.Host == nil {
			out.Host = &modelpb.Host{}
		}
		out.Host.Hostname = from.System.DeprecatedHostname.Val
	}
	if from.System.Kubernetes.Namespace.IsSet() {
		if out.Kubernetes == nil {
			out.Kubernetes = &modelpb.Kubernetes{}
		}
		out.Kubernetes.Namespace = from.System.Kubernetes.Namespace.Val
	}
	if from.System.Kubernetes.Node.Name.IsSet() {
		if out.Kubernetes == nil {
			out.Kubernetes = &modelpb.Kubernetes{}
		}
		out.Kubernetes.NodeName = from.System.Kubernetes.Node.Name.Val
	}
	if from.System.Kubernetes.Pod.Name.IsSet() {
		if out.Kubernetes == nil {
			out.Kubernetes = &modelpb.Kubernetes{}
		}
		out.Kubernetes.PodName = from.System.Kubernetes.Pod.Name.Val
	}
	if from.System.Kubernetes.Pod.UID.IsSet() {
		if out.Kubernetes == nil {
			out.Kubernetes = &modelpb.Kubernetes{}
		}
		out.Kubernetes.PodUid = from.System.Kubernetes.Pod.UID.Val
	}
	if from.System.Platform.IsSet() {
		if out.Host == nil {
			out.Host = &modelpb.Host{}
		}
		if out.Host.Os == nil {
			out.Host.Os = &modelpb.OS{}
		}
		out.Host.Os.Platform = from.System.Platform.Val
	}

	// User
	if from.User.Domain.IsSet() {
		if out.User == nil {
			out.User = &modelpb.User{}
		}
		out.User.Domain = from.User.Domain.Val
	}
	if from.User.ID.IsSet() {
		if out.User == nil {
			out.User = &modelpb.User{}
		}
		out.User.Id = fmt.Sprint(from.User.ID.Val)
	}
	if from.User.Email.IsSet() {
		if out.User == nil {
			out.User = &modelpb.User{}
		}
		out.User.Email = from.User.Email.Val
	}
	if from.User.Name.IsSet() {
		if out.User == nil {
			out.User = &modelpb.User{}
		}
		out.User.Name = from.User.Name.Val
	}

	// Network
	if from.Network.Connection.Type.IsSet() {
		if out.Network == nil {
			out.Network = &modelpb.Network{}
		}
		if out.Network.Connection == nil {
			out.Network.Connection = &modelpb.NetworkConnection{}
		}
		out.Network.Connection.Type = from.Network.Connection.Type.Val
	}
}