Multi-ApplicationOnlineProfiling  2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Event_Desc.h
Go to the documentation of this file.
1 /* ############################ MALP License ############################## */
2 /* # Fri Jan 18 14:00:00 CET 2013 # */
3 /* # Copyright or (C) or Copr. Commissariat a l'Energie Atomique # */
4 /* # # */
5 /* # This software is governed by the CeCILL-C license under French law # */
6 /* # and abiding by the rules of distribution of free software. You can # */
7 /* # use, modify and/ or redistribute the software under the terms of # */
8 /* # the CeCILL-C license as circulated by CEA, CNRS and INRIA at the # */
9 /* # following URL http://www.cecill.info. # */
10 /* # # */
11 /* # The fact that you are presently reading this means that you have # */
12 /* # had knowledge of the CeCILL-C license and that you accept its # */
13 /* # terms. # */
14 /* # # */
15 /* # Authors: # */
16 /* # - BESNARD Jean-Baptiste jean-baptiste.besnard@cea.fr # */
17 /* # # */
18 /* ######################################################################## */
19 
26 #ifndef EVENT_DESCRIPTOR_H
27 #define EVENT_DESCRIPTOR_H
28 
29 #include <stdint.h>
30 
31 #include "Stream_Descriptor.h"
32 #include "MPI_Events.h"
33 #include "Wrapped_Symbols.h"
34 #include "OTF_Event.h"
35 #include "MAP_Event.h"
36 #include "Locus.h"
37 
41 typedef enum
42 {
51 
55 static const char * const MALP_Trace_event_type_names[ MALP_EVENT_TYPE_COUNT ] =
56 {
57  "None",
58  "Meta-Data",
59  "MPI event",
60  "Posix event",
61  "OTF_Event",
62  "MAP Event"
63 };
64 
65 
66 
70 typedef union
71 {
72  struct Stream_Descriptor stream_descriptor;
73  struct MPI_Event mpi_event;
74  struct Wrapped_Event wrapped_event;
75  struct OTF_Event otf;
76  struct MAP_Event map;
78 
83 {
84  struct Event_Locus locus;
86  uint64_t timestamp;
87  uint64_t duration;
88  uint64_t tid;
89  uint64_t partition_id;
90  int rank;
92 };
93 
94 
98 #define EVENT_PACK_SIZE 8192
99 
104 {
105  struct Pack_Locus locus;
107  uint32_t offset;
109 };
110 
111 
112 #endif /* EVENT_DESCRIPTOR_H */
113 
int rank
The rank.
Definition: Event_Desc.h:90
union defining which data can be contained into an event
Definition: Event_Desc.h:70
uint8_t contains_metadata
Indicates whether the pack contains at least one MALP_EVENT_META event.
Definition: Event_Desc.h:108
The event contains meta data.
Definition: Event_Desc.h:44
uint64_t partition_id
The sender partition id.
Definition: Event_Desc.h:89
Struct defining a pack of events.
Definition: Event_Desc.h:103
Structure containing data related to a stream and intended to be sent as an event (see MALP_Trace_Eve...
struct Event_Locus locus
The event locator.
Definition: Event_Desc.h:84
Structure defining a location for an event pack.
Definition: Locus.h:47
struct MALP_Trace_Event events[EVENT_PACK_SIZE]
The events.
Definition: Event_Desc.h:106
Struct defining an event.
Definition: Event_Desc.h:82
uint64_t duration
Duration.
Definition: Event_Desc.h:87
MALP_Trace_event_type type
The type of the event.
Definition: Event_Desc.h:85
Structure defining event for wrapped symbols.
The event contains wrapped function informations.
Definition: Event_Desc.h:46
uint32_t offset
The number of packed events.
Definition: Event_Desc.h:107
uint64_t tid
The stream unique id.
Definition: Event_Desc.h:88
MALP_Trace_event_type
enum defining event types
Definition: Event_Desc.h:41
MAP event.
Definition: Event_Desc.h:48
MALP_Trace_event_t event
The event data.
Definition: Event_Desc.h:91
uint64_t timestamp
Creation date.
Definition: Event_Desc.h:86
static const char *const MALP_Trace_event_type_names[MALP_EVENT_TYPE_COUNT]
List of string constants describing event types.
Definition: Event_Desc.h:55
struct Pack_Locus locus
The pack locator.
Definition: Event_Desc.h:105
None type event.
Definition: Event_Desc.h:43
Enter + Leave events for OTF2 compatibility.
Definition: Event_Desc.h:47
#define EVENT_PACK_SIZE
The size of a pack of events.
Definition: Event_Desc.h:98
The event contains MPI informations.
Definition: Event_Desc.h:45
Struct defining a MPI event data.
Definition: MPI_Events.h:1233
Structure defining a location for an event.
Definition: Locus.h:59
The number of enums.
Definition: Event_Desc.h:49