1*c42dbd0eSchristos /* Copyright (C) 2021 Free Software Foundation, Inc. 2*c42dbd0eSchristos Contributed by Oracle. 3*c42dbd0eSchristos 4*c42dbd0eSchristos This file is part of GNU Binutils. 5*c42dbd0eSchristos 6*c42dbd0eSchristos This program is free software; you can redistribute it and/or modify 7*c42dbd0eSchristos it under the terms of the GNU General Public License as published by 8*c42dbd0eSchristos the Free Software Foundation; either version 3, or (at your option) 9*c42dbd0eSchristos any later version. 10*c42dbd0eSchristos 11*c42dbd0eSchristos This program is distributed in the hope that it will be useful, 12*c42dbd0eSchristos but WITHOUT ANY WARRANTY; without even the implied warranty of 13*c42dbd0eSchristos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14*c42dbd0eSchristos GNU General Public License for more details. 15*c42dbd0eSchristos 16*c42dbd0eSchristos You should have received a copy of the GNU General Public License 17*c42dbd0eSchristos along with this program; if not, write to the Free Software 18*c42dbd0eSchristos Foundation, 51 Franklin Street - Fifth Floor, Boston, 19*c42dbd0eSchristos MA 02110-1301, USA. */ 20*c42dbd0eSchristos 21*c42dbd0eSchristos #ifndef _EXPERIMENT_H 22*c42dbd0eSchristos #define _EXPERIMENT_H 23*c42dbd0eSchristos 24*c42dbd0eSchristos /* version numbers define experiment format */ 25*c42dbd0eSchristos #define SUNPERF_VERNUM 12 26*c42dbd0eSchristos #define SUNPERF_VERNUM_MINOR 4 27*c42dbd0eSchristos 28*c42dbd0eSchristos /* backward compatibility down to: */ 29*c42dbd0eSchristos #define SUNPERF_VERNUM_LEAST 12 30*c42dbd0eSchristos 31*c42dbd0eSchristos #include "Emsgnum.h" /* for COL_ERROR_*, etc. symbols */ 32*c42dbd0eSchristos 33*c42dbd0eSchristos #define SP_REMOTE_PROTOCOL_VERSION "12.4.1" 34*c42dbd0eSchristos 35*c42dbd0eSchristos #define SP_GROUP_HEADER "#analyzer experiment group" 36*c42dbd0eSchristos 37*c42dbd0eSchristos /* Experiment name macro definitions */ 38*c42dbd0eSchristos 39*c42dbd0eSchristos /* for descendant experiments */ 40*c42dbd0eSchristos #define DESCENDANT_EXPT_KEY ".er/_" 41*c42dbd0eSchristos #define IS_DESC_EXPT(exptname) (strstr(exptname,DESCENDANT_EXPT_KEY) != NULL) 42*c42dbd0eSchristos #define IS_FNDR_EXPT(exptname) (strstr(exptname,DESCENDANT_EXPT_KEY) == NULL) 43*c42dbd0eSchristos 44*c42dbd0eSchristos /* File name definitions */ 45*c42dbd0eSchristos #define SP_ARCHIVES_DIR "archives" 46*c42dbd0eSchristos #define SP_ARCHIVE_LOG_FILE "archive.log" 47*c42dbd0eSchristos #define SP_LOG_FILE "log.xml" 48*c42dbd0eSchristos #define SP_NOTES_FILE "notes" 49*c42dbd0eSchristos #define SP_IFREQ_FILE "ifreq" 50*c42dbd0eSchristos #define SP_MAP_FILE "map.xml" 51*c42dbd0eSchristos #define SP_LABELS_FILE "labels.xml" 52*c42dbd0eSchristos #define SP_DYNTEXT_FILE "dyntext" 53*c42dbd0eSchristos #define SP_OVERVIEW_FILE "overview" 54*c42dbd0eSchristos #define SP_PROFILE_FILE "profile" 55*c42dbd0eSchristos #define SP_SYNCTRACE_FILE "synctrace" 56*c42dbd0eSchristos #define SP_IOTRACE_FILE "iotrace" 57*c42dbd0eSchristos #define SP_OMPTRACE_FILE "omptrace" 58*c42dbd0eSchristos #define SP_MPVIEW_FILE "mpview.dat3" 59*c42dbd0eSchristos #define SP_HWCNTR_FILE "hwcounters" 60*c42dbd0eSchristos #define SP_HEAPTRACE_FILE "heaptrace" 61*c42dbd0eSchristos #define SP_JCLASSES_FILE "jclasses" 62*c42dbd0eSchristos #define SP_DYNAMIC_CLASSES "jdynclasses" 63*c42dbd0eSchristos #define SP_RACETRACE_FILE "dataraces" 64*c42dbd0eSchristos #define SP_DEADLOCK_FILE "deadlocks" 65*c42dbd0eSchristos #define SP_FRINFO_FILE "frameinfo" 66*c42dbd0eSchristos #define SP_WARN_FILE "warnings.xml" 67*c42dbd0eSchristos 68*c42dbd0eSchristos #define SP_LIBCOLLECTOR_NAME "libgp-collector.so" 69*c42dbd0eSchristos #define SP_LIBAUDIT_NAME "libcollect-ng.so" 70*c42dbd0eSchristos 71*c42dbd0eSchristos /* XML tags */ 72*c42dbd0eSchristos #define SP_TAG_COLLECTOR "collector" 73*c42dbd0eSchristos #define SP_TAG_CPU "cpu" 74*c42dbd0eSchristos #define SP_TAG_DATAPTR "dataptr" 75*c42dbd0eSchristos #define SP_TAG_EVENT "event" 76*c42dbd0eSchristos #define SP_TAG_EXPERIMENT "experiment" 77*c42dbd0eSchristos #define SP_TAG_FIELD "field" 78*c42dbd0eSchristos #define SP_TAG_PROCESS "process" 79*c42dbd0eSchristos #define SP_TAG_PROFILE "profile" 80*c42dbd0eSchristos #define SP_TAG_PROFDATA "profdata" 81*c42dbd0eSchristos #define SP_TAG_PROFPCKT "profpckt" 82*c42dbd0eSchristos #define SP_TAG_SETTING "setting" 83*c42dbd0eSchristos #define SP_TAG_STATE "state" 84*c42dbd0eSchristos #define SP_TAG_SYSTEM "system" 85*c42dbd0eSchristos #define SP_TAG_POWERM "powerm" 86*c42dbd0eSchristos #define SP_TAG_FREQUENCY "frequency" 87*c42dbd0eSchristos #define SP_TAG_DTRACEFATAL "dtracefatal" 88*c42dbd0eSchristos 89*c42dbd0eSchristos /* records for log and loadobjects files */ 90*c42dbd0eSchristos /* note that these are in alphabetical order */ 91*c42dbd0eSchristos #define SP_JCMD_ARCH "architecture" 92*c42dbd0eSchristos #define SP_JCMD_ARCHIVE "archive_run" 93*c42dbd0eSchristos #define SP_JCMD_ARGLIST "arglist" 94*c42dbd0eSchristos #define SP_JCMD_BLKSZ "blksz" 95*c42dbd0eSchristos #define SP_JCMD_CERROR "cerror" 96*c42dbd0eSchristos #define SP_JCMD_CLASS_LOAD "class_load" 97*c42dbd0eSchristos #define SP_JCMD_CLASS_UNLOAD "class_unload" 98*c42dbd0eSchristos #define SP_JCMD_COLLENV "collenv" 99*c42dbd0eSchristos #define SP_JCMD_COMMENT "comment" 100*c42dbd0eSchristos #define SP_JCMD_CPUID "cpuid" 101*c42dbd0eSchristos #define SP_JCMD_CWARN "cwarn" 102*c42dbd0eSchristos #define SP_JCMD_CWD "cwd" 103*c42dbd0eSchristos #define SP_JCMD_CVERSION "cversion" 104*c42dbd0eSchristos #define SP_JCMD_DATARACE "datarace" 105*c42dbd0eSchristos #define SP_JCMD_DEADLOCK "deadlock" 106*c42dbd0eSchristos #define SP_JCMD_DELAYSTART "delay_start" 107*c42dbd0eSchristos #define SP_JCMD_DESC_START "desc_start" 108*c42dbd0eSchristos #define SP_JCMD_DESC_STARTED "desc_started" 109*c42dbd0eSchristos #define SP_JCMD_DVERSION "dversion" 110*c42dbd0eSchristos #define SP_JCMD_EXEC_START "exec_start" 111*c42dbd0eSchristos #define SP_JCMD_EXEC_ERROR "exec_error" 112*c42dbd0eSchristos #define SP_JCMD_EXIT "exit" 113*c42dbd0eSchristos #define SP_JCMD_EXPT_DURATION "exp_duration" 114*c42dbd0eSchristos #define SP_JCMD_FAKETIME "faketime" 115*c42dbd0eSchristos #define SP_JCMD_FN_LOAD "fn_load" 116*c42dbd0eSchristos #define SP_JCMD_FN_UNLOAD "fn_unload" 117*c42dbd0eSchristos #define SP_JCMD_FUN_MAP "fun_map" 118*c42dbd0eSchristos #define SP_JCMD_FUN_UNMAP "fun_unmap" 119*c42dbd0eSchristos #define SP_JCMD_HEAPTRACE "heaptrace" 120*c42dbd0eSchristos #define SP_JCMD_HOSTNAME "hostname" 121*c42dbd0eSchristos #define SP_JCMD_HWC_DEFAULT "hwc_default" 122*c42dbd0eSchristos #define SP_JCMD_HW_COUNTER "hwcounter" 123*c42dbd0eSchristos #define SP_JCMD_HW_SIM_CTR "hwsimctr" 124*c42dbd0eSchristos #define SP_JCMD_IOTRACE "iotrace" 125*c42dbd0eSchristos #define SP_JCMD_JCM_LOAD "jcm_load" 126*c42dbd0eSchristos #define SP_JCMD_JCM_UNLOAD "jcm_unload" 127*c42dbd0eSchristos #define SP_JCMD_JCM_MAP "jcm_map" 128*c42dbd0eSchristos #define SP_JCMD_JCM_UNMAP "jcm_unmap" 129*c42dbd0eSchristos #define SP_JCMD_JTHREND "jthread_end" 130*c42dbd0eSchristos #define SP_JCMD_JTHRSTART "jthread_start" 131*c42dbd0eSchristos #define SP_JCMD_GCEND "gc_end" 132*c42dbd0eSchristos #define SP_JCMD_GCSTART "gc_start" 133*c42dbd0eSchristos #define SP_JCMD_JVERSION "jversion" 134*c42dbd0eSchristos //#define SP_JCMD_KPROFILE "kprofile" /* TBR */ 135*c42dbd0eSchristos #define SP_JCMD_LIMIT "limit" 136*c42dbd0eSchristos #define SP_JCMD_LINETRACE "linetrace" 137*c42dbd0eSchristos #define SP_JCMD_LO_OPEN "lo_open" 138*c42dbd0eSchristos #define SP_JCMD_LO_CLOSE "lo_close" 139*c42dbd0eSchristos #define SP_JCMD_MOD_OPEN "mod_open" 140*c42dbd0eSchristos #define SP_JCMD_MPIEXP "MPIexperiment" 141*c42dbd0eSchristos #define SP_JCMD_MPI_NO_TRACE "MPI_no_trace" 142*c42dbd0eSchristos #define SP_JCMD_MPIOMPVER "mpi_openmpi_version" 143*c42dbd0eSchristos #define SP_JCMD_MPITRACEVER "mpi_trace_version" 144*c42dbd0eSchristos #define SP_JCMD_MPIPP "mpipp" 145*c42dbd0eSchristos #define SP_JCMD_MPIPPERR "mpipp_err" 146*c42dbd0eSchristos #define SP_JCMD_MPIPPWARN "mpipp_warn" 147*c42dbd0eSchristos #define SP_JCMD_MPISTATE "mpistate" 148*c42dbd0eSchristos #define SP_JCMD_MPITRACE "mpitrace" /* backwards compat only */ 149*c42dbd0eSchristos #define SP_JCMD_MPVIEW "mpview" 150*c42dbd0eSchristos #define SP_JCMD_MSGTRACE "msgtrace" 151*c42dbd0eSchristos #define SP_JCMD_NOIDLE "noidle" 152*c42dbd0eSchristos #define SP_JCMD_OMPTRACE "omptrace" 153*c42dbd0eSchristos #define SP_JCMD_OS "os" 154*c42dbd0eSchristos #define SP_JCMD_PAGESIZE "pagesize" 155*c42dbd0eSchristos #define SP_JCMD_PAUSE "pause" 156*c42dbd0eSchristos #define SP_JCMD_PAUSE_SIG "pause_signal" 157*c42dbd0eSchristos #define SP_JCMD_PROFILE "profile" 158*c42dbd0eSchristos #define SP_JCMD_RESUME "resume" 159*c42dbd0eSchristos #define SP_JCMD_RUN "run" 160*c42dbd0eSchristos #define SP_JCMD_SAMPLE "sample" 161*c42dbd0eSchristos #define SP_JCMD_SAMPLE_PERIOD "sample_period" 162*c42dbd0eSchristos #define SP_JCMD_SAMPLE_SIG "sample_signal" 163*c42dbd0eSchristos #define SP_JCMD_SEGMENT_MAP "seg_map" 164*c42dbd0eSchristos #define SP_JCMD_SEGMENT_UNMAP "seg_unmap" 165*c42dbd0eSchristos #define SP_JCMD_SRCHPATH "search_path" 166*c42dbd0eSchristos #define SP_JCMD_STACKBASE "stackbase" 167*c42dbd0eSchristos #define SP_JCMD_SUNPERF "sunperf" 168*c42dbd0eSchristos #define SP_JCMD_SYNCTRACE "synctrace" 169*c42dbd0eSchristos #define SP_JCMD_TERMINATE "terminate" 170*c42dbd0eSchristos #define SP_JCMD_THREAD_PAUSE "thread_pause" 171*c42dbd0eSchristos #define SP_JCMD_THREAD_RESUME "thread_resume" 172*c42dbd0eSchristos #define SP_JCMD_USERNAME "username" 173*c42dbd0eSchristos #define SP_JCMD_VERSION "version" 174*c42dbd0eSchristos #define SP_JCMD_WSIZE "wsize" 175*c42dbd0eSchristos 176*c42dbd0eSchristos /* strings naming memory-segments */ 177*c42dbd0eSchristos #define SP_MAP_ANON "Anon" 178*c42dbd0eSchristos #define SP_MAP_HEAP "Heap" 179*c42dbd0eSchristos #define SP_MAP_STACK "Stack" 180*c42dbd0eSchristos #define SP_MAP_SHMEM "SHMid" 181*c42dbd0eSchristos #define SP_MAP_UNRESOLVABLE "Unresolvable" 182*c42dbd0eSchristos 183*c42dbd0eSchristos #define SP_UNKNOWN_NAME "(unknown)" 184*c42dbd0eSchristos 185*c42dbd0eSchristos #define MAX_STACKDEPTH 2048 186*c42dbd0eSchristos #endif /* _EXPERIMENT_H */ 187