Exemplo n.º 1
0
        public static ModelObjects Create(LogJoint.IModel appModel)
        {
            appModel.Postprocessing.TimeSeries.RegisterTimeSeriesTypesAssembly(typeof(TimeSeries.PostprocessorsFactory).Assembly);

            var pluginModel = new PluginModel();

            appModel.PluginsManager.Register <IPluginModel>(pluginModel);

            IPostprocessorsRegistry postprocessorsRegistry = new PostprocessorsInitializer(
                appModel.Postprocessing.Manager,
                appModel.UserDefinedFormatsManager,
                new StateInspector.PostprocessorsFactory(appModel.Postprocessing, pluginModel),
                new TimeSeries.PostprocessorsFactory(appModel.Postprocessing, pluginModel),
                new Correlator.PostprocessorsFactory(appModel, pluginModel),
                new Timeline.PostprocessorsFactory(appModel.Postprocessing, pluginModel),
                new SequenceDiagram.PostprocessorsFactory(appModel.Postprocessing, pluginModel)
                );

            appModel.Preprocessing.ExtensionsRegistry.Register(
                new WebrtcInternalsDump.PreprocessingManagerExtension(appModel.Preprocessing.StepsFactory)
                );
            appModel.Preprocessing.ExtensionsRegistry.Register(
                new ChromeDriver.PreprocessingManagerExtension(appModel.Preprocessing.StepsFactory, postprocessorsRegistry.ChromeDriver.LogProviderFactory, appModel.Postprocessing.TextLogParser)
                );
            appModel.Preprocessing.ExtensionsRegistry.Register(
                new HttpArchive.PreprocessingManagerExtension(appModel.Preprocessing.StepsFactory, postprocessorsRegistry.HttpArchive.LogProviderFactory)
                );

            return(new ModelObjects
            {
                PostprocessorsRegistry = postprocessorsRegistry
            });
        }
Exemplo n.º 2
0
        public static ModelObjects Create(LogJoint.IModel appModel)
        {
            IPostprocessorsRegistry postprocessorsRegistry = new PostprocessorsInitializer(
                appModel.Postprocessing.Manager,
                appModel.UserDefinedFormatsManager,
                new Timeline.PostprocessorsFactory(appModel.Postprocessing)
                );

            var tshark = new Wireshark.Dpml.TShark();
            var wiresharkPreprocessingStepsFactory = new LogJoint.Wireshark.Dpml.PreprocessingStepsFactory(
                appModel.Preprocessing.StepsFactory, tshark
                );

            appModel.Preprocessing.ExtensionsRegistry.Register(
                new LogJoint.Wireshark.Dpml.PreprocessingManagerExtension(wiresharkPreprocessingStepsFactory, tshark)
                );

            return(new ModelObjects
            {
                PostprocessorsRegistry = postprocessorsRegistry,
                TShark = tshark
            });
        }
Exemplo n.º 3
0
        public static ModelObjects Create(LogJoint.IModel appModel)
        {
            var logger = appModel.TraceSourceFactory.CreateTraceSource("App", "sym-plugin");

            logger.Info("Symphony plugin loaded!");

            appModel.Postprocessing.TimeSeries.RegisterTimeSeriesTypesAssembly(typeof(TimeSeries.PostprocessorsFactory).Assembly);

            StateInspector.IPostprocessorsFactory statePostprocessors = new StateInspector.PostprocessorsFactory(
                appModel.TempFilesManager,
                appModel.Postprocessing
                );

            TimeSeries.IPostprocessorsFactory timeSeriesPostprocessors = new TimeSeries.PostprocessorsFactory(
                appModel.Postprocessing
                );

            Timeline.IPostprocessorsFactory timelinePostprocessors = new Timeline.PostprocessorsFactory(
                appModel.TempFilesManager,
                appModel.Postprocessing
                );

            SequenceDiagram.IPostprocessorsFactory sequenceDiagramPostprocessors = new SequenceDiagram.PostprocessorsFactory(
                appModel.Postprocessing
                );

            IPostprocessorsRegistry postprocessorsRegistry = new PostprocessorsInitializer(
                appModel.Postprocessing.Manager,
                appModel.UserDefinedFormatsManager,
                statePostprocessors,
                timeSeriesPostprocessors,
                new Correlator.PostprocessorsFactory(appModel),
                timelinePostprocessors,
                sequenceDiagramPostprocessors
                );

            var chromiumPlugin = appModel.PluginsManager.Get <Chromium.IPluginModel>();

            if (chromiumPlugin != null)
            {
                chromiumPlugin.RegisterSource(statePostprocessors.CreateChromeDebugSourceFactory());
                chromiumPlugin.RegisterSource(timeSeriesPostprocessors.CreateChromeDebugSourceFactory());
                chromiumPlugin.RegisterSource(timelinePostprocessors.CreateChromeDebugLogEventsSourceFactory());
                chromiumPlugin.RegisterSource(timelinePostprocessors.CreateChromeDriverEventsSourceFactory());
                chromiumPlugin.RegisterSource(sequenceDiagramPostprocessors.CreateChromeDebugLogEventsSourceFactory());
            }

            appModel.Preprocessing.ExtensionsRegistry.AddLogDownloaderRule(
                new Uri("https://perzoinc.atlassian.net/secure/attachment/"),
                Preprocessing.LogDownloaderRule.CreateBrowserDownloaderRule(new[] { "https://id.atlassian.com/login" })
                );

            SpringServiceLog.IPreprocessingStepsFactory backendLogsPreprocessingStepsFactory = null;
            if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
            {
                backendLogsPreprocessingStepsFactory = new SpringServiceLog.PreprocessingStepsFactory(
                    appModel.Preprocessing.StepsFactory,
                    appModel.WebViewTools,
                    appModel.ContentCache
                    );
                appModel.Preprocessing.ExtensionsRegistry.Register(new SpringServiceLog.PreprocessingManagerExtension(
                                                                       backendLogsPreprocessingStepsFactory));
            }

            return(new ModelObjects
            {
                PostprocessorsRegistry = postprocessorsRegistry,
                BackendLogsPreprocessingStepsFactory = backendLogsPreprocessingStepsFactory,
                Logger = logger
            });
        }