You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: main.go
    path of file: ./repos/iris/_examples/monitor/monitor-middleware
    
    the code of the file until where you have to start completion: package main

import (
	"time"

	"github.com/kataras/iris/v12"

	"github.com/kataras/iris/v12/middleware/monitor"
)

func main() {
	app := iris.New()

	// Initialize and start the monitor middleware.
	m := monitor.New(monitor.Options{
		RefreshInterval:     2 * time.Second,
		ViewRefreshInterval: 2 * time.Second,
		ViewTitle:           "MyServer Monitor",
	})
	// Manually stop monitoring on CMD/CTRL+C.
	iris.RegisterOnInterrupt(m.Stop)

	// Serve the actual server's process and operating system statistics as JSON.
	app.Post("/monitor", m.Stats)
	// Render with the default page.
	app.Get("/monitor", m.View)

	/* You can protect the /monitor under an /admin group of routes
	with basic authentication or any
    
func main() {
	app := iris.New()

	// Initialize and start the monitor middleware.
	m := monitor.New(monitor.Options{
		RefreshInterval:     2 * time.Second,
		ViewRefreshInterval: 2 * time.Second,
		ViewTitle:           "MyServer Monitor",
	})
	// Manually stop monitoring on CMD/CTRL+C.
	iris.RegisterOnInterrupt(m.Stop)

	// Serve the actual server's process and operating system statistics as JSON.
	app.Post("/monitor", m.Stats)
	// Render with the default page.
	app.Get("/monitor", m.View)

	/* You can protect the /monitor under an /admin group of routes
	with basic authentication or any type authorization and authentication system.
	Example Code:

	  app.Post("/monitor", myProtectMiddleware, m.Stats)
	  app.Get("/monitor", myProtectMiddleware, m.View)
	*/

	/* You can also get the OS statistics using the Holder.GetStats method.
	Example Code:
	for {
		stats := m.Holder.GetStats()
		fmt.Printf("%#+v\n", stats)
		time.Sleep(time.Second)
	}

	Note that the same stats are also stored in the expvar metrics:
		- pid_cpu
		- pid_ram
		- pid_conns
		- os_cpu
		- os_ram
		- os_total_ram
		- os_load_avg
		- os_conns
	Check https://github.com/iris-contrib/middleware/tree/master/expmetric
	which can be integrated with datadog or other platforms.
	*/

	app.Get("/", handler)

	app.Listen(":8080")
}