Esempio n. 1
0
        public static void AddCsvInput <T>(
            this IPlaybackConfiguration playback,
            Func <Record, T> transformation,
            Func <Record, DateTimeOffset> timestampSelector,
            params string[] files)
        {
            if (playback == null)
            {
                throw new ArgumentNullException(nameof(playback));
            }

            if (transformation == null)
            {
                throw new ArgumentNullException(nameof(transformation));
            }

            if (timestampSelector == null)
            {
                throw new ArgumentNullException(nameof(timestampSelector));
            }

            if (files == null)
            {
                throw new ArgumentNullException(nameof(files));
            }

            AddCsvInput(playback, ',', 0, transformation, timestampSelector, files);
        }
Esempio n. 2
0
        public static void AddCsvInput <T>(
            this IPlaybackConfiguration playback,
            char delimiter,
            int numberRecordsToSkip,
            Func <Record, T> transformation,
            Func <Record, DateTimeOffset> timestampSelector,
            params string[] files)
        {
            if (playback == null)
            {
                throw new ArgumentNullException(nameof(playback));
            }

            if (transformation == null)
            {
                throw new ArgumentNullException(nameof(transformation));
            }

            if (timestampSelector == null)
            {
                throw new ArgumentNullException(nameof(timestampSelector));
            }

            if (files == null)
            {
                throw new ArgumentNullException(nameof(files));
            }

            playback.AddInput(
                () => new CsvObservable(delimiter, numberRecordsToSkip)
                .FromFiles(files)
                .Select(item => new Timestamped <T>(transformation(item), timestampSelector(item))),
                typeof(PartitionableTypeMap <T>));
        }
 public static void AddPerfCounterProbe(this IPlaybackConfiguration playback, TimeSpan samplingRate, params string[] counterPaths)
 {
     playback.AddInput(
         () => PerfCounterObservable.FromRealTime(samplingRate, counterPaths),
         typeof(PerfCounterPartitionTypeMap),
         typeof(PerfCounterTypeMap));
 }
Esempio n. 4
0
 public static void AddLogFiles(this IPlaybackConfiguration playback, params string[] files)
 {
     playback.AddInput(
         () => EvtxEnumerable.FromFiles(files).ToObservable(ThreadPoolScheduler.Instance),
         typeof(EvtxManifestTypeMap),
         typeof(EvtxTypeMap));
 }
 public static void AddPerfCounterTraces(this IPlaybackConfiguration playback, params string[] files)
 {
     playback.AddInput(
         () => PerfCounterObservable.FromFile(files[0]),
         typeof(PerfCounterPartitionTypeMap),
         typeof(PerfCounterTypeMap));
 }
Esempio n. 6
0
        public void AddFiles(IPlaybackConfiguration playback, string[] files)
        {
            var filesByExtension = new Dictionary <string, List <string> >();

            foreach (string f in files)
            {
                string extension = Path.GetExtension(f).ToLowerInvariant();

                List <string> sameExtension;
                if (!filesByExtension.TryGetValue(extension, out sameExtension))
                {
                    sameExtension = new List <string>();
                    filesByExtension.Add(extension, sameExtension);
                }

                sameExtension.Add(f);
            }

            foreach (string ext in filesByExtension.Keys)
            {
                MethodInfo addMethod = (from mi in _addFiles
                                        where mi.GetCustomAttribute <FileParserAttribute>().Extensions.Contains(ext)
                                        select mi).FirstOrDefault();

                addMethod.Invoke(null, new object[] { playback, filesByExtension[ext].ToArray() });
            }
        }
Esempio n. 7
0
 public void AddSession(IPlaybackConfiguration playback, string session)
 {
     foreach (MethodInfo addMethod in _addSessions)
     {
         addMethod.Invoke(null, new object[] { playback, session });
     }
 }
 public static void AddEtlFileSequence(this IPlaybackConfiguration playback, params string[] files)
 {
     playback.AddInput(
         () => EtwObservable.FromSequentialFiles(files),
         typeof(EtwManifestTypeMap),
         typeof(EtwClassicTypeMap),
         typeof(EtwTypeMap));
 }
 public static void AddRealTimeSession(this IPlaybackConfiguration playback, string session)
 {
     playback.AddInput(
         () => EtwObservable.FromSession(session),
         typeof(EtwManifestTypeMap),
         typeof(EtwClassicTypeMap),
         typeof(EtwTypeMap));
 }
