code: func New(options ...Option) (*Plugin, error) {
  	newPlugin := &Plugin{
  		Name:            "default",
  		PollingInterval: 10,
  	}
  
  	newPlugin.App = cli.NewApp()
  	newPlugin.App.Version = version
  	newPlugin.App.Flags = []cli.Flag{
  		cli.IntFlag{
  			Name:        "polling-interval",
  			Value:       newPlugin.PollingInterval,
  			Usage:       "Polling interval for metrics in seconds",
  			Destination: &newPlugin.PollingInterval,
  		},
  		cli.StringFlag{
  			Name:        "dcos-role",
  			Value:       newPlugin.Role,
  			Usage:       "DC/OS role, either master or agent",
  			Destination: &newPlugin.Role,
  		},
  	}
  
  	for _, o := range options {
  		if err := o(newPlugin); err != nil {
  			return newPlugin, err
  		}
  	}
  
  	newPlugin.Log = logrus.WithFields(logrus.Fields{"plugin": newPlugin.Name})
  
  	return newPlugin, nil
  }
docs: // New returns a mandatory plugin config which every plugin for
  // metrics will need