/// <summary>
        ///     Loads the writers found by the plugin factory.
        /// </summary>
        /// <param name="settings">The settings to load the writer from.</param>
        /// <param name="pluginFactory">The server's plugin factory.</param>
        /// <param name="logManager">The server's log manager.</param>
        internal void LoadWriters(ServerSpawnData.MetricsSettings settings, PluginFactory pluginFactory, LogManager logManager)
        {
            if (MetricsWriter != null)
            {
                throw new InvalidOperationException("Cannot load writers if writer is already present. This suggests that writers have already been loaded into the server.\n\nThis is likely an internal DR issue, please consider creating an issue here: https://github.com/DarkRiftNetworking/DarkRift/issues");
            }

            if (settings.MetricsWriter != null && settings.MetricsWriter.Type != null)
            {
                MetricsWriterLoadData loadData = new MetricsWriterLoadData(settings.MetricsWriter.Type, server, settings.MetricsWriter.Settings, logManager.GetLoggerFor(settings.MetricsWriter.Type));

                MetricsWriter = pluginFactory.Create <MetricsWriter>(settings.MetricsWriter.Type, loadData, null);
            }
        }
 /// <summary>
 ///     Creates a new metrics manager.
 /// </summary>
 /// <param name="server">The server we belong to.</param>
 /// <param name="settings">The settings to load from.</param>
 internal MetricsManager(DarkRiftServer server, ServerSpawnData.MetricsSettings settings)
 {
     this.server = server;
     this.EnablePerMessageMetrics = settings.EnablePerMessageMetrics;
 }