#!/bin/sh
#
# $FrauBSD: dwatch-json/grafio/rc.d/grafio 2022-08-22 15:36:11 -0700 freebsdfrau $
#

# PROVIDE: grafio
# KEYWORD: nojail shutdown

. /etc/rc.subr

name=grafio
desc="Manage DTrace-driven disk I/O statistics collection service"
rcvar=${name}_enable
load_rc_config $name

command=/usr/local/sbin/$name
pidfile=/var/run/$name/$name.pid
procname=dtrace
edit_cmd=suite_cmd
list_cmd=suite_cmd
logs_cmd=suite_cmd
rotate_cmd=suite_cmd
show_cmd=suite_cmd
trace_cmd=suite_cmd
extra_commands="edit list logs rotate show tail trace"

vargv()
{
	pargs ${1:-$$} | awk -v start=${2:-2} '
		! match($0, /^argv\[[0-9]+]: /) { next }
		{
			n = substr($0, 6, RLENGTH - 3)
			argv[n] = substr($0, RSTART + RLENGTH)
			gsub(/'\''/, "&\\\\&&", argv[n])
		}
		n >= start { printf "'\'%s\'' ", argv[n] }
	' # END-QUOTE
}

suite_cmd()
{
	# NB: eval is safe [vargv encapsulation + extra_commands filter]
	eval $command $( vargv )
}

run_rc_command "$1"
