code: func getParserAndOptions(options GlobalOptions) (parsers.Parser, interface{}) {
  	var parser parsers.Parser
  	var opts interface{}
  	switch options.Reqs.ParserName {
  	case "regex":
  		parser = &regex.Parser{}
  		opts = &options.Regex
  		opts.(*regex.Options).NumParsers = int(options.NumSenders)
  	case "nginx":
  		parser = &nginx.Parser{}
  		opts = &options.Nginx
  		opts.(*nginx.Options).NumParsers = int(options.NumSenders)
  	case "json":
  		parser = &htjson.Parser{}
  		opts = &options.JSON
  		opts.(*htjson.Options).NumParsers = int(options.NumSenders)
  	case "keyval":
  		parser = &keyval.Parser{}
  		opts = &options.KeyVal
  		opts.(*keyval.Options).NumParsers = int(options.NumSenders)
  	case "mongo", "mongodb":
  		parser = &mongodb.Parser{}
  		opts = &options.Mongo
  		opts.(*mongodb.Options).NumParsers = int(options.NumSenders)
  	case "mysql":
  		parser = &mysql.Parser{
  			SampleRate: int(options.SampleRate),
  		}
  		opts = &options.MySQL
  		opts.(*mysql.Options).NumParsers = int(options.NumSenders)
  	case "postgresql":
  		opts = &options.PostgreSQL
  		parser = &postgresql.Parser{}
  	case "arangodb":
  		parser = &arangodb.Parser{}
  		opts = &options.ArangoDB
  	case "csv":
  		parser = &csv.Parser{}
  		opts = &options.CSV
  		opts.(*csv.Options).NumParsers = int(options.NumSenders)
  	case "syslog":
  		parser = &syslog.Parser{}
  		opts = &options.Syslog
  		opts.(*syslog.Options).NumParsers = int(options.NumSenders)
  	}
  	parser, _ = parser.(parsers.Parser)
  	return parser, opts
  }
docs: // getParserOptions takes a parser name and the global options struct
  // it returns the options group for the specified parser