Skip to content

Commit ef01d56

Browse files
committed
add support of formatted metadata
Signed-off-by: Alexey Kireev <[email protected]>
1 parent d3356e4 commit ef01d56

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

include/ittnotify.h

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2454,9 +2454,59 @@ typedef enum {
24542454
__itt_metadata_u16, /**< Unsigned 16-bit integer */
24552455
__itt_metadata_s16, /**< Signed 16-bit integer */
24562456
__itt_metadata_float, /**< Signed 32-bit floating-point */
2457-
__itt_metadata_double /**< SIgned 64-bit floating-point */
2457+
__itt_metadata_double, /**< Signed 64-bit floating-point */
2458+
__itt_metadata_string /**< String*/
24582459
} __itt_metadata_type;
24592460

2461+
/**
2462+
* @ingroup parameters
2463+
* @brief Add metadata to an instance of a named entity.
2464+
* @param[in] domain The domain controlling the call
2465+
* @param[in] format The format of the metadata
2466+
* @param[in] ... The metadata itself as multiple arguments
2467+
*/
2468+
void ITTAPI __itt_formatted_metadata_add(const __itt_domain *domain, __itt_string_handle *format, ...);
2469+
2470+
/** @cond exclude_from_documentation */
2471+
#ifndef INTEL_NO_MACRO_BODY
2472+
#ifndef INTEL_NO_ITTNOTIFY_API
2473+
ITT_STUBV(ITTAPI, void, formatted_metadata_add, (const __itt_domain *domain, __itt_string_handle *format, ...))
2474+
#define __itt_formatted_metadata_add ITTNOTIFY_VOID(formatted_metadata_add)
2475+
#define __itt_formatted_metadata_add_ptr ITTNOTIFY_NAME(formatted_metadata_add)
2476+
#else /* INTEL_NO_ITTNOTIFY_API */
2477+
#define __itt_formatted_metadata_add(domain, format, metadata)
2478+
#define __itt_formatted_metadata_add_ptr 0
2479+
#endif /* INTEL_NO_ITTNOTIFY_API */
2480+
#else /* INTEL_NO_MACRO_BODY */
2481+
#define __itt_formatted_metadata_add_ptr 0
2482+
#endif /* INTEL_NO_MACRO_BODY */
2483+
/** @endcond */
2484+
2485+
/**
2486+
* @ingroup parameters
2487+
* @brief Add metadata to an instance of a named entity.
2488+
* @param[in] domain The domain controlling the call
2489+
* @param[in] taskid The identifier for this task instance, *cannot* be __itt_null.
2490+
* @param[in] format The format of the metadata
2491+
* @param[in] ... The metadata itself as multiple arguments
2492+
*/
2493+
void ITTAPI __itt_formatted_metadata_add_overlapped(const __itt_domain *domain, __itt_id taskid, __itt_string_handle *format, ...);
2494+
2495+
/** @cond exclude_from_documentation */
2496+
#ifndef INTEL_NO_MACRO_BODY
2497+
#ifndef INTEL_NO_ITTNOTIFY_API
2498+
ITT_STUBV(ITTAPI, void, formatted_metadata_add_overlapped, (const __itt_domain *domain, __itt_id taskid, __itt_string_handle *format, ...))
2499+
#define __itt_formatted_metadata_add_overlapped ITTNOTIFY_VOID(formatted_metadata_add_overlapped)
2500+
#define __itt_formatted_metadata_add_ptr_overlapped ITTNOTIFY_NAME(formatted_metadata_add_overlapped)
2501+
#else /* INTEL_NO_ITTNOTIFY_API */
2502+
#define __itt_formatted_metadata_add_overlapped(domain, taskid, format, metadata)
2503+
#define __itt_formatted_metadata_add_ptr_overlapped 0
2504+
#endif /* INTEL_NO_ITTNOTIFY_API */
2505+
#else /* INTEL_NO_MACRO_BODY */
2506+
#define __itt_formatted_metadata_add_ptr_overlapped 0
2507+
#endif /* INTEL_NO_MACRO_BODY */
2508+
/** @endcond */
2509+
24602510
/**
24612511
* @ingroup parameters
24622512
* @brief Add metadata to an instance of a named entity.

src/ittnotify/ittnotify_static.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,12 @@ ITT_STUBV(ITTAPI, void, counter_dec_delta_v3, (const __itt_domain *domain, __itt
207207

208208
ITT_STUBV(ITTAPI, void, marker, (const __itt_domain *domain, __itt_id id, __itt_string_handle *name, __itt_scope scope), (ITT_FORMAT domain, id, name, scope), marker, __itt_group_structure, "%p, %lu, %p, %d")
209209

210+
ITT_STUBV(ITTAPI, void, formatted_metadata_add, (const __itt_domain *domain, __itt_string_handle *format, ...), \
211+
(ITT_FORMAT domain, format), formatted_metadata_add, __itt_group_structure, "%p, %p")
212+
213+
ITT_STUBV(ITTAPI, void, formatted_metadata_add_overlapped, (const __itt_domain *domain, __itt_id id, __itt_string_handle *format, ...), \
214+
(ITT_FORMAT domain, id, format), formatted_metadata_add_overlapped, __itt_group_structure, "%p, %lu, %p")
215+
210216
ITT_STUBV(ITTAPI, void, metadata_add, (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, __itt_metadata_type type, size_t count, void *data), (ITT_FORMAT domain, id, key, type, count, data), metadata_add, __itt_group_structure, "%p, %lu, %p, %d, %lu, %p")
211217
#if ITT_PLATFORM==ITT_PLATFORM_WIN
212218
ITT_STUBV(ITTAPI, void, metadata_str_addA, (const __itt_domain *domain, __itt_id id, __itt_string_handle *key, const char* data, size_t length), (ITT_FORMAT domain, id, key, data, length), metadata_str_addA, __itt_group_structure, "%p, %lu, %p, %p, %lu")

0 commit comments

Comments
 (0)