@@ -164,6 +164,7 @@ static int pack_otel_data(struct flb_splunk *ctx,
164
164
msgpack_object * source_map ;
165
165
char schema [8 ];
166
166
int result ;
167
+ int source_map_resource_attributes = FLB_FALSE ;
167
168
struct flb_mp_map_header mh_tmp ;
168
169
msgpack_object * value ;
169
170
size_t index ;
@@ -187,6 +188,7 @@ static int pack_otel_data(struct flb_splunk *ctx,
187
188
source_map = local_msgpack_map_lookup (source_map , "attributes" );
188
189
189
190
if (source_map != NULL ) {
191
+ source_map_resource_attributes = FLB_TRUE ;
190
192
value = local_msgpack_map_lookup (source_map ,
191
193
"host.name" );
192
194
@@ -209,6 +211,15 @@ static int pack_otel_data(struct flb_splunk *ctx,
209
211
210
212
flb_mp_map_header_init (& mh_tmp , mp_pck );
211
213
214
+ /* check if we have resource attributes to pack */
215
+ if (source_map_resource_attributes == FLB_TRUE ) {
216
+ for (index = 0 ; index < source_map -> via .map .size ; index ++ ) {
217
+ flb_mp_map_header_append (& mh_tmp );
218
+ msgpack_pack_object (mp_pck , source_map -> via .map .ptr [index ].key );
219
+ msgpack_pack_object (mp_pck , source_map -> via .map .ptr [index ].val );
220
+ }
221
+ }
222
+
212
223
source_map = local_msgpack_map_lookup (record_attributes , "otlp" );
213
224
214
225
if (source_map != NULL ) {
@@ -457,7 +468,6 @@ static int pack_map(struct flb_splunk *ctx, msgpack_packer *mp_pck,
457
468
record_attributes );
458
469
459
470
if (result != 0 ) {
460
- printf ("ERROR %d\n" , result );
461
471
return -1 ;
462
472
}
463
473
0 commit comments