Пример #1
0
 public void loadTracking(string filename)
 {
     //Simple script for loading the tracking data
     using (StreamReader sr = new StreamReader(filename))
     {
         trackingPoints = JsonUtility.FromJson <TrackingContainer>(sr.ReadToEnd());
     }
 }
Пример #2
0
 public void loadTracking(string filename)
 {
     //Simple function to load tracking file
     using (StreamReader sr = new StreamReader(filename))
     {
         trackingPoints = JsonUtility.FromJson <TrackingContainer>(sr.ReadToEnd());
     }
 }
Пример #3
0
 public DiagnosticsHandler(RuntimeConfiguration runtimeConfiguration,
                           Configuration configuration, Metrics metrics, IContainer container,
                           ITypeCache typeCache)
 {
     _runtimeConfiguration = runtimeConfiguration;
     _configuration        = configuration;
     _metrics   = metrics;
     _typeCache = typeCache;
     _container = container as TrackingContainer;
 }
Пример #4
0
        public void Should_pretty_print_exception()
        {
            var container = new TrackingContainer(new Container(), new TypeCache());

            container.Register(new object());
            var exception = GenerateException();

            var response = exception.GetDebugResponse(_requestMessage);

            response.ShouldContain(_requestMessage.RawHeaders());
            response.ShouldContain(_requestMessage.RequestUri.ToString());
            response.ShouldContain(exception.Message);
            response.ShouldContainAll(exception.StackTrace.Split(" in ").Trim());
        }
Пример #5
0
    public void saveTracking(string filename, bool clear = true)
    {
        //Save tracking data to json file
        string data        = JsonUtility.ToJson(trackingPoints, true);
        string destination = Application.persistentDataPath + filename;

        Debug.Log("Saving to: " + destination);
        using (StreamWriter writer = new StreamWriter(destination, false))
        {
            writer.Write(data);
        }
        if (clear)
        {
            trackingPoints = new TrackingContainer();
        }
    }
Пример #6
0
        private static void Initialize(HttpConfiguration httpConfiguration,
                                       Action <ConfigurationDsl> configure, Assembly defaultAssembly)
        {
            try
            {
                var metrics = new Metrics();
                metrics.BeginStartup();

                var configuration = new Configuration();

                if (!defaultAssembly.IsSystemAssembly())
                {
                    configuration.Assemblies.Add(defaultAssembly);
                }

                configure?.Invoke(new ConfigurationDsl(configuration));

                var container = new TrackingContainer(configuration.Container);

                container.Register <IContainer>(container);
                container.Register(metrics);
                container.Register(configuration);
                container.RegisterPlugins(configuration.ActionMethodSources);
                container.RegisterPlugins(configuration.ActionSources);
                container.RegisterPlugins(configuration.ActionDecorators);
                container.RegisterPlugins(configuration.RouteConventions);
                container.RegisterPlugins(configuration.UrlConventions);
                container.RegisterPlugin(configuration.TypeCache);
                container.RegisterPlugin(configuration.Initializer);
                container.RegisterPlugin(configuration.BehaviorChainInvoker);
                container.RegisterPlugin(configuration.InvokerBehavior);
                container.RegisterPlugin(configuration.ActionInvoker);
                container.RegisterPlugins(configuration.RequestBinders);
                container.RegisterPlugins(configuration.RequestReaders);
                container.RegisterPlugins(configuration.ValueMappers);
                container.RegisterPlugins(configuration.ResponseWriters);
                container.IncludeRegistry(configuration.Registry);

                container.GetInstance <IInitializer>().Initialize(httpConfiguration);

                metrics.StartupComplete();
            }
            catch (Exception exception)
            {
                throw new GraphiteInitializationException(exception);
            }
        }
Пример #7
0
        public void Should_pretty_print_unhandled_graphite_exception()
        {
            var container = new TrackingContainer(new Container(), new TypeCache());

            container.Register(new object());
            var exception = GenerateUnhandledGraphiteException(container);

            var response = exception.GetDebugResponse(_requestMessage);

            response.ShouldContain(_actionMethod.FullName);
            response.ShouldContain(_urlTemplate);
            response.ShouldContain(_requestMessage.RawHeaders());
            response.ShouldContain(_requestMessage.RequestUri.ToString());
            response.ShouldContain(exception.InnerException.Message);
            response.ShouldContainAll(exception.InnerException.StackTrace.Split(" in ").Trim());
            response.ShouldContain(container.GetConfiguration());
            response.ShouldContain(container.Registry.ToString());
        }
Пример #8
0
        public void Initialize(Configuration configuration)
        {
            if (Initialized)
            {
                return;
            }

            if (!configuration.Assemblies.Any())
            {
                throw new GraphiteException("No handler assemblies specified.");
            }

            try
            {
                Metrics = new Metrics();
                Metrics.BeginStartup();

                configuration.Container.RegisterPlugin(configuration.TypeCache);

                Container = new TrackingContainer(configuration.Container,
                                                  configuration.Container.GetInstance <ITypeCache>());

                Container.Register(Container);
                Container.Register(Metrics);
                Container.Register(configuration);
                Container.Register(_httpConfiguration);
                Container.RegisterPlugins(configuration.ActionMethodSources);
                Container.RegisterPlugins(configuration.ActionSources);
                Container.RegisterPlugins(configuration.ActionDecorators);
                Container.RegisterPlugins(configuration.RouteConventions);
                Container.RegisterPlugin(configuration.InlineConstraintBuilder);
                Container.RegisterPlugin(configuration.ConstraintBuilder);
                Container.RegisterPlugins(configuration.UrlConventions);
                Container.RegisterPlugin(configuration.Initializer);
                Container.RegisterPlugin(configuration.HttpRouteMapper);
                Container.RegisterPlugin(configuration.RequestPropertiesProvider);
                Container.RegisterPlugin(configuration.PathProvider);
                Container.RegisterPlugins(configuration.HttpRouteDecorators);
                Container.RegisterPlugin(configuration.InlineConstraintResolver);
                Container.RegisterPlugin(configuration.BehaviorChainInvoker);
                Container.RegisterPlugins(configuration.Authenticators);
                Container.RegisterPlugin(configuration.ActionInvoker);
                Container.Register(configuration.XmlWriterSettings);
                Container.Register(configuration.XmlReaderSettings);
                Container.Register(JsonSerializer.Create(
                                       configuration.JsonSerializerSettings));
                Container.RegisterPlugins(configuration.RequestBinders);
                Container.RegisterPlugins(configuration.RequestReaders);
                Container.RegisterPlugins(configuration.ValueMappers);
                Container.RegisterPlugins(configuration.ResponseWriters);
                Container.RegisterPlugins(configuration.ResponseStatus);
                Container.IncludeRegistry(configuration.Registry);

                Container.GetInstance <IInitializer>().Initialize();

                Metrics.StartupComplete();
            }
            catch (Exception exception)
            {
                throw new GraphiteInitializationException(exception);
            }
        }