/* Copyright (C) 2021-2024 Free Software Foundation, Inc. Contributed by Oracle. This file is part of GNU Binutils. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program 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 for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _EXPERIMENT_H #define _EXPERIMENT_H /* version numbers define experiment format */ #define SUNPERF_VERNUM 12 #define SUNPERF_VERNUM_MINOR 4 /* backward compatibility down to: */ #define SUNPERF_VERNUM_LEAST 12 #include "Emsgnum.h" /* for COL_ERROR_*, etc. symbols */ #define SP_GROUP_HEADER "#analyzer experiment group" /* Experiment name macro definitions */ /* for descendant experiments */ #define DESCENDANT_EXPT_KEY ".er/_" #define IS_DESC_EXPT(exptname) (strstr(exptname,DESCENDANT_EXPT_KEY) != NULL) #define IS_FNDR_EXPT(exptname) (strstr(exptname,DESCENDANT_EXPT_KEY) == NULL) /* File name definitions */ #define SP_ARCHIVES_DIR "archives" #define SP_ARCHIVE_LOG_FILE "archive.log" #define SP_LOG_FILE "log.xml" #define SP_NOTES_FILE "notes" #define SP_IFREQ_FILE "ifreq" #define SP_MAP_FILE "map.xml" #define SP_LABELS_FILE "labels.xml" #define SP_DYNTEXT_FILE "dyntext" #define SP_OVERVIEW_FILE "overview" #define SP_PROFILE_FILE "profile" #define SP_SYNCTRACE_FILE "synctrace" #define SP_IOTRACE_FILE "iotrace" #define SP_OMPTRACE_FILE "omptrace" #define SP_MPVIEW_FILE "mpview.dat3" #define SP_HWCNTR_FILE "hwcounters" #define SP_HEAPTRACE_FILE "heaptrace" #define SP_JCLASSES_FILE "jclasses" #define SP_DYNAMIC_CLASSES "jdynclasses" #define SP_RACETRACE_FILE "dataraces" #define SP_DEADLOCK_FILE "deadlocks" #define SP_FRINFO_FILE "frameinfo" #define SP_WARN_FILE "warnings.xml" #define SP_LIBCOLLECTOR_NAME "libgp-collector.so" #define SP_LIBAUDIT_NAME "libcollect-ng.so" /* XML tags */ #define SP_TAG_COLLECTOR "collector" #define SP_TAG_CPU "cpu" #define SP_TAG_DATAPTR "dataptr" #define SP_TAG_EVENT "event" #define SP_TAG_EXPERIMENT "experiment" #define SP_TAG_FIELD "field" #define SP_TAG_PROCESS "process" #define SP_TAG_PROFILE "profile" #define SP_TAG_PROFDATA "profdata" #define SP_TAG_PROFPCKT "profpckt" #define SP_TAG_SETTING "setting" #define SP_TAG_STATE "state" #define SP_TAG_SYSTEM "system" #define SP_TAG_POWERM "powerm" #define SP_TAG_FREQUENCY "frequency" #define SP_TAG_DTRACEFATAL "dtracefatal" /* records for log and loadobjects files */ /* note that these are in alphabetical order */ #define SP_JCMD_ARCH "architecture" #define SP_JCMD_ARCHIVE "archive_run" #define SP_JCMD_ARGLIST "arglist" #define SP_JCMD_BLKSZ "blksz" #define SP_JCMD_CERROR "cerror" #define SP_JCMD_CLASS_LOAD "class_load" #define SP_JCMD_CLASS_UNLOAD "class_unload" #define SP_JCMD_COLLENV "collenv" #define SP_JCMD_COMMENT "comment" #define SP_JCMD_CPUID "cpuid" #define SP_JCMD_CWARN "cwarn" #define SP_JCMD_CWD "cwd" #define SP_JCMD_CVERSION "cversion" #define SP_JCMD_DATARACE "datarace" #define SP_JCMD_DEADLOCK "deadlock" #define SP_JCMD_DELAYSTART "delay_start" #define SP_JCMD_DESC_START "desc_start" #define SP_JCMD_DESC_STARTED "desc_started" #define SP_JCMD_DVERSION "dversion" #define SP_JCMD_EXEC_START "exec_start" #define SP_JCMD_EXEC_ERROR "exec_error" #define SP_JCMD_EXIT "exit" #define SP_JCMD_EXPT_DURATION "exp_duration" #define SP_JCMD_FAKETIME "faketime" #define SP_JCMD_FN_LOAD "fn_load" #define SP_JCMD_FN_UNLOAD "fn_unload" #define SP_JCMD_FUN_MAP "fun_map" #define SP_JCMD_FUN_UNMAP "fun_unmap" #define SP_JCMD_HEAPTRACE "heaptrace" #define SP_JCMD_HOSTNAME "hostname" #define SP_JCMD_HWC_DEFAULT "hwc_default" #define SP_JCMD_HW_COUNTER "hwcounter" #define SP_JCMD_HW_SIM_CTR "hwsimctr" #define SP_JCMD_IOTRACE "iotrace" #define SP_JCMD_JCM_LOAD "jcm_load" #define SP_JCMD_JCM_UNLOAD "jcm_unload" #define SP_JCMD_JCM_MAP "jcm_map" #define SP_JCMD_JCM_UNMAP "jcm_unmap" #define SP_JCMD_JTHREND "jthread_end" #define SP_JCMD_JTHRSTART "jthread_start" #define SP_JCMD_GCEND "gc_end" #define SP_JCMD_GCSTART "gc_start" #define SP_JCMD_JVERSION "jversion" //#define SP_JCMD_KPROFILE "kprofile" /* TBR */ #define SP_JCMD_LIMIT "limit" #define SP_JCMD_LINETRACE "linetrace" #define SP_JCMD_LO_OPEN "lo_open" #define SP_JCMD_LO_CLOSE "lo_close" #define SP_JCMD_MOD_OPEN "mod_open" #define SP_JCMD_MPIEXP "MPIexperiment" #define SP_JCMD_MPI_NO_TRACE "MPI_no_trace" #define SP_JCMD_MPIOMPVER "mpi_openmpi_version" #define SP_JCMD_MPITRACEVER "mpi_trace_version" #define SP_JCMD_MPIPP "mpipp" #define SP_JCMD_MPIPPERR "mpipp_err" #define SP_JCMD_MPIPPWARN "mpipp_warn" #define SP_JCMD_MPISTATE "mpistate" #define SP_JCMD_MPITRACE "mpitrace" /* backwards compat only */ #define SP_JCMD_MPVIEW "mpview" #define SP_JCMD_MSGTRACE "msgtrace" #define SP_JCMD_NOIDLE "noidle" #define SP_JCMD_OMPTRACE "omptrace" #define SP_JCMD_OS "os" #define SP_JCMD_PAGESIZE "pagesize" #define SP_JCMD_PAUSE "pause" #define SP_JCMD_PAUSE_SIG "pause_signal" #define SP_JCMD_PROFILE "profile" #define SP_JCMD_RESUME "resume" #define SP_JCMD_RUN "run" #define SP_JCMD_SAMPLE "sample" #define SP_JCMD_SAMPLE_PERIOD "sample_period" #define SP_JCMD_SAMPLE_SIG "sample_signal" #define SP_JCMD_SEGMENT_MAP "seg_map" #define SP_JCMD_SEGMENT_UNMAP "seg_unmap" #define SP_JCMD_SRCHPATH "search_path" #define SP_JCMD_STACKBASE "stackbase" #define SP_JCMD_SUNPERF "sunperf" #define SP_JCMD_SYNCTRACE "synctrace" #define SP_JCMD_TERMINATE "terminate" #define SP_JCMD_THREAD_PAUSE "thread_pause" #define SP_JCMD_THREAD_RESUME "thread_resume" #define SP_JCMD_USERNAME "username" #define SP_JCMD_VERSION "version" #define SP_JCMD_WSIZE "wsize" /* strings naming memory-segments */ #define SP_MAP_ANON "Anon" #define SP_MAP_HEAP "Heap" #define SP_MAP_STACK "Stack" #define SP_MAP_SHMEM "SHMid" #define SP_MAP_UNRESOLVABLE "Unresolvable" #define SP_UNKNOWN_NAME "(unknown)" #define MAX_STACKDEPTH 2048 #endif /* _EXPERIMENT_H */