| | 1119 | | | | | 1120 | | savebuf = pvm_setsbuf( pvmtrcsbf ); | | | 1121 | | | | | 1122 | | | | | 1123 | | | | | 1124 | | tmp = TEV_MARK_EVENT_DESC;
| | | 1125 | | pvm_pkint( &tmp, 1, 1 ); | | | 1126 | | | | | 1127 | | | | | 1128 | | | | | 1129 | | tmp = TEV_TIMING;
| | | 1130 | | pvm_pkint( &tmp, 1, 1 ); | | | 1131 | | | | | 1132 | | pvm_pkstr( pvmtevinfo[ TEV_TIMING - TEV_FIRST ].name );
| | | 1133 | | | | | 1134 | | | | | 1135 | | | | | 1136 | | gettimeofday( ×tamp, (struct timezone *) 0 ); | | | 1137 | | | | | 1138 | | tsec = (int) timestamp.tv_sec; | | | 1139 | | tusec = (int) timestamp.tv_usec; | | | 1140 | | | | | 1141 | | TEV_PACK_INT( TEV_DID_TS, TEV_DATA_SCALAR, &tsec, 1, 1 );
| | | 1142 | | TEV_PACK_INT( TEV_DID_TU, TEV_DATA_SCALAR, &tusec, 1, 1 );
| | | 1143 | | TEV_PACK_INT( TEV_DID_TID, TEV_DATA_SCALAR,
| | | 1144 | | &pvmmytid, 1, 1 ); | | | 1145 | | | | | 1146 | | | | | 1147 | | | | | 1148 | | num = 0; | | | 1149 | | | | | 1150 | | for ( i=TEV_FIRST ; i <= TEV_MAX ; i++ )
| | | 1151 | | { | | | 1152 | | if ( pvmtevinfo[i].count > 0 ) | | | 1153 | | { | | | 1154 | | event_names[num] = pvmtevinfo[i].name; | | | 1155 | | | | | 1156 | | timings_sec[num] = (int) pvmtevinfo[i].total.tv_sec; | | | 1157 | | timings_usec[num] = | | | 1158 | | (int) pvmtevinfo[i].total.tv_usec; | | | 1159 | | | | | 1160 | | counts[num] = pvmtevinfo[i].count; | | | 1161 | | | | | 1162 | | pvmtevinfo[i].total.tv_sec = | | | 1163 | | pvmtevinfo[i].total.tv_usec = 0; | | | 1164 | | | | | 1165 | | pvmtevinfo[i].count = 0; | | | 1166 | | | | | 1167 | | num++; | | | 1168 | | } | | | 1169 | | } | | | 1170 | | | | | 1171 | | | | | 1172 | | | | | 1173 | | TEV_PACK_INT( TEV_DID_VCT, TEV_DATA_SCALAR,
| | | 1174 | | &num, 1, 1 ); | | | 1175 | | | | | 1176 | | TEV_PACK_STRING( TEV_DID_VID, TEV_DATA_ARRAY,
| | | 1177 | | event_names, num, 1 ); | | | 1178 | | | | | 1179 | | TEV_PACK_INT( TEV_DID_TGS, TEV_DATA_ARRAY,
| | | 1180 | | timings_sec, num, 1 ); | | | 1181 | | | | | 1182 | | TEV_PACK_INT( TEV_DID_TGU, TEV_DATA_ARRAY,
| | | 1183 | | timings_usec, num, 1 ); | | | 1184 | | | | | 1185 | | TEV_PACK_INT( TEV_DID_PRF, TEV_DATA_ARRAY,
| | | 1186 | | counts, num, 1 ); | | | 1187 | | | | | 1188 | | | | | 1189 | | | | | 1190 | | tmp = TEV_MARK_EVENT_DESC_END;
| | | 1191 | | pvm_pkint( &tmp, 1, 1 ); | | | 1192 | | | | | 1193 | | setflag = 1; | | | 1194 | | | | | 1195 | | break; | | | 1196 | | } | | | 1197 | | | | | 1198 | | case PvmTraceCount:
| | | 1199 | | { | | | 1200 | | | | | 1201 | | | | | 1202 | | pvmtrccodef = &pvmtrccodef_desc; | | | 1203 | | | | | 1204 | | pvmtrcsbf = pvm_mkbuf( PvmDataDefault );
| | | 1205 | | pvmtrcmp = midtobuf( pvmtrcsbf ); | | | | | ... | | | 1271 | | | | | 1272 | | default: | | | 1273 | | pvmlogprintf( | | | 1274 | | "Uh-Oh! Bogus Tracing Option (%d) in tev_flush()...\n", | | | 1275 | | pvmtrc.trcopt ); | | | 1276 | | return; | | | 1277 | | } | | | 1278 | | | | | 1279 | | | | | 1280 | | | | | 1281 | | if ( setflag ) | | | 1282 | | pvm_setsbuf( savebuf ); | | | 1283 | | | | | 1284 | | | | | 1285 | | | | | 1286 | | | | | 1287 | | tmpbuf = pvmtrcsbf; | | | 1288 | | | | | 1289 | | pvmtrcsbf = 0; | | | 1290 | | | | | 1291 | | | | | 1292 | | | | | 1293 | | if ( (routetmp = pvmrouteopt) == PvmRouteDirect )
| | | 1294 | | pvmrouteopt = PvmAllowDirect;
| | | 1295 | | | | pvmtrcmp <= 4095 | 1296 | | pvmtrcmp->m_ctx = pvmtrc.trcctx; |
|