private void PopulatePlugins()

in sdk/src/Core/AwsXrayRecorderBuilder.cs [282:311]


        private void PopulatePlugins(string setting)
        {
            var pluginSettings = setting.Split(_validSeparators, StringSplitOptions.RemoveEmptyEntries);
            foreach (string pluginSetting in pluginSettings)
            {
                string fullTypeName = _pluginNamespace + "." + pluginSetting;
                var type = Type.GetType(fullTypeName);
                if (type == null)
                {
                    _logger.DebugFormat("Invalid plugin setting: {0}", pluginSetting);
                    continue;
                }

                try
                {
                    var plugin = Activator.CreateInstance(type) as IPlugin;
                    if (plugin == null)
                    {
                        _logger.DebugFormat("Failed to create an instance of type: {0}", type.FullName);
                        continue;
                    }

                    _plugins.Add(plugin);
                }
                catch (MissingMethodException e)
                {
                    _logger.Debug(e, "Failed to create the plugin: {0}", type.FullName);
                }
            }
        }