OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

OTF_Writer.h
Go to the documentation of this file.
1 /*
2 This is part of the OTF library. Copyright by ZIH, TU Dresden 2005-2012.
3 Authors: Andreas Knuepfer, Holger Brunst, Ronny Brendel, Thomas Kriebitzsch
4 */
5
6 /**
7 * @file OTF_Writer.h
8 *
9 * @brief Transparently writes OTF traces which consist of multiple streams.
10 *
11 * \ingroup writer
12 */
13
14 /** \defgroup writer Writer Interface
15 *
16 * This interface should be used whenever a trace file is to be written as a
17 * whole. Therefore, an initial call to the OTF_Writer_open() function
18 * allows to specify a number of streams which are going to be used to
19 * automatically partition the recorded event data. OTF than takes over the
20 * duty of distributing the data on multiple files.
21 *
22 * \section writer_example A simple Example
23 *
24 * \code
25 * #include <assert.h>
26 * #include "otf.h"
27 *
28 * int main( int argc, char** argv ) {
29 * \endcode
30 *
31 * Declare a file manager and a writer.
32 * \code
33 * OTF_FileManager* manager;
34 * OTF_Writer* writer;
35 * \endcode
36 *
37 * Initialize the file manager. Open at most 100 OS files.
38 * \code
39 * manager= OTF_FileManager_open( 100 );
40 * assert( manager );
41 * \endcode
42 *
43 * Initialize the writer. Open file "test", writing one stream.
44 * \code
45 * writer = OTF_Writer_open( "test", 1, manager );
46 * assert( writer );
47 * \endcode
48 *
49 * Write some important Definition Records.
50 * Have a look at the specific functions to see what the parameters mean.
51 * \code
52 * OTF_Writer_writeDefTimerResolution( writer, 0, 1000 );
53 * OTF_Writer_writeDefProcess( writer, 0, 1, "proc one", 0 );
54 * OTF_Writer_writeDefFunctionGroup( writer, 0, 1000, "all functions" );
55 * OTF_Writer_writeDefFunction( writer, 0, 1, "main", 1000, 0 );
56 * \endcode
57 *
58 *
59 * Write an enter and a leave record.
60 * time = 10000, 20000
61 * process = 1
62 * function = 1
63 * Sourcecode location doesn't matter, so it's zero.
64 * \code
65 * OTF_Writer_writeEnter( writer, 10000, 1, 1, 0 );
66 * OTF_Writer_writeLeave( writer, 20000, 1, 1, 0 );
67 * \endcode
68 *
69 * Clean up before exiting the program.
70 * \code
71 * OTF_Writer_close( writer );
72 * OTF_FileManager_close( manager );
73 *
74 * return 0;
75 * }
76 * \endcode
77 *
78 * Compile this using $ gcc -o test test.c `otfconfig --libs`.
79 *
80 */
81
82 #ifndef OTF_WRITER_H
83 #define OTF_WRITER_H
84
85
86 #include "OTF_MasterControl.h"
87 #include "OTF_FileManager.h"
88 #include "OTF_WBuffer.h"
89 #include "OTF_WStream.h"
90
91
92 #ifdef __cplusplus
93 extern "C" {
94 #endif /* __cplusplus */
95
96 /** writer object \ingroup writer */
97 typedef struct struct_OTF_Writer OTF_Writer;
98
99 /* *** public member functions *** */
100
101
102 /**
103 * Create a new OTF_Writer instance with a given number of automatic streams.
104 *
105 * Setting the number of streams to 0 causes the OTF_Writer object to create a
106 * separate stream for each process. Important! Explicit calls to
107 * OTF_Writer_assignProcess() can lead to an overall number of streams which
108 * exceeds the initial number of streams in this call.
109 * OTF can reduce its file handle usage to a given number. Therefore, an
110 * initialized file manager instance is needed as parameter.
111 * See OTF_FileManager for further details.
112 *
113 * @param fileNamePrefix File name prefix which is going to be used by
114 * all sub-files which belong to the trace.
115 * @param numberOfStreams Initial number of independent data streams to
116 * be generated.
117 * @param fileManager File handle manager.
118 *
119 *
120 * @return Initialized OTF_Writer instance or 0 if a failure
121 * occurred.
122 *
123 * \ingroup writer
124 */
125 OTF_Writer* OTF_Writer_open( const char* fileNamePrefix,
126 uint32_t numberOfStreams,
127 OTF_FileManager* fileManager );
128
129
130 /**
131 * Close an OTF_Writer instance and all its related files.
132 *
133 * @param writer Pointer to an initialized OTF_Writer object. See
134 * also OTF_Writer_open().
135 *
136 * @return 1 if instance was closed successfully and 0 otherwise.
137 *
138 * \ingroup writer
139 */
140 int OTF_Writer_close( OTF_Writer* writer );
141
142
143 /**
144 * Close all streams that are open in this writer instance.
145 *
146 * @param writer Pointer to an initialized OTF_Writer object. See
147 * also OTF_Writer_open().
148 *
149 * @return 1 on success, 0 if an error occurs.
150 *
151 * \ingroup writer
152 */
153 int OTF_Writer_closeAllStreams( OTF_Writer* writer );
154
155
156 /**
157 * Set the standard compression method for all buffers managed by this writer
158 *
159 * @param writer Pointer to an initialized OTF_Writer object. See
160 * also OTF_Writer_open().
161 *
162 * @param compression compression level to apply to all following streams
163 * 0-9, where 0 means no compression is applied, and 9 is
164 * the highest level of compression.
165 *
166 * @return 1 on success, 0 if an error occurs.
167 *
168 * \ingroup writer
169 */
170 int OTF_Writer_setCompression( OTF_Writer* writer, OTF_FileCompression
171 compression );
172
173
174 /**
175 * Return the standard compression method for all buffers managed by this writer
176 *
177 * @param writer Pointer to an initialized OTF_Writer object. See
178 * also OTF_Writer_open().
179 *
180 * @return Standard compression level for all buffers managed by
181 * this writer.
182 *
183 * \ingroup writer
184 */
185 OTF_FileCompression OTF_Writer_getCompression( OTF_Writer* writer );
186
187
188 /**
189 * Set the default buffer size for all buffers managed by this Writer.
190 * This is only effective for future buffers and will not change already
191 * allocated buffers. Those can be changed with the buffers directly.
192 *
193 * @param writer Pointer to an initialized OTF_Writer object. See
194 * also OTF_Writer_open().
195 *
196 * @param size Intended buffer size.
197 *
198 * \ingroup writer
199 */
200 void OTF_Writer_setBufferSizes( OTF_Writer* writer, uint32_t size );
201
202
203 /**
204 * Get the default buffer size for all buffers managed by this Writer.
205 *
206 * @param writer Pointer to an initialized OTF_Writer object. See
207 * also OTF_Writer_open().
208 *
209 * @return Default buffer size for all buffers managed by this Writer.
210 *
211 * \ingroup writer
212 */
213 uint32_t OTF_Writer_getBufferSizes( OTF_Writer* writer );
214
215
216 /**
217 * Set the default zbuffer size for all buffers managed by this Reader.
218 * This is only effective for future files and will not change already
219 * allocated zbuffers. Those can be changed with the files directly.
220 *
221 * @param writer Pointer to an initialized OTF_Writer object. See
222 * also OTF_Writer_open().
223 *
224 * @param size Intended zbuffer size.
225 *
226 * \ingroup writer
227 */
228 void OTF_Writer_setZBufferSizes( OTF_Writer* writer, uint32_t size );
229
230 /**
231 * Get the default zbuffer size.
232 *
233 * @param writer Pointer to an initialized OTF_Writer object. See
234 * also OTF_Writer_open().
235 *
236 * @return zbuffer size.
237 *
238 * \ingroup writer
239 */
240 uint32_t OTF_Writer_getZBufferSizes( OTF_Writer* writer );
241
242 /**
243 * Set the default ouput format. The format is applied to all streams opened by
244 * the writer.
245 *
246 * @param writer Pointer to an initialized OTF_Writer object. See
247 * also OTF_Writer_open().
248 *
249 * @param format Intended output format (OTF_WSTREAM_FORMAT_{LONG,SHORT}).
250 *
251 * \ingroup writer
252 */
253 void OTF_Writer_setFormat( OTF_Writer* writer, uint32_t format );
254
255
256 /**
257 * Get the default output format of all streams managed by this writer.
258 *
259 * @param writer Pointer to an initialized OTF_Writer object. See
260 * also OTF_Writer_open().
261 *
262 * @return Default output format.
263 *
264 * \ingroup writer
265 */
266 uint32_t OTF_Writer_getFormat( OTF_Writer* writer );
267
268
269 /**
270 * Explicitly assign a given process to a specific stream.
271 *
272 * Mind that 0 is not a valid stream or process identifier but a reserved
273 * value. By default, processes are automatically assigned to streams.
274 * Therefore, this call is optional.
275 *
276 * @param writer Pointer to an initialized OTF_Writer object. See
277 * also OTF_Writer_open().
278 * @param process Process identifier. See also OTF_Writer_writeDefProcess().
279 * @param stream Target stream identifier with
280 * 0 < stream <= number of streams as defined in
281 * OTF_Writer_open().
282 *
283 * @return 1 on success, 0 if an error occurs.
284 *
285 * \ingroup writer
286 */
287 uint32_t OTF_Writer_assignProcess( OTF_Writer* writer,
288 uint32_t process,
289 uint32_t stream );
290
291
292 /**
293 * Get a pointer to the master control object of the given writer instance.
294 *
295 * @param writer Pointer to an initialized OTF_Writer object. See
296 * also OTF_Writer_open().
297 *
298 * @return Pointer to a master control object. See OTF_MasterControl.
299 *
300 * \ingroup writer
301 */
302 OTF_MasterControl* OTF_Writer_getMasterControl( OTF_Writer* writer );
303
304
305 /**
306 * Set an alternative master control object. Use this only right after
307 * initialization but never after having written some records already!
308 *
309 * @param writer Pointer to an initialized OTF_Writer object. See
310 * also OTF_Writer_open().
311 * @param mc new master control object
312 *
313 *
314 * \ingroup writer
315 */
316 void OTF_Writer_setMasterControl( OTF_Writer* writer, OTF_MasterControl* mc );
317
318
319 /** For a process with id 'processId' return a stream id of the stream the
320 data is to be written to. If no mapping has been set so far it is defined
321 in a way such that it is added to the stream with the least processes.
322 \ingroup writer */
323 uint32_t OTF_Writer_mapProcess( OTF_Writer* writer, uint32_t processId );
324
325
326 /** Return the stream with the given stream id. If there is no such stream yet
327 create one and append it to 'streams'. \ingroup writer */
328 OTF_WStream* OTF_Writer_getStream( OTF_Writer* writer, uint32_t stream );
329
330
331 /* Methods for writing public definition records ************************** */
332
333
334 /**
335 * Write a comment record.
336 *
337 * @param writer Initialized OTF_Writer instance.
338 * @param stream Target stream identifier with
339 * 0 < stream <= number of streams as defined in
340 * OTF_Writer_open().
341 * @param comment Arbitrary comment string.
342 *
343 * @return 1 on success, 0 if an error occurs.
344 *
345 * \ingroup writer
346 */
347 int OTF_Writer_writeDefinitionComment( OTF_Writer* writer,
348 uint32_t stream,
349 const char* comment );
350
351
352 /**
353 * Write a comment record including an OTF_KeyValueList.
354 *
355 * @param list Initialized OTF_KeyValueList() instance or NULL.
356 *
357 * @see OTF_Writer_writeDefinitionComment()
358 * \ingroup writer
359 */
360 int OTF_Writer_writeDefinitionCommentKV( OTF_Writer* writer,
361 uint32_t stream,
362 const char* comment,
363 OTF_KeyValueList* list );
364
365
366 /**
367 * Write the timer resolution definition record. All timed event records
368 * will be interpreted according to this definition. By default, a timer
369 * resultion of 1 us i.e. 1,000,000 clock ticks is assumed.
370 *
371 * @param writer Pointer to an initialized OTF_Writer object. See
372 * also OTF_Writer_open().
373 * @param stream Target stream identifier with
374 * 0 < stream <= number of streams as defined in
375 * OTF_Writer_open().
376 * @param ticksPerSecond Clock ticks per second of the timer.
377 *
378 * @return 1 on success, 0 if an error occurs.
379 *
380 * \ingroup writer
381 */
382 int OTF_Writer_writeDefTimerResolution( OTF_Writer* writer,
383 uint32_t stream,
384 uint64_t ticksPerSecond );
385
386
387 /**
388 * Write the timer resolution definition record including an OTF_KeyValueList.
389 *
390 * @param list Initialized OTF_KeyValueList() instance or NULL.
391 *
392 * @see OTF_Writer_writeTimerResolution()
393 * \ingroup writer
394 */
395 int OTF_Writer_writeDefTimerResolutionKV( OTF_Writer* writer,
396 uint32_t stream,
397 uint64_t ticksPerSecond,
398 OTF_KeyValueList* list );
399
400
401 /**
402 * Write a process definition record.
403 *
404 * @param writer Pointer to an initialized OTF_Writer object. See
405 * also OTF_Writer_open().
406 * @param stream Target stream identifier with
407 * 0 < stream <= number of streams as defined in
408 * OTF_Writer_open().
409 * @param process Arbitrary but unique process identifier > 0.
410 * @param name Name of the process e.g. "Process X".
411 * @param parent Previously declared parent process identifier or 0 if
412 * process has no parent.
413 *
414 * @return 1 on success, 0 if an error occurs.
415 *
416 * \ingroup writer
417 */
418 int OTF_Writer_writeDefProcess( OTF_Writer* writer,
419 uint32_t stream,
420 uint32_t process,
421 const char* name,
422 uint32_t parent );
423
424
425 /**
426 * Write a process definition record including an OTF_KeyValueList.
427 *
428 * @param list Initialized OTF_KeyValueList() instance or NULL.
429 *
430 * @see OTF_Writer_writeDefProcess()
431 * \ingroup writer
432 */
433 int OTF_Writer_writeDefProcessKV( OTF_Writer* writer,
434 uint32_t stream,
435 uint32_t process,
436 const char* name,
437 uint32_t parent,
438 OTF_KeyValueList* list );
439
440
441 /**
442 * Write a process group definition record.
443 *
444 * OTF supports groups of processes. Their main objective is to classify
445 * processes depending on arbitrary characteristics. Processes can reside
446 * in multiple groups. This record type is optional.
447 *
448 * @param writer Pointer to an initialized OTF_Writer object. See
449 * also OTF_Writer_open().
450 * @param stream Target stream identifier with
451 * 0 < stream <= number of streams as defined in
452 * OTF_Writer_open().
453 * @param procGroup Arbitrary but unique process group identifier > 0.
454 * @param name Name of the process group e.g. "Well Balanced".
455 * @param numberOfProcs The number of processes in the process group.
456 * @param procs Vector of process identifiers or previously defined
457 * process group identifiers as defined with
458 * OTF_Writer_writeDefProcess() resp.
459 * OTF_Writer_writeDefProcessGroup.
460 *
461 * @return 1 on success, 0 if an error occurs.
462 *
463 * \ingroup writer
464 */
465 int OTF_Writer_writeDefProcessGroup( OTF_Writer* writer,
466 uint32_t stream,
467 uint32_t procGroup,
468 const char* name,
469 uint32_t numberOfProcs,
470 const uint32_t* procs );
471
472
473 /**
474 * Write a process group definition record including an OTF_KeyValueList.
475 *
476 * @param list Initialized OTF_KeyValueList() instance or NULL.
477 *
478 * @see OTF_Writer_writeDefProcessGroup()
479 * \ingroup writer
480 */
481 int OTF_Writer_writeDefProcessGroupKV( OTF_Writer* writer,
482 uint32_t stream,
483 uint32_t procGroup,
484 const char* name,
485 uint32_t numberOfProcs,
486 const uint32_t* procs,
487 OTF_KeyValueList* list );
488
489
490 /**
491 * Write an attribute list definition record.
492 *
493 * Defines a list of attributes that is assigned to a unique token.
494 *
495 * @param writer Pointer to an initialized OTF_Writer object. See
496 * also OTF_Writer_open().
497 * @param stream Target stream identifier with
498 * 0 < stream <= number of streams as defined in
499 * OTF_Writer_open().
500 * @param attr_token Arbitrary but unique attribute list identifier > 0.
501 * @param num Number of elements in the attribute list array.
502 * @param array An array of different attributes with type of OTF_ATTR_TYPE().
503 *
504 * @return 1 on success, 0 if an error occurs.
505 *
506 * \ingroup writer
507 */
508 int OTF_Writer_writeDefAttributeList( OTF_Writer* writer,
509 uint32_t stream,
510 uint32_t attr_token,
511 uint32_t num,
512 OTF_ATTR_TYPE* array );
513
514
515 /**
516 * Write an attribute list definition record including an OTF_KeyValueList.
517 *
518 * @param list Initialized OTF_KeyValueList() instance or NULL.
519 *
520 * @see OTF_Writer_writeDefAttributeList()
521 * \ingroup writer
522 */
523 int OTF_Writer_writeDefAttributeListKV( OTF_Writer* writer,
524 uint32_t stream,
525 uint32_t attr_token,
526 uint32_t num,
527 OTF_ATTR_TYPE* array,
528 OTF_KeyValueList* list );
529
530
531 /**
532 * Write a process or group attributes definition record.
533 *
534 * @param writer Pointer to an initialized OTF_Writer object. See
535 * also OTF_Writer_open().
536 * @param stream Target stream identifier with
537 * 0 < stream <= number of streams as defined in
538 * OTF_Writer_open().
539 * @param proc_token Arbitrary but unique process or process group identifier > 0.
540 * @param attr_token A unique token that was defined with OTF_Writer_writeDefAttributeList().
541 *
542 * @return 1 on success, 0 if an error occurs.
543 *
544 * \ingroup writer
545 */
546 int OTF_Writer_writeDefProcessOrGroupAttributes( OTF_Writer* writer,
547 uint32_t stream,
548 uint32_t proc_token,
549 uint32_t attr_token );
550
551
552 /**
553 * Write a process or group attributes definition record including an OTF_KeyValueList.
554 *
555 * @param list Initialized OTF_KeyValueList() instance or NULL.
556 *
557 * @see OTF_Writer_writeDefProcessOrGroupAttributes()
558 * \ingroup writer
559 */
560 int OTF_Writer_writeDefProcessOrGroupAttributesKV( OTF_Writer* writer,
561 uint32_t stream,
562 uint32_t proc_token,
563 uint32_t attr_token,
564 OTF_KeyValueList* list );
565
566
567 /**
568 * Write a function definition record.
569 *
570 * Defines a function of the given name. Functions can optionally belong to a
571 * certain function group to be defined with the
572 * OTF_Writer_writeDefFunctionGroup() call. A source code reference can
573 * be added to the definition aswell.
574 *
575 * @param writer Pointer to an initialized OTF_Writer object. See
576 * also OTF_Writer_open().
577 * @param stream Target stream identifier with
578 * 0 < stream <= number of streams as defined in
579 * OTF_Writer_open().
580 * @param func Arbitrary but unique function identifier > 0.
581 * @param name Name of the function e.g. "DoSomething".
582 * @param funcGroup A function group identifier preliminary defined with
583 * OTF_Writer_writeDefFunctionGroup() or 0 for no
584 * function group assignment.
585 * @param source Reference to the function's source code location
586 * preliminary defined with OTF_Writer_writeDefScl() or
587 * 0 for no source code location assignment.
588 *
589 * @return 1 on success, 0 if an error occurs.
590 *
591 * \ingroup writer
592 */
593 int OTF_Writer_writeDefFunction( OTF_Writer* writer,
594 uint32_t stream,
595 uint32_t func,
596 const char* name,
597 uint32_t funcGroup,
598 uint32_t source );
599
600
601 /**
602 * Write a function definition record including an OTF_KeyValueList.
603 *
604 * @param list Initialized OTF_KeyValueList() instance or NULL.
605 *
606 * @see OTF_Writer_writeDefFunction()
607 * \ingroup writer
608 */
609 int OTF_Writer_writeDefFunctionKV( OTF_Writer* writer,
610 uint32_t stream,
611 uint32_t func,
612 const char* name,
613 uint32_t funcGroup,
614 uint32_t source,
615 OTF_KeyValueList* list );
616
617
618 /**
619 * Write a function group definition record.
620 *
621 * @param writer Pointer to an initialized OTF_Writer object. See
622 * also OTF_Writer_open().
623 * @param stream Target stream identifier with
624 * 0 < stream <= number of streams as defined in
625 * OTF_Writer_open().
626 * @param funcGroup An arbitrary but unique function group identifier > 0.
627 * @param name Name of the function group e.g. "Computation".
628 *
629 * @return 1 on success, 0 if an error occurs.
630 *
631 * \ingroup writer
632 */
633 int OTF_Writer_writeDefFunctionGroup( OTF_Writer* writer,
634 uint32_t stream,
635 uint32_t funcGroup,
636 const char* name );
637
638
639 /**
640 * Write a function group definition record including an OTF_KeyValueList.
641 *
642 * @param list Initialized OTF_KeyValueList() instance or NULL.
643 *
644 * @see OTF_Writer_writeDefFunctionGroup()
645 * \ingroup writer
646 */
647 int OTF_Writer_writeDefFunctionGroupKV( OTF_Writer* writer,
648 uint32_t stream,
649 uint32_t funcGroup,
650 const char* name,
651 OTF_KeyValueList* list );
652
653
654 /**
655 * Write a collective operation definition record.
656 *
657 * @param writer Initialized OTF_Writer instance.
658 * @param stream Target stream identifier with
659 * 0 < stream <= number of streams as defined in
660 * OTF_Writer_open().
661 * @param collOp An arbitrary but unique collective op. identifier > 0.
662 * @param name Name of the collective operation e.g. "MPI_Bcast".
663 * @param type One of the five supported collective classes:
664 * OTF_COLLECTIVE_TYPE_UNKNOWN (default),
665 * OTF_COLLECTIVE_TYPE_BARRIER,
666 * OTF_COLLECTIVE_TYPE_ONE2ALL,
667 * OTF_COLLECTIVE_TYPE_ALL2ONE,
668 * OTF_COLLECTIVE_TYPE_ALL2ALL.
669 *
670 * @return 1 on success, 0 if an error occurs.
671 *
672 * \ingroup writer
673 */
674 int OTF_Writer_writeDefCollectiveOperation( OTF_Writer* writer,
675 uint32_t stream,
676 uint32_t collOp,
677 const char* name,
678 uint32_t type );
679
680
681 /**
682 * Write a collective operation definition record including an OTF_KeyValueList.
683 *
684 * @param list Initialized OTF_KeyValueList() instance or NULL.
685 *
686 * @see OTF_Writer_writeDefCollectiveOperation()
687 * \ingroup writer
688 */
689 int OTF_Writer_writeDefCollectiveOperationKV( OTF_Writer* writer,
690 uint32_t stream,
691 uint32_t collOp,
692 const char* name,
693 uint32_t type,
694 OTF_KeyValueList* list );
695
696
697 /**
698 * Write a counter definition record.
699 *
700 * @param writer Initialized OTF_Writer instance.
701 * @param stream Target stream identifier with
702 * 0 < stream <= number of streams as defined in
703 * OTF_Writer_open().
704 * @param counter An arbitrary but unique counter identifier.
705 * @param name Name of the counter e.g. "Cache Misses".
706 * @param properties A combination of a type and scope counter property.
707 * OTF_COUNTER_TYPE_ACC (default) represents a counter
708 * with monotonously increasing values e.g. a FLOP
709 * counter. OTF_COUNTER_TYPE_ABS on the other hand
710 * defines a counter with alternating absolute values e.g.
711 * the memory usage of a process. The following counter
712 * measurement scopes are supported:
713 * OTF_COUNTER_SCOPE_START (default) always refers to the
714 * start of the process, OTF_COUNTER_SCOPE_POINT refers
715 * to exactly this moment in time, OTF_COUNTER_SCOPE_LAST
716 * relates to the previous measurement, and
717 * OTF_COUNTER_SCOPE_NEXT to the next measurement.
718 * Examples: OTF_COUNTER_TYPE_ACC +
719 * OTF_COUNTER_SCOPE_START should be used for most
720 * standard hardware (PAPI) counters.
721 * OTF_COUNTER_TYPE_ABS + OTF_COUNTER_SCOPE_POINT could
722 * be used to record information 'spikes'.
723 * OTF_COUNTER_TYPE_ABS + OTF_COUNTER_SCOPE_NEXT works
724 * for memory allocation recording.
725 * @param counterGroup A previously defined counter group identifier or 0
726 * for no group.
727 * @param unit Unit of the counter e.g. "#" for "number of..." or 0
728 * for no unit.
729 *
730 * @return 1 on success, 0 if an error occurs.
731 *
732 * \ingroup writer
733 */
734 int OTF_Writer_writeDefCounter( OTF_Writer* writer,
735 uint32_t stream,
736 uint32_t counter,
737 const char* name,
738 uint32_t properties,
739 uint32_t counterGroup,
740 const char* unit );
741
742
743 /**
744 * Write a counter definition record including an OTF_KeyValueList.
745 *
746 * @param list Initialized OTF_KeyValueList() instance or NULL.
747 *
748 * @see OTF_Writer_writeDefCounter()
749 * \ingroup writer
750 */
751 int OTF_Writer_writeDefCounterKV( OTF_Writer* writer,
752 uint32_t stream,
753 uint32_t counter,
754 const char* name,
755 uint32_t properties,
756 uint32_t counterGroup,
757 const char* unit,
758 OTF_KeyValueList* list );
759
760
761 /**
762 * Write a counter group definition record.
763 *
764 * @param writer Initialized OTF_Writer instance.
765 * @param stream Target stream identifier with
766 * 0 < stream <= number of streams as defined in
767 * OTF_Writer_open().
768 * @param counterGroup An arbitrary but unique counter group identifier.
769 * @param name Counter group name.
770 *
771 * @return 1 on success, 0 if an error occurs.
772 *
773 * \ingroup writer
774 */
775 int OTF_Writer_writeDefCounterGroup( OTF_Writer* writer,
776 uint32_t stream,
777 uint32_t counterGroup,
778 const char* name );
779
780
781 /**
782 * Write a counter group definition record including an OTF_KeyValueList.
783 *
784 * @param list Initialized OTF_KeyValueList() instance or NULL.
785 *
786 * @see OTF_Writer_writeDefCounterGroup()
787 * \ingroup writer
788 */
789 int OTF_Writer_writeDefCounterGroupKV( OTF_Writer* writer,
790 uint32_t stream,
791 uint32_t counterGroup,
792 const char* name,
793 OTF_KeyValueList* list );
794
795
796 /**
797 * Write a source code location (SCL) record.
798 *
799 * @param writer Initialized OTF_Writer instance.
800 * @param stream Target stream identifier with
801 * 0 < stream <= number of streams as defined in
802 * OTF_Writer_open().
803 * @param source Arbitrary but unique source code location
804 * identifier > 0.
805 * @param sourceFile Previously defined source file identifier. See
806 * OTF_Writer_writeDefSclFile().
807 * @param line Line number.
808 *
809 * @return 1 on success, 0 if an error occurs.
810 *
811 * \ingroup writer
812 */
813 int OTF_Writer_writeDefScl( OTF_Writer* writer,
814 uint32_t stream,
815 uint32_t source,
816 uint32_t sourceFile,
817 uint32_t line );
818
819
820 /**
821 * Write a source code location (SCL) record including an OTF_KeyValueList.
822 *
823 * @param list Initialized OTF_KeyValueList() instance or NULL.
824 *
825 * @see OTF_Writer_writeDefScl()
826 * \ingroup writer
827 */
828 int OTF_Writer_writeDefSclKV( OTF_Writer* writer,
829 uint32_t stream,
830 uint32_t source,
831 uint32_t sourceFile,
832 uint32_t line,
833 OTF_KeyValueList* list );
834
835
836 /**
837 * Write a source code location (SCL) file record.
838 *
839 * @param writer Initialized OTF_Writer instance.
840 * @param stream Target stream identifier with
841 * 0 < stream <= number of streams as defined in
842 * OTF_Writer_open().
843 * @param sourceFile Arbitrary but unique source code location
844 * identifier != 0.
845 * @param name File name.
846 *
847 * @return 1 on success, 0 if an error occurs.
848 *
849 * \ingroup writer
850 */
851 int OTF_Writer_writeDefSclFile( OTF_Writer* writer,
852 uint32_t stream,
853 uint32_t sourceFile,
854 const char* name );
855
856
857 /**
858 * Write a source code location (SCL) file record including an OTF_KeyValueList.
859 *
860 * @param list Initialized OTF_KeyValueList() instance or NULL.
861 *
862 * @see OTF_Writer_writeDefSclFile()
863 * \ingroup writer
864 */
865 int OTF_Writer_writeDefSclFileKV( OTF_Writer* writer,
866 uint32_t stream,
867 uint32_t sourceFile,
868 const char* name,
869 OTF_KeyValueList* list );
870
871
872 /**
873 * depricated. The Otf-Version-record is generated automatically at beginning of
874 * tracing in the global definiton stream.
875 *
876 * \ingroup writer
877 */
878 int OTF_Writer_writeOtfVersion( OTF_Writer* writer, uint32_t stream );
879
880
881 /**
882 * Write a creator record.
883 *
884 * @param writer Initialized OTF_Writer instance.
885 * @param stream Target stream identifier with
886 * 0 < stream <= number of streams as defined in
887 * OTF_Writer_open().
888 * @param creator String which identifies the creator of the
889 * file e.g. "TAU Version x.y.z".
890 *
891 * @return 1 on success, 0 if an error occurs.
892 *
893 * \ingroup writer
894 */
895 int OTF_Writer_writeDefCreator( OTF_Writer* writer, uint32_t stream,
896 const char* creator );
897
898
899 /**
900 * Write a creator record including an OTF_KeyValueList.
901 *
902 * @param list Initialized OTF_KeyValueList() instance or NULL.
903 *
904 * @see OTF_Writer_writeDefCreator()
905 * \ingroup writer
906 */
907 int OTF_Writer_writeDefCreatorKV( OTF_Writer* writer, uint32_t stream,
908 const char* creator,
909 OTF_KeyValueList* list );
910
911
912
913
914 /**
915 * Write a file definition record
916 *
917 * @param writer Initialized OTF_Writer instance.
918 * @param stream Target stream identifier with
919 * 0 < stream <= number of streams as defined in
920 * OTF_Writer_open().
921 * @param token Arbitrary, unique identifier for the file.
922 * Has to be > 0.
923 * @param name Name of the file.
924 * @param group File group identifier or 0 for no group.
925 *
926 * @return 1 on success, 0 if an error occurs.
927 *
928 * \ingroup writer
929 */
930 int OTF_Writer_writeDefFile( OTF_Writer* writer,
931 uint32_t stream,
932 uint32_t token,
933 const char* name,
934 uint32_t group );
935
936
937 /**
938 * Write a file definition record including an OTF_KeyValueList.
939 *
940 * @param list Initialized OTF_KeyValueList() instance or NULL.
941 *
942 * @see OTF_Writer_writeDefFile()
943 * \ingroup writer
944 */
945 int OTF_Writer_writeDefFileKV( OTF_Writer* writer,
946 uint32_t stream,
947 uint32_t token,
948 const char* name,
949 uint32_t group,
950 OTF_KeyValueList* list );
951
952
953 /**
954 * Write a file group definition record
955 *
956 * @param writer Initialized OTF_Writer instance.
957 * @param stream Target stream identifier with
958 * 0 < stream <= number of streams as defined in
959 * OTF_Writer_open().
960 * @param token Arbitrary, unique identifier for the file group.
961 * Has to be > 0.
962 * @param name Name of the file group.
963 *
964 * @return 1 on success, 0 if an error occurs.
965 *
966 * \ingroup writer
967 */
968 int OTF_Writer_writeDefFileGroup( OTF_Writer* writer,
969 uint32_t stream,
970 uint32_t token,
971 const char* name );
972
973
974 /**
975 * Write a file group definition record including an OTF_KeyValueList.
976 *
977 * @param list Initialized OTF_KeyValueList() instance or NULL.
978 *
979 * @see OTF_Writer_writeDefFileGroup()
980 * \ingroup writer
981 */
982 int OTF_Writer_writeDefFileGroupKV( OTF_Writer* writer,
983 uint32_t stream,
984 uint32_t token,
985 const char* name,
986 OTF_KeyValueList* list );
987
988
989 /**
990 * Write a key value definition record
991 *
992 * @param writer Initialized OTF_Writer instance.
993 * @param stream Target stream identifier with
994 * 0 < stream <= number of streams as defined in
995 * OTF_Writer_open().
996 * @param key Arbitrary, unique identifier for the key value pair.
997 * @param type Type of the key.
998 * @param name Name of the key value pair.
999 * @param description Description of the key value pair.
1000 *
1001 * @return 1 on success, 0 if an error occurs.
1002 *
1003 * \ingroup writer
1004 */
1005 int OTF_Writer_writeDefKeyValue( OTF_Writer* writer,
1006 uint32_t stream,
1007 uint32_t key,
1008 OTF_Type type,
1009 const char* name,
1010 const char* description );
1011
1012
1013 /**
1014 * Write a key value definition record including an OTF_KeyValueList.
1015 *
1016 * @param list Initialized OTF_KeyValueList() instance or NULL.
1017 *
1018 * @see OTF_Writer_writeDefKeyValue()
1019 * \ingroup writer
1020 */
1021 int OTF_Writer_writeDefKeyValueKV( OTF_Writer* writer,
1022 uint32_t stream,
1023 uint32_t key,
1024 OTF_Type type,
1025 const char* name,
1026 const char* description,
1027 OTF_KeyValueList* list );
1028
1029
1030 /**
1031 * Writes a TimeRange definition
1032 *
1033 * @param userData Pointer to user data which can be set with
1034 * OTF_HandlerArray_setFirstHandlerArg().
1035 * @param streamid Identifies the stream to which this definition
1036 * belongs to. stream = 0 represents a global
1037 * definition.
1038 *
1039 * @param minTime The smallest timestamp of the events in this @a streamid.
1040 *
1041 * @param maxTime The greates timestamp of the events in this @a streamid (inclusive).
1042 *
1043 * @param list Pointer to an OTF_KeyValueList() that contains individual data.
1044 *
1045 * @return 1 on success, 0 if an error occurs.
1046 *
1047 * \ingroup writer
1048 */
1049 int OTF_Writer_writeDefTimeRange( OTF_Writer* writer,
1050 uint32_t streamid,
1051 uint64_t minTime,
1052 uint64_t maxTime,
1053 OTF_KeyValueList* list );
1054
1055 /**
1056 * Writes a CounterAssignments definition
1057 *
1058 * @param userData Pointer to user data which can be set with
1059 * OTF_HandlerArray_setFirstHandlerArg().
1060 * @param streamid Identifies the stream to which this definition
1061 * belongs to. stream = 0 represents a global
1062 * definition.
1063 *
1064 * @param counter_token Counter id.
1065 *
1066 * @param number_of_members Number of entries in @procs_or_groups array.
1067 *
1068 * @param procs_or_groups The processes or process groups which have recorded
1069 * counter data for counter @counter_token.
1070 *
1071 * @param list Pointer to an OTF_KeyValueList() that contains individual data.
1072 *
1073 * @return 1 on success, 0 if an error occurs.
1074 *
1075 * \ingroup writer
1076 */
1077 int OTF_Writer_writeDefCounterAssignments( OTF_Writer* writer,
1078 uint32_t streamid,
1079 uint32_t counter_token,
1080 uint32_t number_of_members,
1081 const uint32_t* procs_or_groups,
1082 OTF_KeyValueList* list );
1083
1084
1085 /**
1086 * Writes a ProcessSubstitutes definition record
1087 *
1088 * @param userData Pointer to user data which can be set with
1089 * OTF_HandlerArray_setFirstHandlerArg().
1090 * @param streamid Identifies the stream to which this definition
1091 * belongs to. stream = 0 represents a global
1092 * definition.
1093 *
1094 * @param representative Process ID of the process that represents several others.
1095 *
1096 * @param numberOfProcs Number of entries in @procs array.
1097 *
1098 * @param procs The processes which are represented by
1099 * @representative. It may or may not include
1100 * @representative itself.
1101 *
1102 * @param list Pointer to an OTF_KeyValueList() that contains individual data.
1103 *
1104 * @return 1 on success, 0 if an error occurs.
1105 *
1106 * \ingroup writer
1107 */
1108 int OTF_Writer_writeDefProcessSubstitutes( OTF_Writer* writer,
1109 uint32_t streamid,
1110 uint32_t representative,
1111 uint32_t numberOfProcs,
1112 const uint32_t* procs,
1113 OTF_KeyValueList* list );
1114
1115
1116 /**
1117 * Write a no-operation record. This can be used to write an OTF_KeyValueList
1118 * that is not attached to a special event record.
1119 *
1120 * @param writer Initialized OTF_Writer instance.
1121 * @param time The time when the NoOp event took place.
1122 * @param process Process where action took place.
1123 * @param list Initialized OTF_KeyValueList() instance or NULL.
1124 *
1125 * @return 1 on success, 0 if an error occurs.
1126 *
1127 * \ingroup writer
1128 */
1129 int OTF_Writer_writeNoOpKV( OTF_Writer* writer,
1130 uint64_t time,
1131 uint32_t process,
1132 OTF_KeyValueList* list );
1133
1134
1135 /**
1136 * Write a function entry record.
1137 *
1138 * @param writer Initialized OTF_Writer instance.
1139 * @param time The time when the function entry took place.
1140 * @param function Function to be entered as defined with
1141 * OTF_Writer_defFunction.
1142 * @param process Process where action took place.
1143 * @param source Optional reference to source code.
1144 *
1145 * @return 1 on success, 0 if an error occurs.
1146 *
1147 * \ingroup writer
1148 */
1149 int OTF_Writer_writeEnter( OTF_Writer* writer,
1150 uint64_t time,
1151 uint32_t function,
1152 uint32_t process,
1153 uint32_t source );
1154
1155
1156 /**
1157 * Write a function entry record including an OTF_KeyValueList.
1158 *
1159 * @param list Initialized OTF_KeyValueList() instance or NULL.
1160 *
1161 * @see OTF_Writer_writeEnter()
1162 * \ingroup writer
1163 */
1164 int OTF_Writer_writeEnterKV( OTF_Writer* writer,
1165 uint64_t time,
1166 uint32_t function,
1167 uint32_t process,
1168 uint32_t source,
1169 OTF_KeyValueList* list );
1170
1171
1172 /**
1173 * Write a function leave record.
1174 *
1175 * @param writer Initialized OTF_Writer instance.
1176 * @param time The time when the function leave took place.
1177 * @param function Function which was left or 0 if stack integrety checking
1178 * is not needed.
1179 * @param process Process where action took place.
1180 * @param source Explicit source code location or 0.
1181 *
1182 * @return 1 on success, 0 if an error occurs.
1183 *
1184 * \ingroup writer
1185 */
1186 int OTF_Writer_writeLeave( OTF_Writer* writer,
1187 uint64_t time,
1188 uint32_t function,
1189 uint32_t process,
1190 uint32_t source );
1191
1192
1193 /**
1194 * Write a function leave record including an OTF_KeyValueList.
1195 *
1196 * @param list Initialized OTF_KeyValueList() instance or NULL.
1197 *
1198 * @see OTF_Writer_writeLeave()
1199 * \ingroup writer
1200 */
1201 int OTF_Writer_writeLeaveKV( OTF_Writer* writer,
1202 uint64_t time,
1203 uint32_t function,
1204 uint32_t process,
1205 uint32_t source,
1206 OTF_KeyValueList* list );
1207
1208
1209 /**
1210 * Write a message retrieval record.
1211 *
1212 * @param writer Initialized OTF_Writer instance.
1213 * @param time The time when the message was received.
1214 * @param receiver Identifier of receiving process.
1215 * @param sender Identifier of sending process.
1216 * @param procGroup Optional process-group sender and receiver belong to,
1217 * '0' for no group.
1218 * @param tag Optional message type information.
1219 * @param length Optional message length information.
1220 * @param source Optional reference to source code.
1221 *
1222 * @return 1 on success, 0 if an error occurs.
1223 *
1224 * \ingroup writer
1225 */
1226 int OTF_Writer_writeRecvMsg( OTF_Writer* writer,
1227 uint64_t time,
1228 uint32_t receiver,
1229 uint32_t sender,
1230 uint32_t procGroup,
1231 uint32_t tag,
1232 uint32_t length,
1233 uint32_t source );
1234
1235
1236 /**
1237 * Write a message retrieval record including an OTF_KeyValueList.
1238 *
1239 * @param list Initialized OTF_KeyValueList() instance or NULL.
1240 *
1241 * @see OTF_Writer_writeRecvMsg()
1242 * \ingroup writer
1243 */
1244 int OTF_Writer_writeRecvMsgKV( OTF_Writer* writer,
1245 uint64_t time,
1246 uint32_t receiver,
1247 uint32_t sender,
1248 uint32_t procGroup,
1249 uint32_t tag,
1250 uint32_t length,
1251 uint32_t source,
1252 OTF_KeyValueList* list );
1253
1254
1255 /**
1256 * Write a message send record.
1257 *
1258 * @param writer Initialized OTF_Writer instance.
1259 * @param time The time when the message was send.
1260 * @param sender Sender of the message.
1261 * @param receiver Receiver of the message.
1262 * @param procGroup Optional process-group sender and receiver belong to,
1263 * '0' for no group.
1264 * @param tag Optional message type information.
1265 * @param length Optional message length information.
1266 * @param source Optional reference to source code.
1267 *
1268 * @return 1 on success, 0 if an error occurs.
1269 *
1270 * \ingroup writer
1271 */
1272 int OTF_Writer_writeSendMsg( OTF_Writer* writer,
1273 uint64_t time,
1274 uint32_t sender,
1275 uint32_t receiver,
1276 uint32_t procGroup,
1277 uint32_t tag,
1278 uint32_t length,
1279 uint32_t source );
1280
1281
1282 /**
1283 * Write a message send record including an OTF_KeyValueList.
1284 *
1285 * @param list Initialized OTF_KeyValueList() instance or NULL.
1286 *
1287 * @see OTF_Writer_writeSendMsg()
1288 * \ingroup writer
1289 */
1290 int OTF_Writer_writeSendMsgKV( OTF_Writer* writer,
1291 uint64_t time,
1292 uint32_t sender,
1293 uint32_t receiver,
1294 uint32_t procGroup,
1295 uint32_t tag,
1296 uint32_t length,
1297 uint32_t source,
1298 OTF_KeyValueList* list );
1299
1300
1301 /**
1302 * Write a counter measurement record.
1303 *
1304 * @param writer Initialized OTF_Writer instance.
1305 * @param time Time when counter was measured.
1306 * @param process Process where counter measurment took place.
1307 * @param counter Counter which was measured.
1308 * @param value Counter value.
1309 *
1310 * @return 1 on success, 0 if an error occurs.
1311 *
1312 * \ingroup writer
1313 */
1314 int OTF_Writer_writeCounter( OTF_Writer* writer,
1315 uint64_t time,
1316 uint32_t process,
1317 uint32_t counter,
1318 uint64_t value );
1319
1320
1321 /**
1322 * Write a counter measurement record including an OTF_KeyValueList.
1323 *
1324 * @param list Initialized OTF_KeyValueList() instance or NULL.
1325 *
1326 * @see OTF_Writer_writeCounter()
1327 * \ingroup writer
1328 */
1329 int OTF_Writer_writeCounterKV( OTF_Writer* writer,
1330 uint64_t time,
1331 uint32_t process,
1332 uint32_t counter,
1333 uint64_t value,
1334 OTF_KeyValueList* list );
1335
1336
1337 /**
1338 * Write a collective operation member record.
1339 * @deprecated This event record has been deprecated due to usage constraints.
1340 * Please use OTF_Writer_writeBeginCollectiveOperation() and
1341 * OTF_Writer_writeEndCollectiveOperation(), repectively.
1342 *
1343 * @param writer Initialized OTF_Writer instance.
1344 * @param time Time when collective operation was entered by member.
1345 * @param process Process identifier i.e. collective member.
1346 * @param collective Collective identifier to be defined with
1347 * OTF_Writer_writeDefCollectiveOperation().
1348 * @param procGroup Group of processes participating in this collective.
1349 * @param rootProc Root process if != 0.
1350 * @param sent Data volume sent by member or 0.
1351 * @param received Data volumd received by member or 0.
1352 * @param duration Time spent in collective operation.
1353 * @param source Explicit source code location or 0.
1354 *
1355 * @return 1 on success, 0 if an error occurs.
1356 *
1357 * \ingroup writer
1358 */
1359 int OTF_Writer_writeCollectiveOperation( OTF_Writer* writer,
1360 uint64_t time,
1361 uint32_t process,
1362 uint32_t collective,
1363 uint32_t procGroup,
1364 uint32_t rootProc,
1365 uint32_t sent,
1366 uint32_t received,
1367 uint64_t duration,
1368 uint32_t source );
1369
1370
1371 /**
1372 * Write a collective operation member record including an OTF_KeyValueList.
1373 * @deprecated This event record has been deprecated due to usage constraints.
1374 * Please use OTF_Writer_writeBeginCollectiveOperationEV() and
1375 * OTF_Writer_writeEndCollectiveOperationEV(), repectively.
1376 *
1377 * @param list Initialized OTF_KeyValueList() instance or NULL.
1378 *
1379 * @see OTF_Writer_writeCollectiveOperation()
1380 * \ingroup writer
1381 */
1382 int OTF_Writer_writeCollectiveOperationKV( OTF_Writer* writer,
1383 uint64_t time,
1384 uint32_t process,
1385 uint32_t collective,
1386 uint32_t procGroup,
1387 uint32_t rootProc,
1388 uint32_t sent,
1389 uint32_t received,
1390 uint64_t duration,
1391 uint32_t source,
1392 OTF_KeyValueList* list );
1393
1394
1395 /**
1396 * Write a begin collective operation member record.
1397 *
1398 * @param writer Initialized OTF_Writer instance.
1399 * @param time Time when collective operation was entered by member.
1400 * @param process Process identifier i.e. collective member.
1401 * @param collOp Collective identifier to be defined with
1402 * OTF_Writer_writeDefCollectiveOperation().
1403 * @param matchingId Identifier for finding the associated end collective event
1404 * record. It must be unique within this procGroup.
1405 * @param procGroup Group of processes participating in this collective.
1406 * @param rootProc Root process if != 0.
1407 * @param sent Data volume sent by member or 0.
1408 * @param received Data volume received by member or 0.
1409 * @param scltoken Explicit source code location or 0.
1410 *
1411 * @return 1 on success, 0 if an error occurs.
1412 *
1413 * \ingroup writer
1414 */
1415 int OTF_Writer_writeBeginCollectiveOperation( OTF_Writer* writer,
1416 uint64_t time,
1417 uint32_t process,
1418 uint32_t collOp,
1419 uint64_t matchingId,
1420 uint32_t procGroup,
1421 uint32_t rootProc,
1422 uint64_t sent,
1423 uint64_t received,
1424 uint32_t scltoken );
1425
1426
1427 /**
1428 * Write a begin collective operation member record including an OTF_KeyValueList.
1429 *
1430 * @param list Initialized OTF_KeyValueList() instance or NULL.
1431 *
1432 * @see OTF_Writer_writeBeginCollectiveOperation()
1433 * \ingroup writer
1434 */
1435 int OTF_Writer_writeBeginCollectiveOperationKV( OTF_Writer* writer,
1436 uint64_t time,
1437 uint32_t process,
1438 uint32_t collOp,
1439 uint64_t matchingId,
1440 uint32_t procGroup,
1441 uint32_t rootProc,
1442 uint64_t sent,
1443 uint64_t received,
1444 uint32_t scltoken,
1445 OTF_KeyValueList* list );
1446
1447
1448 /**
1449 * Write an end collective operation member record.
1450 *
1451 * @param writer Initialized OTF_Writer instance.
1452 * @param time Time when collective operation was entered by member.
1453 * @param process Process identifier i.e. collective member.
1454 * @param matchingId Matching identifier, must match a previous start
1455 * collective operation.
1456 *
1457 * @return 1 on success, 0 if an error occurs.
1458 *
1459 * \ingroup writer
1460 */
1461 int OTF_Writer_writeEndCollectiveOperation( OTF_Writer* writer,
1462 uint64_t time,
1463 uint32_t process,
1464 uint64_t matchingId );
1465
1466
1467 /**
1468 * Write an end collective operation member record including an OTF_KeyValueList.
1469 *
1470 * @param list Initialized OTF_KeyValueList() instance or NULL.
1471 *
1472 * @see OTF_Writer_writeEndCollectiveOperation()
1473 * \ingroup writer
1474 */
1475 int OTF_Writer_writeEndCollectiveOperationKV( OTF_Writer* writer,
1476 uint64_t time,
1477 uint32_t process,
1478 uint64_t matchingId,
1479 OTF_KeyValueList* list );
1480
1481
1482 /**
1483 * Write a comment record.
1484 *
1485 * @param writer Initialized OTF_Writer instance.
1486 * @param time Comments need a timestamp for a proper positioning in the
1487 * trace.
1488 * @param process Comments also need a process identifier for a proper
1489 * positioning in the trace.
1490 * @param comment Arbitrary comment string.
1491 *
1492 * @return 1 on success, 0 if an error occurs.
1493 *
1494 * \ingroup writer
1495 */
1496
1497 int OTF_Writer_writeEventComment( OTF_Writer* writer,
1498 uint64_t time,
1499 uint32_t process,
1500 const char* comment );
1501
1502
1503 /**
1504 * Write a comment record including an OTF_KeyValueList.
1505 *
1506 * @param list Initialized OTF_KeyValueList() instance or NULL.
1507 *
1508 * @see OTF_Writer_writeEventComment()
1509 * \ingroup writer
1510 */
1511 int OTF_Writer_writeEventCommentKV( OTF_Writer* writer,
1512 uint64_t time,
1513 uint32_t process,
1514 const char* comment,
1515 OTF_KeyValueList* list );
1516
1517
1518 /**
1519 * Write a begin process record
1520 *
1521 * @param writer Initialized OTF_Writer instance.
1522 * @param time Time when process was referenced for the first time.
1523 * @param process Process identifier > 0.
1524 *
1525 * @return 1 on success, 0 if an error occurs.
1526 *
1527 * \ingroup writer
1528 */
1529
1530 int OTF_Writer_writeBeginProcess( OTF_Writer* writer,
1531 uint64_t time,
1532 uint32_t process );
1533
1534
1535 /**
1536 * Write a begin process record including an OTF_KeyValueList.
1537 *
1538 * @param list Initialized OTF_KeyValueList() instance or NULL.
1539 *
1540 * @see OTF_Writer_writeBeginProcess()
1541 * \ingroup writer
1542 */
1543 int OTF_Writer_writeBeginProcessKV( OTF_Writer* writer,
1544 uint64_t time,
1545 uint32_t process,
1546 OTF_KeyValueList* list );
1547
1548
1549 /**
1550 * Write a end process record
1551 *
1552 * @param writer Initialized OTF_Writer instance.
1553 * @param time Time when process was referenced for the last time.
1554 * @param process Process identifier > 0.
1555 *
1556 * @return 1 on success, 0 if an error occurs.
1557 *
1558 * \ingroup writer
1559 */
1560
1561 int OTF_Writer_writeEndProcess( OTF_Writer* writer,
1562 uint64_t time,
1563 uint32_t process );
1564
1565
1566 /**
1567 * Write a end process record including an OTF_KeyValueList.
1568 *
1569 * @param list Initialized OTF_KeyValueList() instance or NULL.
1570 *
1571 * @see OTF_Writer_writeEndProcess()
1572 * \ingroup writer
1573 */
1574 int OTF_Writer_writeEndProcessKV( OTF_Writer* writer,
1575 uint64_t time,
1576 uint32_t process,
1577 OTF_KeyValueList* list );
1578
1579
1580 /**
1581 * Write a file operation record
1582 * @deprecated This event record has been deprecated due to usage constraints.
1583 * Please use OTF_Writer_writeBeginFileOperation() and
1584 * OTF_Writer_writeEndFileOperation(), respectively.
1585 *
1586 * @param writer Initialized OTF_Writer instance.
1587 * @param time Start time of the file operation.
1588 * @param fileid File identifier > 0.
1589 * @param handleid File open identifier.
1590 * @param process Process identifier > 0.
1591 * @param operation Type of file operation @see OTF_Handler_FileOperation()
1592 * @param bytes Depends on operation @see OTF_Handler_FileOperation()
1593 * @param duration time spent in the file operation
1594 *
1595 * @return 1 on success, 0 if an error occurs.
1596 *
1597 * \ingroup writer
1598 */
1599 int OTF_Writer_writeFileOperation( OTF_Writer* writer,
1600 uint64_t time,
1601 uint32_t fileid,
1602 uint32_t process,
1603 uint64_t handleid,
1604 uint32_t operation,
1605 uint64_t bytes,
1606 uint64_t duration,
1607 uint32_t source );
1608
1609
1610 /**
1611 * Write a file operation record including an OTF_KeyValueList.
1612 * @deprecated This event record has been deprecated due to usage constraints.
1613 * Please use OTF_Writer_writeBeginFileOperationKV() and
1614 * OTF_Writer_writeEndFileOperationKV(), respectively.
1615 *
1616 * @param list Initialized OTF_KeyValueList() instance or NULL.
1617 *
1618 * @see OTF_Writer_writeFileOperation()
1619 * \ingroup writer
1620 */
1621 int OTF_Writer_writeFileOperationKV( OTF_Writer* writer,
1622 uint64_t time,
1623 uint32_t fileid,
1624 uint32_t process,
1625 uint64_t handleid,
1626 uint32_t operation,
1627 uint64_t bytes,
1628 uint64_t duration,
1629 uint32_t source,
1630 OTF_KeyValueList* list );
1631
1632
1633 /**
1634 * Write a begin file operation record
1635 *
1636 * @param writer Initialized OTF_Writer instance.
1637 * @param time Start time of file operation.
1638 * @param process Process identifier > 0.
1639 * @param matchingId Operation identifier, used for finding the associated end
1640 * file operation event record.
1641 * @param scltoken Optional reference to source code.
1642 *
1643 * @return 1 on success, 0 if an error occurs.
1644 *
1645 * \ingroup writer
1646 */
1647 int OTF_Writer_writeBeginFileOperation( OTF_Writer* writer,
1648 uint64_t time,
1649 uint32_t process,
1650 uint64_t matchingId,
1651 uint32_t scltoken );
1652
1653
1654 /**
1655 * Write a begin file operation record including an OTF_KeyValueList.
1656 *
1657 * @param list Initialized OTF_KeyValueList() instance or NULL.
1658 *
1659 * @see OTF_Writer_writeBeginFileOperation()
1660 * \ingroup writer
1661 */
1662 int OTF_Writer_writeBeginFileOperationKV( OTF_Writer* writer,
1663 uint64_t time,
1664 uint32_t process,
1665 uint64_t matchingId,
1666 uint32_t scltoken,
1667 OTF_KeyValueList* list );
1668
1669
1670 /**
1671 * Write an end file operation record
1672 *
1673 * @param writer Initialized OTF_Writer instance.
1674 * @param time End time of file operation.
1675 * @param process Process identifier > 0.
1676 * @param fileid File identifier > 0.
1677 * @param matchingId Operation identifier, must match a previous start file
1678 * operation event record.
1679 * @param handleId Unique file open identifier.
1680 * @param operation Type of file operation @see OTF_Handler_FileOperation()
1681 * @param bytes Depends on operation @see OTF_Handler_FileOperation()
1682 * @param scltoken Optional reference to source code.
1683 *
1684 * @return 1 on success, 0 if an error occurs.
1685 *
1686 * \ingroup writer
1687 */
1688 int OTF_Writer_writeEndFileOperation( OTF_Writer* writer,
1689 uint64_t time,
1690 uint32_t process,
1691 uint32_t fileid,
1692 uint64_t matchingId,
1693 uint64_t handleId,
1694 uint32_t operation,
1695 uint64_t bytes,
1696 uint32_t scltoken );
1697
1698
1699 /**
1700 * Write an end file operation record including an OTF_KeyValueList.
1701 *
1702 * @param list Initialized OTF_KeyValueList() instance or NULL.
1703 *
1704 * @see OTF_Writer_writeEndFileOperation()
1705 * \ingroup writer
1706 */
1707 int OTF_Writer_writeEndFileOperationKV( OTF_Writer* writer,
1708 uint64_t time,
1709 uint32_t process,
1710 uint32_t fileid,
1711 uint64_t matchingId,
1712 uint64_t handleId,
1713 uint32_t operation,
1714 uint64_t bytes,
1715 uint32_t scltoken,
1716 OTF_KeyValueList* list );
1717
1718
1719 /**
1720 * Write a RMA put record - local end record.
1721 * The end of this transfer is marked by the NEXT end record on this <process>
1722 * with the same communicator/tag pair.
1723 *
1724 * @param writer Initialized OTF_Writer instance.
1725 * @param time Time when process was referenced for the last time.
1726 * @param process Process initiating the transfer.
1727 * @param origin If >0, Process whose memory will be transferred, instead
1728 of this <process>.
1729 * @param target Process whose memory will be written.
1730 * @param communicator Together with tag, it is used to identify the
1731 * corresponding RMA end record.
1732 * @param tag Together with communicator, it is used to identify the
1733 * corresponding RMA end record.
1734 * @param bytes How many bytes have been transfered by this call.
1735 * @param source Explicit source code location or 0.
1736 *
1737 * @return 1 on success, 0 if an error occurs.
1738 *
1739 * \ingroup writer
1740 */
1741 int OTF_Writer_writeRMAPut( OTF_Writer* writer,
1742 uint64_t time,
1743 uint32_t process,
1744 uint32_t origin,
1745 uint32_t target,
1746 uint32_t communicator,
1747 uint32_t tag,
1748 uint64_t bytes,
1749 uint32_t scltoken );
1750
1751
1752 /**
1753 * Write a RMA put record - local end record including an OTF_KeyValueList.
1754 *
1755 * @param list Initialized OTF_KeyValueList() instance or NULL.
1756 *
1757 * @see OTF_Writer_writeRMAPut()
1758 * \ingroup writer
1759 */
1760 int OTF_Writer_writeRMAPutKV( OTF_Writer* writer,
1761 uint64_t time,
1762 uint32_t process,
1763 uint32_t origin,
1764 uint32_t target,
1765 uint32_t communicator,
1766 uint32_t tag,
1767 uint64_t bytes,
1768 uint32_t scltoken,
1769 OTF_KeyValueList* list );
1770
1771
1772 /**
1773 * Write a RMA put record - remote end record.
1774 * The end of this transfer is marked by the NEXT end record on process <target>
1775 * with the same communicator/tag pair.
1776 *
1777 * @param writer Initialized OTF_Writer instance.
1778 * @param time Time when process was referenced for the last time.
1779 * @param process Process initiating the transfer.
1780 * @param origin If >0, Process whose memory will be transferred, instead
1781 of this <process>.
1782 * @param target Process whose memory will be written and where the end
1783 * record is located.
1784 * @param communicator Together with tag, it is used to identify the
1785 * corresponding RMA end record.
1786 * @param tag Together with communicator, it is used to identify the
1787 * corresponding RMA end record.
1788 * @param bytes How many bytes have been transfered by this call.
1789 * @param source Explicit source code location or 0.
1790 *
1791 * @return 1 on success, 0 if an error occurs.
1792 *
1793 * \ingroup writer
1794 */
1795 int OTF_Writer_writeRMAPutRemoteEnd( OTF_Writer* writer,
1796 uint64_t time,
1797 uint32_t process,
1798 uint32_t origin,
1799 uint32_t target,
1800 uint32_t communicator,
1801 uint32_t tag,
1802 uint64_t bytes,
1803 uint32_t scltoken );
1804
1805
1806 /**
1807 * Write a RMA put record - remote end record including an OTF_KeyValueList.
1808 *
1809 * @param list Initialized OTF_KeyValueList() instance or NULL.
1810 *
1811 * @see OTF_Writer_writeRMAPutRemoteEnd()
1812 * \ingroup writer
1813 */
1814 int OTF_Writer_writeRMAPutRemoteEndKV( OTF_Writer* writer,
1815 uint64_t time,
1816 uint32_t process,
1817 uint32_t origin,
1818 uint32_t target,
1819 uint32_t communicator,
1820 uint32_t tag,
1821 uint64_t bytes,
1822 uint32_t scltoken,
1823 OTF_KeyValueList* list );
1824
1825
1826 /**
1827 * Write a RMA get record.
1828 * The end of this transfer is marked by the NEXT end record on this <process>
1829 * with the same communicator/tag pair.
1830 *
1831 * @param writer Initialized OTF_Writer instance.
1832 * @param time Time when process was referenced for the last time.
1833 * @param process Process initiating the transfer.
1834 * @param origin If >0, Process where data will be transferred to (instead
1835 of this <process>).
1836 * @param target Process whose memory will be read.
1837 * @param communicator Together with tag, it is used to identify the
1838 * corresponding RMA end record.
1839 * @param tag Together with communicator, it is used to identify the
1840 * corresponding RMA end record.
1841 * @param bytes How many bytes have been transfered by this call.
1842 * @param source Explicit source code location or 0.
1843 *
1844 * @return 1 on success, 0 if an error occurs.
1845 *
1846 * \ingroup writer
1847 */
1848 int OTF_Writer_writeRMAGet( OTF_Writer* writer,
1849 uint64_t time,
1850 uint32_t process,
1851 uint32_t origin,
1852 uint32_t target,
1853 uint32_t communicator,
1854 uint32_t tag,
1855 uint64_t bytes,
1856 uint32_t scltoken );
1857
1858
1859 /**
1860 * Write a RMA get record including an OTF_KeyValueList.
1861 *
1862 * @param list Initialized OTF_KeyValueList() instance or NULL.
1863 *
1864 * @see OTF_Writer_writeRMAGet()
1865 * \ingroup writer
1866 */
1867 int OTF_Writer_writeRMAGetKV( OTF_Writer* writer,
1868 uint64_t time,
1869 uint32_t process,
1870 uint32_t origin,
1871 uint32_t target,
1872 uint32_t communicator,
1873 uint32_t tag,
1874 uint64_t bytes,
1875 uint32_t scltoken,
1876 OTF_KeyValueList* list );
1877
1878
1879 /**
1880 * Write a RMA end record.
1881 * The end record marks the finalization of all put and get operations with the
1882 * same communicator/tag pair that occured so far for this <process>.
1883 *
1884 * @param writer Initialized OTF_Writer instance.
1885 * @param time Time when process was referenced for the last time.
1886 * @param process Process identifier > 0.
1887 * @param remote If >0, ends RMA transfers on Process <remote>, instead of
1888 this <process>.
1889 [remote!=0 is really weird crap and would never be used by
1890 sane programmers ;-) -- nevertheless, the IBM Cell could
1891 be programmed like this.]
1892 * @param communicator Together with tag, it is used to identify the
1893 * related RMA put/get records.
1894 * @param tag Together with communicator, it is used to identify the
1895 * related RMA put/get records.
1896 * @param source Explicit source code location or 0.
1897 *
1898 * @return 1 on success, 0 if an error occurs.
1899 *
1900 * \ingroup writer
1901 */
1902 int OTF_Writer_writeRMAEnd( OTF_Writer* writer,
1903 uint64_t time,
1904 uint32_t process,
1905 uint32_t remote,
1906 uint32_t communicator,
1907 uint32_t tag,
1908 uint32_t scltoken );
1909
1910
1911 /**
1912 * Write a RMA end record including an OTF_KeyValueList.
1913 *
1914 * @param list Initialized OTF_KeyValueList() instance or NULL.
1915 *
1916 * @see OTF_Writer_writeRMAEnd()
1917 * \ingroup writer
1918 */
1919 int OTF_Writer_writeRMAEndKV( OTF_Writer* writer,
1920 uint64_t time,
1921 uint32_t process,
1922 uint32_t remote,
1923 uint32_t communicator,
1924 uint32_t tag,
1925 uint32_t scltoken,
1926 OTF_KeyValueList* list );
1927
1928
1929 /* *** public snapshot record write handlers *** */
1930
1931 /**
1932 * Write a snapshot comment record.
1933 *
1934 * @param writer Initialized OTF_Writer instance.
1935 * @param time Comments need a timestamp for a proper positioning in the
1936 * trace.
1937 * @param process Comments also need a process identifier for a proper
1938 * positioning in the trace.
1939 * @param comment Arbitrary comment string.
1940 *
1941 * @return 1 on success, 0 if an error occurs.
1942 *
1943 * \ingroup writer
1944 */
1945
1946 int OTF_Writer_writeSnapshotComment( OTF_Writer* writer,
1947 uint64_t time,
1948 uint32_t process,
1949 const char* comment );
1950
1951
1952 /**
1953 * Write a snapshot comment record including an OTF_KeyValueList.
1954 *
1955 * @param list Initialized OTF_KeyValueList() instance or NULL.
1956 *
1957 * @see OTF_Writer_writeSnapshotComment()
1958 * \ingroup writer
1959 */
1960 int OTF_Writer_writeSnapshotCommentKV( OTF_Writer* writer,
1961 uint64_t time,
1962 uint32_t process,
1963 const char* comment,
1964 OTF_KeyValueList* list );
1965
1966
1967 /**
1968 * Write an enter snapshot which provides information about a past
1969 * function call
1970 *
1971 * @param writer Initialized OTF_Writer instance.
1972 * @param time Time when the snapshot was written(current time).
1973 * @param originaltime Time when the according enter record was entered.
1974 * This call is still on the stack.(It has not been left
1975 * yet)
1976 * @param function Function that the has been entered
1977 * OTF_Writer_defFunction.
1978 * @param process Process where action took place.
1979 * @param source Optional reference to source code.
1980 *
1981 * @return 1 on success, 0 if an error occurs.
1982 *
1983 * \ingroup writer
1984 */
1985 int OTF_Writer_writeEnterSnapshot( OTF_Writer* writer,
1986 uint64_t time,
1987 uint64_t originaltime,
1988 uint32_t function,
1989 uint32_t process,
1990 uint32_t source );
1991
1992
1993 /**
1994 * Write an enter snapshot including an OTF_KeyValueList.
1995 *
1996 * @param list Initialized OTF_KeyValueList() instance or NULL.
1997 *
1998 * @see OTF_Writer_writeEnterSnapshot()
1999 * \ingroup writer
2000 */
2001 int OTF_Writer_writeEnterSnapshotKV( OTF_Writer* writer,
2002 uint64_t time,
2003 uint64_t originaltime,
2004 uint32_t function,
2005 uint32_t process,
2006 uint32_t source,
2007 OTF_KeyValueList* list );
2008
2009
2010 /**
2011 * Write a send snapshot which provides information about a past
2012 * message send operation that is still pending, i.e. not yet received
2013 *
2014 * @param writer Initialized OTF_Writer instance.
2015 * @param time Time when the snapshot was written(current time).
2016 * @param originaltime Time when the message was sent
2017 * @param sender Sender of the message.
2018 * @param receiver Receiver of the message.
2019 * @param procGroup Optional process-group sender and receiver belong to,
2020 * '0' for no group.
2021 * @param tag Optional message type information.
2022 * @param length Optional message length information.
2023 * @param source Optional reference to source code.
2024 *
2025 * @return 1 on success, 0 if an error occurs.
2026 *
2027 * \ingroup writer
2028 */
2029 int OTF_Writer_writeSendSnapshot( OTF_Writer* writer,
2030 uint64_t time,
2031 uint64_t originaltime,
2032 uint32_t sender,
2033 uint32_t receiver,
2034 uint32_t procGroup,
2035 uint32_t tag,
2036 uint32_t length,
2037 uint32_t source );
2038
2039
2040 /**
2041 * Write a send snapshot including an OTF_KeyValueList.
2042 *
2043 * @param list Initialized OTF_KeyValueList() instance or NULL.
2044 *
2045 * @see OTF_Writer_writeSendSnapshot()
2046 * \ingroup writer
2047 */
2048 int OTF_Writer_writeSendSnapshotKV( OTF_Writer* writer,
2049 uint64_t time,
2050 uint64_t originaltime,
2051 uint32_t sender,
2052 uint32_t receiver,
2053 uint32_t procGroup,
2054 uint32_t tag,
2055 uint32_t length,
2056 uint32_t source,
2057 OTF_KeyValueList* list );
2058
2059
2060 /**
2061 * Write a snapshot record for an open (and not yet closed) file
2062 *
2063 * @param writer Initialized OTF_Writer instance.
2064 * @param time Time when the snapshot was written(current time).
2065 * @param originaltime Time when the message was sent.
2066 * @param fileid File identifier.
2067 * @param process Process where the file was opened.
2068 * @param handleid Unique file open identifier. @see OTF_Handler_FileOperation()
2069 * @param source Optional reference to source code.
2070 *
2071 * @return 1 on success, 0 if an error occurs.
2072 *
2073 * \ingroup writer
2074 */
2075 int OTF_Writer_writeOpenFileSnapshot( OTF_Writer* writer,
2076 uint64_t time,
2077 uint64_t originaltime,
2078 uint32_t fileid,
2079 uint32_t process,
2080 uint64_t handleid,
2081 uint32_t source );
2082
2083
2084 /**
2085 * Write a snapshot record including an OTF_KeyValueList.
2086 *
2087 * @param list Initialized OTF_KeyValueList() instance or NULL.
2088 *
2089 * @see OTF_Writer_writeOpenFileSnapshot()
2090 * \ingroup writer
2091 */
2092 int OTF_Writer_writeOpenFileSnapshotKV( OTF_Writer* writer,
2093 uint64_t time,
2094 uint64_t originaltime,
2095 uint32_t fileid,
2096 uint32_t process,
2097 uint64_t handleid,
2098 uint32_t source,
2099 OTF_KeyValueList* list );
2100
2101
2102 /**
2103 * Write a snapshot record for an unfinished collective operation.
2104 *
2105 * @param writer Initialized OTF_Writer instance.
2106 * @param time Time when the snapshot was written(current time).
2107 * @param originaltime Time when the collective operation began.
2108 * @param process Process identifier i.e. collective member.
2109 * @param collOp Collective identifier to be defined with
2110 * OTF_Writer_writeDefCollectiveOperation().
2111 * @param matchingId Identifier for finding the associated end collective event
2112 * record. It must be unique within this procGroup.
2113 * @param procGroup Group of processes participating in this collective.
2114 * @param rootProc Root process if != 0.
2115 * @param sent Data volume sent by member or 0.
2116 * @param received Data volume received by member or 0.
2117 * @param scltoken Explicit source code location or 0.
2118 *
2119 * @return 1 on success, 0 if an error occurs.
2120 *
2121 * \ingroup writer
2122 */
2123 int OTF_Writer_writeBeginCollopSnapshot( OTF_Writer* writer,
2124 uint64_t time,
2125 uint64_t originaltime,
2126 uint32_t process,
2127 uint32_t collOp,
2128 uint64_t matchingId,
2129 uint32_t procGroup,
2130 uint32_t rootProc,
2131 uint64_t sent,
2132 uint64_t received,
2133 uint32_t scltoken );
2134
2135
2136 /**
2137 * Write a snapshot record for an unfinished collective operation including an OTF_KeyValueList.
2138 *
2139 * @param list Initialized OTF_KeyValueList() instance or NULL.
2140 *
2141 * @see OTF_Writer_writeBeginCollopSnapshot()
2142 * \ingroup writer
2143 */
2144 int OTF_Writer_writeBeginCollopSnapshotKV( OTF_Writer* writer,
2145 uint64_t time,
2146 uint64_t originaltime,
2147 uint32_t process,
2148 uint32_t collOp,
2149 uint64_t matchingId,
2150 uint32_t procGroup,
2151 uint32_t rootProc,
2152 uint64_t sent,
2153 uint64_t received,
2154 uint32_t scltoken,
2155 OTF_KeyValueList* list );
2156
2157
2158 /**
2159 * Write a snapshot for an unfinished file operation.
2160 *
2161 * @param writer Initialized OTF_Writer instance.
2162 * @param time Time when the snapshot was written(current time).
2163 * @param originaltime Time when the operation began.
2164 * @param process Process identifier > 0.
2165 * @param matchingId Operation identifier, used for finding the associated end
2166 * file operation event record.
2167 * @param scltoken Optional reference to source code.
2168 *
2169 * @return 1 on success, 0 if an error occurs.
2170 *
2171 * \ingroup writer
2172 */
2173 int OTF_Writer_writeBeginFileOpSnapshot( OTF_Writer* writer,
2174 uint64_t time,
2175 uint64_t originaltime,
2176 uint32_t process,
2177 uint64_t matchingId,
2178 uint32_t scltoken );
2179
2180
2181 /**
2182 * Write a snapshot for an unfinished file operation including an OTF_KeyValueList.
2183 *
2184 * @param list Initialized OTF_KeyValueList() instance or NULL.
2185 *
2186 * @see OTF_Writer_writeBeginFileOperation()
2187 * \ingroup writer
2188 */
2189 int OTF_Writer_writeBeginFileOpSnapshotKV( OTF_Writer* writer,
2190 uint64_t time,
2191 uint64_t originaltime,
2192 uint32_t process,
2193 uint64_t matchingId,
2194 uint32_t scltoken,
2195 OTF_KeyValueList* list );
2196
2197 /* *** public statistics record write handlers *** */
2198
2199
2200 /**
2201 * Write a summary comment record.
2202 *
2203 * @param writer Initialized OTF_Writer instance.
2204 * @param time Comments need a timestamp for a proper positioning in the
2205 * trace.
2206 * @param process Comments also need a process identifier for a proper
2207 * positioning in the trace.
2208 * @param comment Arbitrary comment string.
2209 *
2210 * @return 1 on success, 0 if an error occurs.
2211 *
2212 * \ingroup writer
2213 */
2214
2215 int OTF_Writer_writeSummaryComment( OTF_Writer* writer,
2216 uint64_t time,
2217 uint32_t process,
2218 const char* comment );
2219
2220
2221 /**
2222 * Write a summary comment record including an OTF_KeyValueList.
2223 *
2224 * @param list Initialized OTF_KeyValueList() instance or NULL.
2225 *
2226 * @see OTF_Writer_writeSummaryComment()
2227 * \ingroup writer
2228 */
2229 int OTF_Writer_writeSummaryCommentKV( OTF_Writer* writer,
2230 uint64_t time,
2231 uint32_t process,
2232 const char* comment,
2233 OTF_KeyValueList* list );
2234
2235
2236 /**
2237 * Write a function summary record.
2238 *
2239 * @param writer Initialized OTF_Writer instance.
2240 * @param time Time when summary was computed.
2241 * @param function Function as defined with
2242 * OTF_Handler_DefFunction.
2243 * @param process Process of the given function.
2244 * @param count Number of invocations.
2245 * @param excltime Time spent exclusively in the given function.
2246 * @param incltime Time spent in the given function including all
2247 * sub-routine calls.
2248 *
2249 * @return 1 on success, 0 if an error occurs.
2250 *
2251 * \ingroup writer
2252 */
2253
2254 int OTF_Writer_writeFunctionSummary( OTF_Writer* writer,
2255 uint64_t time, uint32_t function, uint32_t process,
2256 uint64_t count, uint64_t excltime, uint64_t incltime );
2257
2258
2259 /**
2260 * Write a function summary record including an OTF_KeyValueList.
2261 *
2262 * @param list Initialized OTF_KeyValueList() instance or NULL.
2263 *
2264 * @see OTF_Writer_writeFunctionSummary()
2265 * \ingroup writer
2266 */
2267 int OTF_Writer_writeFunctionSummaryKV( OTF_Writer* writer,
2268 uint64_t time, uint32_t function, uint32_t process,
2269 uint64_t count, uint64_t excltime, uint64_t incltime,
2270 OTF_KeyValueList* list );
2271
2272
2273 /**
2274 * Write a functiongroup summary record.
2275 *
2276 * @param writer Initialized OTF_Writer instance.
2277 * @param time Time when summary was computed.
2278 * @param functiongroup Function group as defined with
2279 * OTF_Handler_DefFunctionGroup.
2280 * @param process Process of the given function group.
2281 * @param count Number of invocations.
2282 * @param excltime Time spent exclusively in the given function group.
2283 * @param incltime Time spent in the given function group including all
2284 * sub-routine calls.
2285 *
2286 * @return 1 on success, 0 if an error occurs.
2287 *
2288 * \ingroup writer
2289 */
2290
2291 int OTF_Writer_writeFunctionGroupSummary( OTF_Writer* writer,
2292 uint64_t time, uint32_t functiongroup, uint32_t process,
2293 uint64_t count, uint64_t excltime, uint64_t incltime );
2294
2295
2296 /**
2297 * Write a functiongroup summary record including an OTF_KeyValueList.
2298 *
2299 * @param list Initialized OTF_KeyValueList() instance or NULL.
2300 *
2301 * @see OTF_Writer_writeFunctionGroupSummary()
2302 * \ingroup writer
2303 */
2304 int OTF_Writer_writeFunctionGroupSummaryKV( OTF_Writer* writer,
2305 uint64_t time, uint32_t functiongroup, uint32_t process,
2306 uint64_t count, uint64_t excltime, uint64_t incltime,
2307 OTF_KeyValueList* list );
2308
2309
2310 /**
2311 * Write a message summary record.
2312 *
2313 * @param writer Initialized OTF_Writer instance.
2314 * @param time Time when summary was computed.
2315 * @param process Process where messages originated.
2316 * @param peer Process where the message is sent to
2317 * @param comm Communicator of message summary
2318 * @param tag Message type/tag.
2319 * @param number_sent The number of messages sent.
2320 * @param number_recved The number of messages received.
2321 * @param bytes_sent The number of bytes sent via messages of the given
2322 * type.
2323 * @param bytes_recved The number of bytes received through messages of the
2324 * given type.
2325 *
2326 * @return 1 on success, 0 if an error occurs.
2327 *
2328 * \ingroup writer
2329 */
2330
2331 int OTF_Writer_writeMessageSummary( OTF_Writer* writer,
2332 uint64_t time, uint32_t process, uint32_t peer,
2333 uint32_t comm, uint32_t tag, uint64_t number_sent,
2334 uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved );
2335
2336
2337 /**
2338 * Write a message summary record including an OTF_KeyValueList.
2339 *
2340 * @param list Initialized OTF_KeyValueList() instance or NULL.
2341 *
2342 * @see OTF_Writer_writeMessageSummary()
2343 * \ingroup writer
2344 */
2345 int OTF_Writer_writeMessageSummaryKV( OTF_Writer* writer,
2346 uint64_t time, uint32_t process, uint32_t peer,
2347 uint32_t comm, uint32_t tag, uint64_t number_sent,
2348 uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved,
2349 OTF_KeyValueList* list );
2350
2351
2352 /**
2353 * Write a summary record of collective operations.
2354 *
2355 * @param writer Initialized OTF_Writer instance.
2356 * @param time Time when summary was computed.
2357 * @param process Process identifier i.e. collective member.
2358 * @param comm Communicator of collective operation summary.
2359 * @param collective Collective identifier to be defined with
2360 * OTF_Writer_writeDefCollectiveOperation().
2361 * @param number_sent The number of messages sent by member or 0.
2362 * @param number_recved The number of messages received by member or 0.
2363 * @param bytes_sent The number of bytes sent by member or 0.
2364 * @param bytes_recved The number of bytes received by member or 0.
2365 *
2366 * @return 1 on success, 0 if an error occurs.
2367 *
2368 * \ingroup writer
2369 */
2370
2371 int OTF_Writer_writeCollopSummary( OTF_Writer* writer,
2372 uint64_t time, uint32_t process, uint32_t comm, uint32_t collective,
2373 uint64_t number_sent, uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved );
2374
2375
2376 /**
2377 * Write a summary record of collective operations including an OTF_KeyValueList.
2378 *
2379 * @param list Initialized OTF_KeyValueList() instance or NULL.
2380 *
2381 * @see OTF_Writer_writeCollopSummary()
2382 * \ingroup writer
2383 */
2384 int OTF_Writer_writeCollopSummaryKV( OTF_Writer* writer,
2385 uint64_t time, uint32_t process, uint32_t comm, uint32_t collective,
2386 uint64_t number_sent, uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved,
2387 OTF_KeyValueList* list );
2388
2389 /**
2390 * Writes a file operation summary record.
2391 *
2392 * @param writer Initialized OTF_Writer instance.
2393 * @param time Time when summary was computed.
2394 * @param fileid File identifier or 0 for all files.
2395 * @param process Process where file operations occured.
2396 * @param nopen Number of files opened.
2397 * @param nclose Number of files closed.
2398 * @param nread Number of read events.
2399 * @param nwrite Number of write events.
2400 * @param nseek Number of seek events.
2401 * @param bytesread Number of bytes read.
2402 * @param byteswrite Number of bytes written.
2403 *
2404 * @return 1 on success, 0 if an error occurs.
2405 *
2406 * \ingroup writer
2407 */
2408 int OTF_Writer_writeFileOperationSummary( OTF_Writer* writer, uint64_t time,
2409 uint32_t fileid, uint32_t process, uint64_t nopen, uint64_t nclose,
2410 uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread,
2411 uint64_t byteswrite );
2412
2413
2414 /**
2415 * Writes a file operation summary record including an OTF_KeyValueList.
2416 *
2417 * @param list Initialized OTF_KeyValueList() instance or NULL.
2418 *
2419 * @see OTF_Writer_writeFileOperationSummary()
2420 * \ingroup writer
2421 */
2422 int OTF_Writer_writeFileOperationSummaryKV( OTF_Writer* writer, uint64_t time,
2423 uint32_t fileid, uint32_t process, uint64_t nopen, uint64_t nclose,
2424 uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread,
2425 uint64_t byteswrite, OTF_KeyValueList* list );
2426
2427
2428 /**
2429 * Writes a file group operation summary record.
2430 *
2431 * @param writer Initialized OTF_Writer instance.
2432 * @param time Time when summary was computed.
2433 * @param groupid File group identifier or 0 for all files/groups.
2434 * @param process Process where file operations occured.
2435 * @param nopen Number of files opened.
2436 * @param nclose Number of files closed.
2437 * @param nread Number of read events.
2438 * @param nwrite Number of write events.
2439 * @param nseek Number of seek events.
2440 * @param bytesread Number of bytes read.
2441 * @param byteswrite Number of bytes written.
2442 *
2443 * @return 1 on success, 0 if an error occurs.
2444 *
2445 * \ingroup writer
2446 */
2447 int OTF_Writer_writeFileGroupOperationSummary( OTF_Writer* writer, uint64_t time,
2448 uint32_t groupid, uint32_t process, uint64_t nopen, uint64_t nclose,
2449 uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread,
2450 uint64_t byteswrite );
2451
2452
2453 /**
2454 * Writes a file group operation summary record including an OTF_KeyValueList.
2455 *
2456 * @param list Initialized OTF_KeyValueList() instance or NULL.
2457 *
2458 * @see OTF_Writer_writeFileGroupOperationSummary()
2459 * \ingroup writer
2460 */
2461 int OTF_Writer_writeFileGroupOperationSummaryKV( OTF_Writer* writer, uint64_t time,
2462 uint32_t groupid, uint32_t process, uint64_t nopen, uint64_t nclose,
2463 uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread,
2464 uint64_t byteswrite, OTF_KeyValueList* list );
2465 /* *** private member functions *** */
2466
2467
2468 /* *** marker record types *** */
2469
2470
2471 /**
2472 * Writes a def marker record.
2473 *
2474 * @param writer Initialized OTF_Writer instance.
2475 * qparam streamID stream identifier that must be 0, any other value is ignored
2476 * @param token The newly defined marker token.
2477 * @param name Its name
2478 * @param type Marker type, one of OTF_MARKER_TYPE_xxx
2479 * *
2480 * @return 1 on success, 0 if an error occurs.
2481 *
2482 * \ingroup writer
2483 */
2484 int OTF_Writer_writeDefMarker( OTF_Writer* writer,
2485 uint32_t streamID,
2486 uint32_t token,
2487 const char* name,
2488 uint32_t type );
2489
2490
2491 /**
2492 * Writes a def marker record including an OTF_KeyValueList.
2493 *
2494 * @param list Initialized OTF_KeyValueList() instance or NULL.
2495 *
2496 * @see OTF_Writer_writeDefMarker()
2497 * \ingroup writer
2498 */
2499 int OTF_Writer_writeDefMarkerKV( OTF_Writer* writer,
2500 uint32_t streamID,
2501 uint32_t token,
2502 const char* name,
2503 uint32_t type,
2504 OTF_KeyValueList* list );
2505
2506 /**
2507 * Writes a marker record.
2508 *
2509 * @param writer Initialized OTF_Writer instance.
2510 * @param time Time stamp of the marker record. Note that marker records are
2511 * not sorted according to time stamps!
2512 * @param process The process or process group of the marker.
2513 * @param token A marker token defined by 'DefMarker' before.
2514 * @param text Descriptive text. *
2515 * @return 1 on success, 0 if an error occurs.
2516 *
2517 * \ingroup writer
2518 */
2519 int OTF_Writer_writeMarker( OTF_Writer* writer,
2520 uint64_t time,
2521 uint32_t process,
2522 uint32_t token,
2523 const char* text );
2524
2525
2526 /**
2527 * Writes a marker record including an OTF_KeyValueList.
2528 *
2529 * @param list Initialized OTF_KeyValueList() instance or NULL.
2530 *
2531 * @see OTF_Writer_writeMarker()
2532 * \ingroup writer
2533 */
2534 int OTF_Writer_writeMarkerKV( OTF_Writer* writer,
2535 uint64_t time,
2536 uint32_t process,
2537 uint32_t token,
2538 const char* text,
2539 OTF_KeyValueList* list );
2540
2541 #ifdef __cplusplus
2542 }
2543 #endif /* __cplusplus */
2544
2545 #endif /* OTF_WRITER_H */
2546
OTF_Writer_writeOpenFileSnapshot
int OTF_Writer_writeOpenFileSnapshot(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t fileid, uint32_t process, uint64_t handleid, uint32_t source)
Write a snapshot record for an open (and not yet closed) file.
Definition: OTF_Writer.c:1716
OTF_Writer_writeDefFunctionGroupKV
int OTF_Writer_writeDefFunctionGroupKV(OTF_Writer *writer, uint32_t stream, uint32_t funcGroup, const char *name, OTF_KeyValueList *list)
Write a function group definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:825
OTF_Writer_writeFunctionSummaryKV
int OTF_Writer_writeFunctionSummaryKV(OTF_Writer *writer, uint64_t time, uint32_t function, uint32_t process, uint64_t count, uint64_t excltime, uint64_t incltime, OTF_KeyValueList *list)
Write a function summary record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1839
OTF_Writer_getStream
OTF_WStream * OTF_Writer_getStream(OTF_Writer *writer, uint32_t stream)
Return the stream with the given stream id.
Definition: OTF_Writer.c:375
OTF_Writer_writeBeginFileOpSnapshotKV
int OTF_Writer_writeBeginFileOpSnapshotKV(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t process, uint64_t matchingId, uint32_t scltoken, OTF_KeyValueList *list)
Write a snapshot for an unfinished file operation including an OTF_KeyValueList.
Definition: OTF_Writer.c:1783
OTF_Writer_writeDefCounterAssignments
int OTF_Writer_writeDefCounterAssignments(OTF_Writer *writer, uint32_t streamid, uint32_t counter_token, uint32_t number_of_members, const uint32_t *procs_or_groups, OTF_KeyValueList *list)
Writes a CounterAssignments definition.
Definition: OTF_Writer.c:1134
OTF_Writer_writeBeginProcess
int OTF_Writer_writeBeginProcess(OTF_Writer *writer, uint64_t time, uint32_t process)
Write a begin process record.
Definition: OTF_Writer.c:1422
OTF_Writer_writeEndFileOperationKV
int OTF_Writer_writeEndFileOperationKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t fileid, uint64_t matchingId, uint64_t handleId, uint32_t operation, uint64_t bytes, uint32_t scltoken, OTF_KeyValueList *list)
Write an end file operation record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1523
OTF_Writer_writeOtfVersion
int OTF_Writer_writeOtfVersion(OTF_Writer *writer, uint32_t stream)
depricated.
Definition: OTF_Writer.c:1001
OTF_MasterControl.h
Provides access to process-stream-mapping, which are located in .otf files.
OTF_Writer_writeDefProcessOrGroupAttributes
int OTF_Writer_writeDefProcessOrGroupAttributes(OTF_Writer *writer, uint32_t stream, uint32_t proc_token, uint32_t attr_token)
Write a process or group attributes definition record.
Definition: OTF_Writer.c:746
OTF_Writer_writeSendMsg
int OTF_Writer_writeSendMsg(OTF_Writer *writer, uint64_t time, uint32_t sender, uint32_t receiver, uint32_t procGroup, uint32_t tag, uint32_t length, uint32_t source)
Write a message send record.
Definition: OTF_Writer.c:1245
OTF_Writer_writeDefCreator
int OTF_Writer_writeDefCreator(OTF_Writer *writer, uint32_t stream, const char *creator)
Write a creator record.
Definition: OTF_Writer.c:1012
OTF_Writer_writeSummaryCommentKV
int OTF_Writer_writeSummaryCommentKV(OTF_Writer *writer, uint64_t time, uint32_t process, const char *comment, OTF_KeyValueList *list)
Write a summary comment record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1814
OTF_Writer_writeBeginCollectiveOperationKV
int OTF_Writer_writeBeginCollectiveOperationKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t collOp, uint64_t matchingId, uint32_t procGroup, uint32_t rootProc, uint64_t sent, uint64_t received, uint32_t scltoken, OTF_KeyValueList *list)
Write a begin collective operation member record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1362
OTF_Writer_writeDefAttributeList
int OTF_Writer_writeDefAttributeList(OTF_Writer *writer, uint32_t stream, uint32_t attr_token, uint32_t num, OTF_ATTR_TYPE *array)
Write an attribute list definition record.
Definition: OTF_Writer.c:715
OTF_Writer_writeCollopSummary
int OTF_Writer_writeCollopSummary(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t comm, uint32_t collective, uint64_t number_sent, uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved)
Write a summary record of collective operations.
Definition: OTF_Writer.c:1906
OTF_Writer_writeDefFunction
int OTF_Writer_writeDefFunction(OTF_Writer *writer, uint32_t stream, uint32_t func, const char *name, uint32_t funcGroup, uint32_t source)
Write a function definition record.
Definition: OTF_Writer.c:777
OTF_Writer_writeSummaryComment
int OTF_Writer_writeSummaryComment(OTF_Writer *writer, uint64_t time, uint32_t process, const char *comment)
Write a summary comment record.
Definition: OTF_Writer.c:1802
OTF_Writer_writeDefCounter
int OTF_Writer_writeDefCounter(OTF_Writer *writer, uint32_t stream, uint32_t counter, const char *name, uint32_t properties, uint32_t counterGroup, const char *unit)
Write a counter definition record.
Definition: OTF_Writer.c:872
OTF_Writer_writeSendSnapshotKV
int OTF_Writer_writeSendSnapshotKV(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t sender, uint32_t receiver, uint32_t procGroup, uint32_t tag, uint32_t length, uint32_t source, OTF_KeyValueList *list)
Write a send snapshot including an OTF_KeyValueList.
Definition: OTF_Writer.c:1702
OTF_Writer_writeDefTimeRange
int OTF_Writer_writeDefTimeRange(OTF_Writer *writer, uint32_t streamid, uint64_t minTime, uint64_t maxTime, OTF_KeyValueList *list)
Writes a TimeRange definition.
Definition: OTF_Writer.c:1112
OTF_Writer_getMasterControl
OTF_MasterControl * OTF_Writer_getMasterControl(OTF_Writer *writer)
Get a pointer to the master control object of the given writer instance.
Definition: OTF_Writer.c:568
OTF_Writer_writeFileGroupOperationSummary
int OTF_Writer_writeFileGroupOperationSummary(OTF_Writer *writer, uint64_t time, uint32_t groupid, uint32_t process, uint64_t nopen, uint64_t nclose, uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread, uint64_t byteswrite)
Writes a file group operation summary record.
Definition: OTF_Writer.c:1962
OTF_Writer_writeDefKeyValueKV
int OTF_Writer_writeDefKeyValueKV(OTF_Writer *writer, uint32_t stream, uint32_t key, OTF_Type type, const char *name, const char *description, OTF_KeyValueList *list)
Write a key value definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1096
OTF_Writer_writeDefCollectiveOperation
int OTF_Writer_writeDefCollectiveOperation(OTF_Writer *writer, uint32_t stream, uint32_t collOp, const char *name, uint32_t type)
Write a collective operation definition record.
Definition: OTF_Writer.c:841
OTF_Writer_writeEndCollectiveOperation
int OTF_Writer_writeEndCollectiveOperation(OTF_Writer *writer, uint64_t time, uint32_t process, uint64_t matchingId)
Write an end collective operation member record.
Definition: OTF_Writer.c:1376
OTF_Writer_writeDefTimerResolution
int OTF_Writer_writeDefTimerResolution(OTF_Writer *writer, uint32_t stream, uint64_t ticksPerSecond)
Write the timer resolution definition record.
Definition: OTF_Writer.c:618
struct_OTF_MasterControl
Data structure that collects the information about which stream contains which parts of a multi-file ...
Definition: OTF_MasterControl.h:166
OTF_Writer_close
int OTF_Writer_close(OTF_Writer *writer)
Close an OTF_Writer instance and all its related files.
Definition: OTF_Writer.c:199
OTF_Writer_writeEnterSnapshotKV
int OTF_Writer_writeEnterSnapshotKV(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t function, uint32_t process, uint32_t source, OTF_KeyValueList *list)
Write an enter snapshot including an OTF_KeyValueList.
Definition: OTF_Writer.c:1677
OTF_Writer_writeDefTimerResolutionKV
int OTF_Writer_writeDefTimerResolutionKV(OTF_Writer *writer, uint32_t stream, uint64_t ticksPerSecond, OTF_KeyValueList *list)
Write the timer resolution definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:633
OTF_Writer_writeFunctionGroupSummaryKV
int OTF_Writer_writeFunctionGroupSummaryKV(OTF_Writer *writer, uint64_t time, uint32_t functiongroup, uint32_t process, uint64_t count, uint64_t excltime, uint64_t incltime, OTF_KeyValueList *list)
Write a functiongroup summary record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1864
OTF_Writer_writeEnterKV
int OTF_Writer_writeEnterKV(OTF_Writer *writer, uint64_t time, uint32_t function, uint32_t process, uint32_t source, OTF_KeyValueList *list)
Write a function entry record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1203
OTF_Writer_writeDefinitionComment
int OTF_Writer_writeDefinitionComment(OTF_Writer *writer, uint32_t stream, const char *comment)
Write a comment record.
Definition: OTF_Writer.c:587
OTF_Writer_assignProcess
uint32_t OTF_Writer_assignProcess(OTF_Writer *writer, uint32_t process, uint32_t stream)
Explicitly assign a given process to a specific stream.
Definition: OTF_Writer.c:471
OTF_Writer_writeFileOperationSummary
int OTF_Writer_writeFileOperationSummary(OTF_Writer *writer, uint64_t time, uint32_t fileid, uint32_t process, uint64_t nopen, uint64_t nclose, uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread, uint64_t byteswrite)
Writes a file operation summary record.
Definition: OTF_Writer.c:1933
OTF_Writer_writeDefinitionCommentKV
int OTF_Writer_writeDefinitionCommentKV(OTF_Writer *writer, uint32_t stream, const char *comment, OTF_KeyValueList *list)
Write a comment record including an OTF_KeyValueList.
Definition: OTF_Writer.c:602
OTF_Writer_writeDefFileGroupKV
int OTF_Writer_writeDefFileGroupKV(OTF_Writer *writer, uint32_t stream, uint32_t token, const char *name, OTF_KeyValueList *list)
Write a file group definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1071
OTF_Writer_writeEndProcessKV
int OTF_Writer_writeEndProcessKV(OTF_Writer *writer, uint64_t time, uint32_t process, OTF_KeyValueList *list)
Write a end process record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1453
OTF_Writer_writeFileOperationKV
int OTF_Writer_writeFileOperationKV(OTF_Writer *writer, uint64_t time, uint32_t fileid, uint32_t process, uint64_t handleid, uint32_t operation, uint64_t bytes, uint64_t duration, uint32_t source, OTF_KeyValueList *list)
Write a file operation record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1476
OTF_Writer_writeMessageSummaryKV
int OTF_Writer_writeMessageSummaryKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t peer, uint32_t comm, uint32_t tag, uint64_t number_sent, uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved, OTF_KeyValueList *list)
Write a message summary record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1891
OTF_Writer_writeEndFileOperation
int OTF_Writer_writeEndFileOperation(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t fileid, uint64_t matchingId, uint64_t handleId, uint32_t operation, uint64_t bytes, uint32_t scltoken)
Write an end file operation record.
Definition: OTF_Writer.c:1511
OTF_Writer_getCompression
OTF_FileCompression OTF_Writer_getCompression(OTF_Writer *writer)
Return the standard compression method for all buffers managed by this writer.
Definition: OTF_Writer.c:263
OTF_Writer_writeFileOperation
int OTF_Writer_writeFileOperation(OTF_Writer *writer, uint64_t time, uint32_t fileid, uint32_t process, uint64_t handleid, uint32_t operation, uint64_t bytes, uint64_t duration, uint32_t source)
Write a file operation record.
Definition: OTF_Writer.c:1464
OTF_Writer_writeDefMarkerKV
int OTF_Writer_writeDefMarkerKV(OTF_Writer *writer, uint32_t streamID, uint32_t token, const char *name, uint32_t type, OTF_KeyValueList *list)
Writes a def marker record including an OTF_KeyValueList.
Definition: OTF_Writer.c:2008
OTF_Writer_setMasterControl
void OTF_Writer_setMasterControl(OTF_Writer *writer, OTF_MasterControl *mc)
Set an alternative master control object.
Definition: OTF_Writer.c:575
OTF_Writer_writeCounter
int OTF_Writer_writeCounter(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t counter, uint64_t value)
Write a counter measurement record.
Definition: OTF_Writer.c:1295
OTF_Writer_setBufferSizes
void OTF_Writer_setBufferSizes(OTF_Writer *writer, uint32_t size)
Set the default buffer size for all buffers managed by this Writer.
Definition: OTF_Writer.c:274
OTF_Writer_writeMessageSummary
int OTF_Writer_writeMessageSummary(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t peer, uint32_t comm, uint32_t tag, uint64_t number_sent, uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved)
Write a message summary record.
Definition: OTF_Writer.c:1877
OTF_Writer_writeMarkerKV
int OTF_Writer_writeMarkerKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t token, const char *text, OTF_KeyValueList *list)
Writes a marker record including an OTF_KeyValueList.
Definition: OTF_Writer.c:2034
OTF_Writer_writeEndCollectiveOperationKV
int OTF_Writer_writeEndCollectiveOperationKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint64_t matchingId, OTF_KeyValueList *list)
Write an end collective operation member record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1386
OTF_Writer_writeRMAPutKV
int OTF_Writer_writeRMAPutKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t scltoken, OTF_KeyValueList *list)
Write a RMA put record - local end record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1548
OTF_Writer_writeRecvMsgKV
int OTF_Writer_writeRecvMsgKV(OTF_Writer *writer, uint64_t time, uint32_t receiver, uint32_t sender, uint32_t procGroup, uint32_t tag, uint32_t length, uint32_t source, OTF_KeyValueList *list)
Write a message retrieval record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1230
OTF_Writer_writeRMAGetKV
int OTF_Writer_writeRMAGetKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t scltoken, OTF_KeyValueList *list)
Write a RMA get record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1598
OTF_Writer_writeRMAPutRemoteEnd
int OTF_Writer_writeRMAPutRemoteEnd(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t scltoken)
Write a RMA put record - remote end record.
Definition: OTF_Writer.c:1561
OTF_Writer_writeDefCounterGroupKV
int OTF_Writer_writeDefCounterGroupKV(OTF_Writer *writer, uint32_t stream, uint32_t counterGroup, const char *name, OTF_KeyValueList *list)
Write a counter group definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:922
OTF_Writer_writeFunctionSummary
int OTF_Writer_writeFunctionSummary(OTF_Writer *writer, uint64_t time, uint32_t function, uint32_t process, uint64_t count, uint64_t excltime, uint64_t incltime)
Write a function summary record.
Definition: OTF_Writer.c:1827
OTF_Writer_writeLeaveKV
int OTF_Writer_writeLeaveKV(OTF_Writer *writer, uint64_t time, uint32_t function, uint32_t process, uint32_t source, OTF_KeyValueList *list)
Write a function leave record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1283
OTF_Writer_writeCollectiveOperation
int OTF_Writer_writeCollectiveOperation(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t collective, uint32_t procGroup, uint32_t rootProc, uint32_t sent, uint32_t received, uint64_t duration, uint32_t source)
Write a collective operation member record.
Definition: OTF_Writer.c:1318
OTF_Writer_writeFileGroupOperationSummaryKV
int OTF_Writer_writeFileGroupOperationSummaryKV(OTF_Writer *writer, uint64_t time, uint32_t groupid, uint32_t process, uint64_t nopen, uint64_t nclose, uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread, uint64_t byteswrite, OTF_KeyValueList *list)
Writes a file group operation summary record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1976
OTF_Writer_writeDefKeyValue
int OTF_Writer_writeDefKeyValue(OTF_Writer *writer, uint32_t stream, uint32_t key, OTF_Type type, const char *name, const char *description)
Write a key value definition record.
Definition: OTF_Writer.c:1081
OTF_Writer_getZBufferSizes
uint32_t OTF_Writer_getZBufferSizes(OTF_Writer *writer)
Get the default zbuffer size.
Definition: OTF_Writer.c:342
OTF_Writer_writeDefSclKV
int OTF_Writer_writeDefSclKV(OTF_Writer *writer, uint32_t stream, uint32_t source, uint32_t sourceFile, uint32_t line, OTF_KeyValueList *list)
Write a source code location (SCL) record including an OTF_KeyValueList.
Definition: OTF_Writer.c:953
OTF_ATTR_TYPE
enum OTF_ATTR_TYPE_enum OTF_ATTR_TYPE
An enum which holds all values that are possible to set with datatype OTF_ATTR_TYPE().
OTF_Writer_writeFileOperationSummaryKV
int OTF_Writer_writeFileOperationSummaryKV(OTF_Writer *writer, uint64_t time, uint32_t fileid, uint32_t process, uint64_t nopen, uint64_t nclose, uint64_t nread, uint64_t nwrite, uint64_t nseek, uint64_t bytesread, uint64_t byteswrite, OTF_KeyValueList *list)
Writes a file operation summary record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1947
OTF_Writer_writeDefSclFile
int OTF_Writer_writeDefSclFile(OTF_Writer *writer, uint32_t stream, uint32_t sourceFile, const char *name)
Write a source code location (SCL) file record.
Definition: OTF_Writer.c:969
OTF_Writer_writeDefFunctionGroup
int OTF_Writer_writeDefFunctionGroup(OTF_Writer *writer, uint32_t stream, uint32_t funcGroup, const char *name)
Write a function group definition record.
Definition: OTF_Writer.c:810
OTF_FileManager.h
Manages file handles.
OTF_Writer_writeEnterSnapshot
int OTF_Writer_writeEnterSnapshot(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t function, uint32_t process, uint32_t source)
Write an enter snapshot which provides information about a past function call.
Definition: OTF_Writer.c:1665
OTF_Writer_writeRMAPutRemoteEndKV
int OTF_Writer_writeRMAPutRemoteEndKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t scltoken, OTF_KeyValueList *list)
Write a RMA put record - remote end record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1573
OTF_Writer_writeEnter
int OTF_Writer_writeEnter(OTF_Writer *writer, uint64_t time, uint32_t function, uint32_t process, uint32_t source)
Write a function entry record.
Definition: OTF_Writer.c:1191
OTF_Type
enum OTF_Type_enum OTF_Type
An enum which holds all OTF datatypes that are relevant for OTF_KeyValueList.
OTF_Writer_setZBufferSizes
void OTF_Writer_setZBufferSizes(OTF_Writer *writer, uint32_t size)
Set the default zbuffer size for all buffers managed by this Reader.
Definition: OTF_Writer.c:309
OTF_Writer_writeBeginFileOpSnapshot
int OTF_Writer_writeBeginFileOpSnapshot(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t process, uint64_t matchingId, uint32_t scltoken)
Write a snapshot for an unfinished file operation.
Definition: OTF_Writer.c:1770
OTF_Writer_writeDefCounterGroup
int OTF_Writer_writeDefCounterGroup(OTF_Writer *writer, uint32_t stream, uint32_t counterGroup, const char *name)
Write a counter group definition record.
Definition: OTF_Writer.c:907
OTF_Writer_writeDefScl
int OTF_Writer_writeDefScl(OTF_Writer *writer, uint32_t stream, uint32_t source, uint32_t sourceFile, uint32_t line)
Write a source code location (SCL) record.
Definition: OTF_Writer.c:938
OTF_Writer_writeDefFile
int OTF_Writer_writeDefFile(OTF_Writer *writer, uint32_t stream, uint32_t token, const char *name, uint32_t group)
Write a file definition record.
Definition: OTF_Writer.c:1043
OTF_Writer_writeDefProcessKV
int OTF_Writer_writeDefProcessKV(OTF_Writer *writer, uint32_t stream, uint32_t process, const char *name, uint32_t parent, OTF_KeyValueList *list)
Write a process definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:664
OTF_Writer_writeRecvMsg
int OTF_Writer_writeRecvMsg(OTF_Writer *writer, uint64_t time, uint32_t receiver, uint32_t sender, uint32_t procGroup, uint32_t tag, uint32_t length, uint32_t source)
Write a message retrieval record.
Definition: OTF_Writer.c:1217
OTF_WBuffer.h
Provides write access to trace buffers.
OTF_Writer_writeBeginFileOperationKV
int OTF_Writer_writeBeginFileOperationKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint64_t matchingId, uint32_t scltoken, OTF_KeyValueList *list)
Write a begin file operation record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1499
OTF_Writer_writeDefMarker
int OTF_Writer_writeDefMarker(OTF_Writer *writer, uint32_t streamID, uint32_t token, const char *name, uint32_t type)
Writes a def marker record.
Definition: OTF_Writer.c:1991
OTF_Writer_writeBeginProcessKV
int OTF_Writer_writeBeginProcessKV(OTF_Writer *writer, uint64_t time, uint32_t process, OTF_KeyValueList *list)
Write a begin process record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1432
OTF_Writer_writeDefCreatorKV
int OTF_Writer_writeDefCreatorKV(OTF_Writer *writer, uint32_t stream, const char *creator, OTF_KeyValueList *list)
Write a creator record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1027
OTF_Writer_writeEventCommentKV
int OTF_Writer_writeEventCommentKV(OTF_Writer *writer, uint64_t time, uint32_t process, const char *comment, OTF_KeyValueList *list)
Write a comment record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1409
OTF_Writer_writeCounterKV
int OTF_Writer_writeCounterKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t counter, uint64_t value, OTF_KeyValueList *list)
Write a counter measurement record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1306
OTF_Writer_writeDefAttributeListKV
int OTF_Writer_writeDefAttributeListKV(OTF_Writer *writer, uint32_t stream, uint32_t attr_token, uint32_t num, OTF_ATTR_TYPE *array, OTF_KeyValueList *list)
Write an attribute list definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:730
OTF_Writer_writeDefProcessGroup
int OTF_Writer_writeDefProcessGroup(OTF_Writer *writer, uint32_t stream, uint32_t procGroup, const char *name, uint32_t numberOfProcs, const uint32_t *procs)
Write a process group definition record.
Definition: OTF_Writer.c:680
OTF_Writer_writeBeginFileOperation
int OTF_Writer_writeBeginFileOperation(OTF_Writer *writer, uint64_t time, uint32_t process, uint64_t matchingId, uint32_t scltoken)
Write a begin file operation record.
Definition: OTF_Writer.c:1489
OTF_Writer_writeDefFileKV
int OTF_Writer_writeDefFileKV(OTF_Writer *writer, uint32_t stream, uint32_t token, const char *name, uint32_t group, OTF_KeyValueList *list)
Write a file definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1052
OTF_Writer_writeBeginCollectiveOperation
int OTF_Writer_writeBeginCollectiveOperation(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t collOp, uint64_t matchingId, uint32_t procGroup, uint32_t rootProc, uint64_t sent, uint64_t received, uint32_t scltoken)
Write a begin collective operation member record.
Definition: OTF_Writer.c:1349
OTF_Writer_writeRMAEnd
int OTF_Writer_writeRMAEnd(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t remote, uint32_t communicator, uint32_t tag, uint32_t scltoken)
Write a RMA end record.
Definition: OTF_Writer.c:1612
OTF_Writer_writeSendMsgKV
int OTF_Writer_writeSendMsgKV(OTF_Writer *writer, uint64_t time, uint32_t sender, uint32_t receiver, uint32_t procGroup, uint32_t tag, uint32_t length, uint32_t source, OTF_KeyValueList *list)
Write a message send record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1258
OTF_WStream.h
Provides write access to trace streams, which consist of multiple buffers.
OTF_Writer_writeCollectiveOperationKV
int OTF_Writer_writeCollectiveOperationKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t collective, uint32_t procGroup, uint32_t rootProc, uint32_t sent, uint32_t received, uint64_t duration, uint32_t source, OTF_KeyValueList *list)
Write a collective operation member record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1333
OTF_Writer_writeFunctionGroupSummary
int OTF_Writer_writeFunctionGroupSummary(OTF_Writer *writer, uint64_t time, uint32_t functiongroup, uint32_t process, uint64_t count, uint64_t excltime, uint64_t incltime)
Write a functiongroup summary record.
Definition: OTF_Writer.c:1852
OTF_Writer_writeCollopSummaryKV
int OTF_Writer_writeCollopSummaryKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t comm, uint32_t collective, uint64_t number_sent, uint64_t number_recved, uint64_t bytes_sent, uint64_t bytes_recved, OTF_KeyValueList *list)
Write a summary record of collective operations including an OTF_KeyValueList.
Definition: OTF_Writer.c:1919
OTF_Writer_writeDefProcessOrGroupAttributesKV
int OTF_Writer_writeDefProcessOrGroupAttributesKV(OTF_Writer *writer, uint32_t stream, uint32_t proc_token, uint32_t attr_token, OTF_KeyValueList *list)
Write a process or group attributes definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:761
OTF_Writer_writeEventComment
int OTF_Writer_writeEventComment(OTF_Writer *writer, uint64_t time, uint32_t process, const char *comment)
Write a comment record.
Definition: OTF_Writer.c:1397
OTF_Writer_writeSendSnapshot
int OTF_Writer_writeSendSnapshot(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t sender, uint32_t receiver, uint32_t procGroup, uint32_t tag, uint32_t length, uint32_t source)
Write a send snapshot which provides information about a past message send operation that is still pe...
Definition: OTF_Writer.c:1690
OTF_Writer_writeOpenFileSnapshotKV
int OTF_Writer_writeOpenFileSnapshotKV(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t fileid, uint32_t process, uint64_t handleid, uint32_t source, OTF_KeyValueList *list)
Write a snapshot record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1728
OTF_Writer_writeMarker
int OTF_Writer_writeMarker(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t token, const char *text)
Writes a marker record.
Definition: OTF_Writer.c:2026
OTF_Writer_writeNoOpKV
int OTF_Writer_writeNoOpKV(OTF_Writer *writer, uint64_t time, uint32_t process, OTF_KeyValueList *list)
Write a no-operation record.
Definition: OTF_Writer.c:1179
OTF_Writer_writeDefFileGroup
int OTF_Writer_writeDefFileGroup(OTF_Writer *writer, uint32_t stream, uint32_t token, const char *name)
Write a file group definition record.
Definition: OTF_Writer.c:1062
OTF_Writer_writeRMAEndKV
int OTF_Writer_writeRMAEndKV(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t remote, uint32_t communicator, uint32_t tag, uint32_t scltoken, OTF_KeyValueList *list)
Write a RMA end record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1624
struct_OTF_WStream
Definition: OTF_WStream.h:95
OTF_Writer_writeBeginCollopSnapshotKV
int OTF_Writer_writeBeginCollopSnapshotKV(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t process, uint32_t collOp, uint64_t matchingId, uint32_t procGroup, uint32_t rootProc, uint64_t sent, uint64_t received, uint32_t scltoken, OTF_KeyValueList *list)
Write a snapshot record for an unfinished collective operation including an OTF_KeyValueList.
Definition: OTF_Writer.c:1755
OTF_Writer_writeDefFunctionKV
int OTF_Writer_writeDefFunctionKV(OTF_Writer *writer, uint32_t stream, uint32_t func, const char *name, uint32_t funcGroup, uint32_t source, OTF_KeyValueList *list)
Write a function definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:793
OTF_Writer_writeDefCollectiveOperationKV
int OTF_Writer_writeDefCollectiveOperationKV(OTF_Writer *writer, uint32_t stream, uint32_t collOp, const char *name, uint32_t type, OTF_KeyValueList *list)
Write a collective operation definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:856
OTF_Writer_setCompression
int OTF_Writer_setCompression(OTF_Writer *writer, OTF_FileCompression compression)
Set the standard compression method for all buffers managed by this writer.
Definition: OTF_Writer.c:229
OTF_KeyValueList
struct OTF_KeyValueList_struct OTF_KeyValueList
Object type which holds a key-value list.
Definition: OTF_KeyValue.h:242
OTF_Writer_setFormat
void OTF_Writer_setFormat(OTF_Writer *writer, uint32_t format)
Set the default ouput format.
Definition: OTF_Writer.c:353
struct_OTF_Writer
Holds the data objects needed for global trace creation.
Definition: OTF_Writer.c:21
OTF_Writer_getBufferSizes
uint32_t OTF_Writer_getBufferSizes(OTF_Writer *writer)
Get the default buffer size for all buffers managed by this Writer.
Definition: OTF_Writer.c:302
OTF_Writer_writeDefSclFileKV
int OTF_Writer_writeDefSclFileKV(OTF_Writer *writer, uint32_t stream, uint32_t sourceFile, const char *name, OTF_KeyValueList *list)
Write a source code location (SCL) file record including an OTF_KeyValueList.
Definition: OTF_Writer.c:984
OTF_Writer_writeRMAGet
int OTF_Writer_writeRMAGet(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t scltoken)
Write a RMA get record.
Definition: OTF_Writer.c:1586
OTF_Writer_writeSnapshotCommentKV
int OTF_Writer_writeSnapshotCommentKV(OTF_Writer *writer, uint64_t time, uint32_t process, const char *comment, OTF_KeyValueList *list)
Write a snapshot comment record including an OTF_KeyValueList.
Definition: OTF_Writer.c:1652
OTF_Writer_writeDefProcessGroupKV
int OTF_Writer_writeDefProcessGroupKV(OTF_Writer *writer, uint32_t stream, uint32_t procGroup, const char *name, uint32_t numberOfProcs, const uint32_t *procs, OTF_KeyValueList *list)
Write a process group definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:697
OTF_Writer_writeDefCounterKV
int OTF_Writer_writeDefCounterKV(OTF_Writer *writer, uint32_t stream, uint32_t counter, const char *name, uint32_t properties, uint32_t counterGroup, const char *unit, OTF_KeyValueList *list)
Write a counter definition record including an OTF_KeyValueList.
Definition: OTF_Writer.c:889
struct_OTF_FileManager
file handles management structure
Definition: OTF_FileManager.c:32
OTF_Writer_writeDefProcess
int OTF_Writer_writeDefProcess(OTF_Writer *writer, uint32_t stream, uint32_t process, const char *name, uint32_t parent)
Write a process definition record.
Definition: OTF_Writer.c:649
OTF_Writer_writeBeginCollopSnapshot
int OTF_Writer_writeBeginCollopSnapshot(OTF_Writer *writer, uint64_t time, uint64_t originaltime, uint32_t process, uint32_t collOp, uint64_t matchingId, uint32_t procGroup, uint32_t rootProc, uint64_t sent, uint64_t received, uint32_t scltoken)
Write a snapshot record for an unfinished collective operation.
Definition: OTF_Writer.c:1740
OTF_Writer_getFormat
uint32_t OTF_Writer_getFormat(OTF_Writer *writer)
Get the default output format of all streams managed by this writer.
Definition: OTF_Writer.c:368
struct_OTF_Writer::format
uint32_t format
Default output format.
Definition: OTF_Writer.c:51
OTF_Writer_writeDefProcessSubstitutes
int OTF_Writer_writeDefProcessSubstitutes(OTF_Writer *writer, uint32_t streamid, uint32_t representative, uint32_t numberOfProcs, const uint32_t *procs, OTF_KeyValueList *list)
Writes a ProcessSubstitutes definition record.
Definition: OTF_Writer.c:1158
OTF_Writer_closeAllStreams
int OTF_Writer_closeAllStreams(OTF_Writer *writer)
Close all streams that are open in this writer instance.
Definition: OTF_Writer.c:2043
OTF_Writer_writeSnapshotComment
int OTF_Writer_writeSnapshotComment(OTF_Writer *writer, uint64_t time, uint32_t process, const char *comment)
Write a snapshot comment record.
Definition: OTF_Writer.c:1640
OTF_Writer_writeLeave
int OTF_Writer_writeLeave(OTF_Writer *writer, uint64_t time, uint32_t function, uint32_t process, uint32_t source)
Write a function leave record.
Definition: OTF_Writer.c:1272
OTF_Writer_mapProcess
uint32_t OTF_Writer_mapProcess(OTF_Writer *writer, uint32_t processId)
For a process with id 'processId' return a stream id of the stream the data is to be written to...
Definition: OTF_Writer.c:497
OTF_Writer_writeRMAPut
int OTF_Writer_writeRMAPut(OTF_Writer *writer, uint64_t time, uint32_t process, uint32_t origin, uint32_t target, uint32_t communicator, uint32_t tag, uint64_t bytes, uint32_t scltoken)
Write a RMA put record - local end record.
Definition: OTF_Writer.c:1536
OTF_Writer_open
OTF_Writer * OTF_Writer_open(const char *fileNamePrefix, uint32_t numberOfStreams, OTF_FileManager *fileManager)
Create a new OTF_Writer instance with a given number of automatic streams.
Definition: OTF_Writer.c:148
OTF_Writer_writeEndProcess
int OTF_Writer_writeEndProcess(OTF_Writer *writer, uint64_t time, uint32_t process)
Write a end process record.
Definition: OTF_Writer.c:1443
struct_OTF_Writer::mc
OTF_MasterControl * mc
Master control structure.
Definition: OTF_Writer.c:45