Esempio n. 10
0
        public static void AddBondEtlFiles(this IPlaybackConfiguration playback, params string[] files)
        {
            if (playback == null)
            {
                throw new ArgumentNullException("playback");
            }

            if (files == null)
            {
                throw new ArgumentNullException("files");
            }

            playback.AddInput(() => BinaryEtwObservable.FromFiles(files), typeof(GeneralPartitionableTypeMap));
        }
Esempio n. 11
0
        public static void AddSequentialBondEtlFiles(this IPlaybackConfiguration playback, params string[] files)
        {
            if (playback == null)
            {
                throw new ArgumentNullException("playback");
            }

            if (files == null)
            {
                throw new ArgumentNullException("files");
            }

            playback.AddInput(() => BinaryEtwObservable.FromSequentialFiles(files), typeof(BondJsonEnvelopeTypeMap));
        }
Esempio n. 12
0
        /// <summary>
        /// Saves the <paramref name="playbackConfig"/> to the file.
        /// </summary>
        /// <param name="playbackConfig">The playback configuration that should be saved.</param>
        public void SavePlaybackConfiguration(IPlaybackConfiguration playbackConfig)
        {
            if (playbackConfig == null)
            {
                throw new ArgumentNullException(nameof(playbackConfig));
            }

            var serializedPlaybackConfig = Serialize(playbackConfig);

            // Write the serialized playback config to the specified file.
            var file = new JsonEntityFile <SerializedPlaybackConfig>(playbackConfig.FilePath, _fileSystem);

            file.WriteEntity(serializedPlaybackConfig);
        }
Esempio n. 13
0
        /// <summary>
        ///     Method for adding input sequence that contains .NET objects to the playbackConfiguration
        /// </summary>
        /// <param name="playbackConfiguration">The playback instance.</param>
        /// <param name="source">The input sequence.</param>
        public static void AddInput(this IPlaybackConfiguration playbackConfiguration, IEnumerable <Timestamped <object> > source)
        {
            if (playbackConfiguration == null)
            {
                throw new ArgumentNullException("playbackConfiguration");
            }

            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            playbackConfiguration
            .AddInput(
                () => source.ToObservable(Scheduler.Default),
                typeof(PartitionableTypeMap));
        }
Esempio n. 14
0
        public static void AddCsvFiles(
            this IPlaybackConfiguration playback,
            params string[] files)
        {
            if (playback == null)
            {
                throw new ArgumentNullException("playback");
            }

            if (files == null)
            {
                throw new ArgumentNullException("files");
            }

            playback.AddInput(
                () => new CsvObservable(',', 1).FromFiles(files),
                typeof(CsvRecordTypeMap));
        }
Esempio n. 15
0
        internal static void AddCsvFiles <T>(
            this IPlaybackConfiguration playback,
            CsvObservable observable,
            params string[] files) where T : SingleTypeMap <string[]>
        {
            if (playback == null)
            {
                throw new ArgumentNullException("playback");
            }

            if (files == null)
            {
                throw new ArgumentNullException("files");
            }

            playback.AddInput(
                () => observable.FromFiles(files),
                typeof(T));
        }
Esempio n. 16
0
        public static void AddCsvFiles <T>(
            this IPlaybackConfiguration playback,
            char delimiter,
            int numberRecordsToSkip,
            params string[] files) where T : SingleTypeMap <string[]>
        {
            if (playback == null)
            {
                throw new ArgumentNullException("playback");
            }

            if (files == null)
            {
                throw new ArgumentNullException("files");
            }

            playback.AddCsvFiles <T>(
                new CsvObservable(delimiter, numberRecordsToSkip),
                files);
        }
Esempio n. 17
0
 public static void AddUlsFiles(this IPlaybackConfiguration playback, params string[] ulsFiles)
 {
     playback.AddInput(
         () => UlsObservable.FromFiles(ulsFiles),
         typeof(UlsTypeMap));
 }
Esempio n. 18
0
 public static void AddXelFiles(this IPlaybackConfiguration playback, params string[] xeFiles)
 {
     playback.AddInput(
         () => XeObservable.FromFiles(xeFiles),
         typeof(XeTypeMap));
 }
 public static IObservable <PerformanceSample> GetPerformanceCounter(this IPlaybackConfiguration playback,
                                                                     string counterPath)
 {
     return(null);
 }
Esempio n. 20
0
 public static void AddXeTarget <TTarget>(this IPlaybackConfiguration playback) where TTarget : XeSubject, new()
 {
     playback.AddInput(
         () => XeObservable.FromTarget <TTarget>(),
         typeof(XeTypeMap));
 }