in event-exporter/sinks/stackdriver/log_entry_factory.go [61:86]
func (f *sdLogEntryFactory) FromEvent(event *corev1.Event) *sd.LogEntry {
payload, err := f.serializeEvent(event)
if err != nil {
glog.Warningf("Failed to encode event %+v: %v", event, err)
}
resource := f.resourceFactory.resourceFromEvent(event)
entry := &sd.LogEntry{
JsonPayload: payload,
Severity: f.detectSeverity(event),
Resource: resource,
}
if resource.Type == k8sPod && f.podLabelCollector != nil {
entry.Labels = f.podLabelCollector.GetLabels(resource.Labels[namespaceName], resource.Labels[podName])
}
if !event.LastTimestamp.IsZero() {
// The event was emitted using k8s.io/api/core/v1 library.
entry.Timestamp = event.LastTimestamp.Format(time.RFC3339Nano)
} else if event.Series != nil && !event.Series.LastObservedTime.IsZero() {
// The event was emitted using k8s.io/api/events/v1 library.
entry.Timestamp = event.Series.LastObservedTime.Format(time.RFC3339Nano)
}
return entry
}