code: func (c *BootstrapConfig) ConfigureArgs(args *BootstrapTplArgs) error {
  
  	// Attempt to setup sink(s) from high-level config. Note the args are passed
  	// by ref and modified in place.
  	if err := c.generateStatsSinks(args); err != nil {
  		return err
  	}
  
  	if c.StatsConfigJSON != "" {
  		// StatsConfig overridden explicitly
  		args.StatsConfigJSON = c.StatsConfigJSON
  	} else {
  		// Attempt to setup tags from high-level config. Note the args are passed by
  		// ref and modified in place.
  		if err := c.generateStatsConfig(args); err != nil {
  			return err
  		}
  	}
  
  	if c.StaticClustersJSON != "" {
  		args.StaticClustersJSON = c.StaticClustersJSON
  	}
  	if c.StaticListenersJSON != "" {
  		args.StaticListenersJSON = c.StaticListenersJSON
  	}
  	// Setup prometheus if needed. This MUST happen after the Static*JSON is set above
  	if c.PrometheusBindAddr != "" {
  		if err := c.generatePrometheusConfig(args); err != nil {
  			return err
  		}
  	}
  
  	if c.TracingConfigJSON != "" {
  		args.TracingConfigJSON = c.TracingConfigJSON
  	}
  
  	if c.StatsFlushInterval != "" {
  		args.StatsFlushInterval = c.StatsFlushInterval
  	}
  
  	return nil
  }
docs: // ConfigureArgs takes the basic template arguments generated from the command
  // arguments and environment and modifies them according to the BootstrapConfig.