func Start()

in monitoring/start.go [17:45]


func Start(options ...Option) error {
	config := applyOptions(options)

	listener, err := config.listenerFactory()
	if err != nil {
		return err
	}

	// Initialize the Continuous Profiler.
	if !config.continuousProfilingDisabled {
		profOpts := profilerOpts{
			ServiceVersion:  config.version,
			CredentialsFile: config.profilerCredentialsFile,
		}
		initProfiler(profOpts)
	}

	if listener == nil {
		// No listener has been configured, skip mux setup.
		return nil
	}

	metricsHandler(config)
	pprofHandlers(config)

	config.server.Handler = config.serveMux

	return config.server.Serve(listener)
}