#
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

config.execSuffix=
config.getChildren.pattern=%p
config.getChildren.app=pgrep
config.getChildren.args=-P %p
################################################################################
# process info to gather
################################################################################
onTimeout=\
  native.DevToolsSecurity \
  native.vmmap native.heap native.leaks native.spindump \
  native.stack native.core
################################################################################
native.pattern=%p
native.javaOnly=false
native.args=%p

native.DevToolsSecurity.app=DevToolsSecurity
native.DevToolsSecurity.args=--status

# spindump requires root privileges
native.spindump.app=spindump
native.spindump.args=%p -stdout

native.vmmap.app=bash
native.vmmap.delimiter=\0
native.vmmap.args=-c\0DevToolsSecurity --status | grep -q enabled && vmmap %p

native.leaks.app=bash
native.leaks.delimiter=\0
native.leaks.args=-c\0DevToolsSecurity --status | grep -q enabled && leaks %p

native.heap.app=bash
native.heap.delimiter=\0
native.heap.args=-c\0DevToolsSecurity --status | grep -q enabled && heap %p

native.stack.app=bash
native.stack.delimiter=\0
native.stack.params.repeat=6
native.stack.args=-c\0DevToolsSecurity --status | grep -q enabled && lldb -o 'attach %p' -o 'thread backtrace all' -o 'detach' -o 'quit'

# has to be the last command
native.core.app=kill
native.core.args=-ABRT %p
################################################################################
# environment info to gather
################################################################################
environment=\
  users.current users.logged users.last \
  disk \
  env \
  system.dmesg system.sysctl \
  process.ps process.top \
  memory.vmstat \
  files \
  net.netstat.av net.netstat.aL net.netstat.m net.netstat.s net.ifconfig \
  scutil.nwi scutil.proxy \
  screenshot
################################################################################
users.current.app=id
users.current.args=-a
users.logged.app=who
users.logged.args=-a
users.last.app=last
users.last.args=-10

disk.app=df
disk.args=-h

env.app=env

system.dmesg.app=dmesg
system.sysctl.app=sysctl
system.sysctl.args=-a

process.ps.app=ps
process.ps.args=-Meo pid,pcpu,cputime,start,pmem,vsz,rss,state,wchan,user,args
process.top.app=top
process.top.args=-l 1

memory.vmstat.app=vm_stat
memory.vmstat.args=-c 3 3

files.app=lsof

net.netstat.app=netstat
net.netstat.av.args=-av
net.netstat.aL.args=-aL
net.netstat.m.args=-m
net.netstat.s.args=-s
net.ifconfig.app=ifconfig
net.ifconfig.args=-a

scutil.app=scutil
scutil.nwi.args=--nwi
scutil.proxy.args=--proxy

screenshot.app=screencapture
screenshot.args=-x screen1.png screen2.png screen3.png screen4.png screen5.png
################################################################################
