private void TrackInternal(string key, User user, LdValue data, double?metricValue) { if (user == null || String.IsNullOrEmpty(user.Key)) { _log.Warn("Track called with null user or null user key"); return; } _eventProcessor.RecordCustomEvent(new EventProcessorTypes.CustomEvent { Timestamp = UnixMillisecondTime.Now, User = user, EventKey = key, Data = data, MetricValue = metricValue }); }