Skip to content

Implement W3C Trace Context in the HTTP module - #3000

Merged
jviotti merged 8 commits into
mainfrom
trace-context
Oct 12, 2026
Merged

jviotti merged 8 commits into
mainfrom
trace-context

Conversation

@jviotti

@jviotti jviotti commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

View guided diff

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Benchmark linux/llvm

Measured against main at d6d6d93.

14 slower, 6 faster, 92 within 5%.

Benchmark main This branch Change
Regex_Caret_Period_Asterisk_Dollar 2.19 ns 3.11 ns +41.9%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.49 ns 3.42 ns +37.4%
JSON_String_Fast_Hash_100 2.18 ns 2.49 ns +14.3%
JSON_String_Fast_Hash_10 2.18 ns 2.49 ns +14.2%
JSON_Fast_Hash_Helm_Chart_Lock 53.59 ns 60.72 ns +13.3%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.49 ns 2.80 ns +12.4%
Regex_Caret_Period_Plus_Dollar 2.80 ns 3.11 ns +11.0%
JSON_Parse_Decimal 7.07 us 7.82 us +10.7%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 9.25 ms 10.22 ms +10.5%
Regex_Caret_X_Hyphen 6.85 ns 7.47 ns +9.0%
Schema_Frame_OMC_Locations 8.09 ms 8.80 ms +8.8%
JSON_Parse_Real_Inexact 3.98 us 4.26 us +7.1%
JSON_Parse_Integer 3.52 us 3.74 us +6.2%
JSON_Parse_String_NonSSO_Plain 3.00 us 3.17 us +5.4%
Schema_Format_ISO_Language 51.41 ms 48.81 ms -5.1%
OpenAPI_Format_Synthetic_3_1 54.25 ms 50.79 ms -6.4%
JSONPath_Descendant_Filter_Nested 1.91 us 1.78 us -6.8%
Regex_Nested_Backtrack 42.15 ns 38.38 ns -8.9%
JSON_Equality_Helm_Chart_Lock 169.33 ns 153.33 ns -9.4%
Regex_Caret_Period_Range_Dollar 4.05 ns 2.81 ns -30.6%
All 112 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.18 ns 2.17 ns -0.3%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.20 ns 2.18 ns -0.8%
Regex_Period_Asterisk 2.19 ns 2.19 ns +0.1%
Regex_Group_Period_Asterisk_Group 2.18 ns 2.17 ns -0.3%
Regex_Period_Plus 2.80 ns 2.80 ns -0.1%
Regex_Period 2.98 ns 3.11 ns +4.5%
Regex_Caret_Period_Plus_Dollar 2.80 ns 3.11 ns +11.0%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.49 ns 2.80 ns +12.4%
Regex_Caret_Period_Asterisk_Dollar 2.19 ns 3.11 ns +41.9%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.49 ns 3.42 ns +37.4%
Regex_Caret_X_Hyphen 6.85 ns 7.47 ns +9.0%
Regex_Period_Md_Dollar 27.01 ns 26.63 ns -1.4%
Regex_Caret_Slash_Period_Asterisk 6.85 ns 6.85 ns -0.1%
Regex_Caret_Period_Range_Dollar 4.05 ns 2.81 ns -30.6%
Regex_Nested_Backtrack 42.15 ns 38.38 ns -8.9%
JSON_Array_Of_Objects_Unique 395.34 ns 400.08 ns +1.2%
JSON_Array_Of_Integers_Unique_256 5.12 us 4.94 us -3.5%
JSON_Array_Of_Strings_Unique_Colliding_256 205.74 us 205.68 us -0.0%
JSON_Parse_1 4.55 us 4.56 us +0.2%
JSON_Parse_Real 4.75 us 4.86 us +2.2%
JSON_Parse_Real_Inexact 3.98 us 4.26 us +7.1%
JSON_Parse_Decimal 7.07 us 7.82 us +10.7%
JSON_Parse_Schema_ISO_Language 3.23 ms 3.24 ms +0.5%
JSON_Parse_Integer 3.52 us 3.74 us +6.2%
JSON_Parse_String_NonSSO_Plain 3.00 us 3.17 us +5.4%
JSON_Parse_String_SSO_Plain 2.63 us 2.75 us +4.5%
JSON_Parse_String_Escape_Heavy 12.09 us 12.30 us +1.7%
JSON_Parse_Object_Short_Keys 7.81 us 7.77 us -0.5%
JSON_Parse_Object_Scalar_Properties 3.98 us 3.97 us -0.3%
JSON_Parse_Object_Array_Properties 5.42 us 5.18 us -4.4%
JSON_Parse_Object_Object_Properties 5.25 us 5.17 us -1.6%
JSON_Parse_Nested_Containers 34.27 us 34.09 us -0.5%
JSON_Fast_Hash_Helm_Chart_Lock 53.59 ns 60.72 ns +13.3%
JSON_Equality_Helm_Chart_Lock 169.33 ns 153.33 ns -9.4%
JSON_String_Equal_10 6.54 ns 6.86 ns +4.8%
JSON_String_Equal_100 7.17 ns 7.48 ns +4.3%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.93 ns 0.93 ns -0.0%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 14.93 ns 14.93 ns -0.0%
JSON_String_Fast_Hash_10 2.18 ns 2.49 ns +14.2%
JSON_String_Fast_Hash_100 2.18 ns 2.49 ns +14.3%
JSON_String_Key_Hash_10 2.59 ns 2.60 ns +0.6%
JSON_String_Key_Hash_100 9.03 ns 9.04 ns +0.1%
JSON_Object_Defines_Miss_Same_Length 3.42 ns 3.43 ns +0.1%
JSON_Object_Defines_Miss_Too_Small 2.96 ns 2.97 ns +0.6%
JSON_Object_Defines_Miss_Too_Large 2.73 ns 2.65 ns -2.8%
JSON_From_String_Copy 10.74 ns 11.05 ns +2.8%
JSON_From_String_Temporary 10.17 ns 10.21 ns +0.4%
JSON_Number_To_Double 14.97 ns 14.98 ns +0.1%
JSON_Object_At_Last_Key_8 3.82 ns 3.82 ns -0.1%
JSON_Object_At_Last_Key_32 12.30 ns 12.31 ns +0.1%
JSON_Object_At_Last_Key_128 87.46 ns 87.52 ns +0.1%
JSON_Object_At_Last_Key_512 390.87 ns 390.93 ns +0.0%
JSON_Divisible_By_Decimal 312.28 ns 302.46 ns -3.1%
JSON_PropertySet_Contains 54.01 ns 52.85 ns -2.2%
JSON_PropertySet_Filter_Object_Properties 39.38 ns 39.76 ns +1.0%
JSON_PropertySet_Insert 583.07 ns 596.60 ns +2.3%
JSON_Stringify_Schema_Web_Of_Things 61.93 us 59.04 us -4.7%
JSON_Prettify_Schema_Web_Of_Things 174.38 us 177.67 us +1.9%
Pointer_Object_Traverse 29.28 ns 28.36 ns -3.2%
Pointer_Object_Try_Traverse 30.21 ns 30.53 ns +1.1%
Pointer_Push_Back_Pointer_To_Weak_Pointer 168.26 ns 167.98 ns -0.2%
Pointer_Walker_Schema_ISO_Language 1.67 ms 1.63 ms -2.1%
Pointer_Untracked_Deeply_Nested 1.24 ms 1.21 ms -2.6%
Pointer_Tracked_Deeply_Nested 1.68 ms 1.63 ms -2.8%
Pointer_Position_Tracker_Get_Deeply_Nested 601.24 ns 607.22 ns +1.0%
Schema_Tracker_ISO_Language 4.35 ms 4.40 ms +1.2%
Schema_Tracker_ISO_Language_To_JSON 16.92 ms 16.62 ms -1.8%
Schema_Frame_WoT_References 2.08 ms 2.05 ms -1.3%
Schema_Frame_OMC_References 9.86 ms 10.13 ms +2.7%
Schema_Frame_OMC_Pointers 18.38 ms 18.98 ms +3.3%
Schema_Frame_OMC_Locations 8.09 ms 8.80 ms +8.8%
Schema_Frame_ISO_Language_Locations 44.51 ms 44.49 ms -0.0%
Schema_Frame_ISO_Language_Root 330.69 ns 328.10 ns -0.8%
Schema_Frame_KrakenD_References 15.10 ms 15.82 ms +4.8%
Schema_Frame_KrakenD_Reachable 153.83 ms 157.13 ms +2.1%
Schema_Frame_ISO_Language_Locations_To_JSON 32.77 ms 31.43 ms -4.1%
Schema_Frame_Many_Resources_References 119.47 ms 113.68 ms -4.8%
Schema_Frame_Deeply_Nested_References 11.17 ms 11.08 ms -0.9%
Schema_Format_ISO_Language 51.41 ms 48.81 ms -5.1%
Schema_Bundle_Meta_2020_12 598.79 us 584.05 us -2.5%
Schema_Bundle_Many_Remotes_With_Fragments 6.64 ms 6.59 ms -0.7%
OpenAPI_Frame_GSMTasks_3_0 159.08 ms 158.68 ms -0.3%
OpenAPI_Format_Synthetic_3_1 54.25 ms 50.79 ms -6.4%
JSONPath_Descendant_Filter_Nested 1.91 us 1.78 us -6.8%
URITemplateRouter_Create 24.73 us 24.71 us -0.1%
URITemplateRouter_Match 177.21 ns 178.83 ns +0.9%
URITemplateRouterView_Restore 8.47 us 8.53 us +0.7%
URITemplateRouterView_Match 146.18 ns 144.52 ns -1.1%
URITemplateRouterView_Arguments 426.34 ns 440.16 ns +3.2%
URITemplateRouter_Match_BasePath 208.49 ns 209.21 ns +0.3%
URITemplateRouterView_Match_BasePath 164.92 ns 163.49 ns -0.9%
JSONL_Parse_Large 9.19 ms 9.14 ms -0.6%
JSONL_Parse_Large_GZIP 9.33 ms 9.33 ms +0.0%
JSONLD_Catalog_Annotation_List_Populate 614.50 us 617.48 us +0.5%
JSONLD_Catalog_Materialize 3.58 ms 3.53 ms -1.5%
HTML_Build_Table_100000 38.07 ms 37.98 ms -0.2%
HTML_Render_Table_100000 2.00 ms 2.09 ms +4.2%
Markdown_To_HTML_Realistic_Document 4.17 ms 4.21 ms +0.8%
Markdown_To_HTML_Pathological 13.19 ms 13.03 ms -1.2%
Markdown_To_HTML_Short_Descriptions 573.74 ns 591.90 ns +3.2%
GZIP_Compress_ISO_Language_Set_3_Locations 37.67 ms 37.39 ms -0.8%
GZIP_Decompress_ISO_Language_Set_3_Locations 5.16 ms 5.20 ms +0.6%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 7.10 ms 7.16 ms +0.8%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 9.25 ms 10.22 ms +10.5%
GZIP_Compress_ISO_Language_Set_3_Schema 2.24 ms 2.22 ms -0.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 424.33 us 423.88 us -0.1%
JOSE_VerifySignature_RS256 48.38 us 47.23 us -2.4%
JOSE_VerifySignature_ES512 1.74 ms 1.74 ms +0.3%
Crypto_CRC32_Large_JSONL 101.88 us 101.85 us -0.0%
Crypto_AES_GCM_Encrypt_128_1KB 32.44 us 31.34 us -3.4%
Crypto_AES_GCM_Decrypt_128_1KB 32.39 us 31.33 us -3.3%
Crypto_AES_GCM_Encrypt_256_1KB 39.18 us 38.10 us -2.7%

@jviotti
jviotti marked this pull request as ready for review October 11, 2026 23:26
@jviotti jviotti changed the title [WIP] Implement W3C Trace Context in the HTTP module Implement W3C Trace Context in the HTTP module Oct 11, 2026
@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Benchmark linux/gcc

Measured against main at d6d6d93.

4 slower, 12 faster, 96 within 5%.

Benchmark main This branch Change
JSON_Parse_Real 5.49 us 6.25 us +13.7%
JSON_PropertySet_Filter_Object_Properties 36.45 ns 40.85 ns +12.1%
JSON_PropertySet_Contains 44.96 ns 50.18 ns +11.6%
JSON_Object_Defines_Miss_Too_Large 3.11 ns 3.42 ns +10.1%
JSON_String_Equal_100 6.32 ns 6.00 ns -5.1%
Schema_Tracker_ISO_Language 5.27 ms 4.99 ms -5.4%
OpenAPI_Format_Synthetic_3_1 56.03 ms 52.96 ms -5.5%
JSON_String_Equal_10 5.69 ns 5.37 ns -5.5%
Schema_Frame_ISO_Language_Locations_To_JSON 35.00 ms 32.92 ms -5.9%
Pointer_Walker_Schema_ISO_Language 1.66 ms 1.52 ms -8.0%
Schema_Frame_KrakenD_References 17.40 ms 15.83 ms -9.0%
JSON_From_String_Copy 10.01 ns 9.00 ns -10.0%
JSON_PropertySet_Insert 516.38 ns 461.06 ns -10.7%
JSON_Parse_String_Escape_Heavy 17.66 us 15.28 us -13.5%
JSON_String_Key_Hash_10 2.99 ns 2.53 ns -15.4%
JSON_Array_Of_Strings_Unique_Colliding_256 245.05 us 202.29 us -17.5%
All 112 benchmarks
Benchmark main This branch Change
Crypto_CRC32_Large_JSONL 101.87 us 101.69 us -0.2%
Crypto_AES_GCM_Encrypt_128_1KB 1.25 us 1.24 us -0.9%
Crypto_AES_GCM_Decrypt_128_1KB 1.24 us 1.24 us +0.2%
Crypto_AES_GCM_Encrypt_256_1KB 1.29 us 1.28 us -0.9%
JOSE_VerifySignature_RS256 22.29 us 22.29 us +0.0%
JOSE_VerifySignature_ES512 576.43 us 575.28 us -0.2%
GZIP_Compress_ISO_Language_Set_3_Locations 31.41 ms 30.17 ms -3.9%
GZIP_Decompress_ISO_Language_Set_3_Locations 5.22 ms 5.23 ms +0.3%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 7.24 ms 7.25 ms +0.2%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 9.74 ms 9.72 ms -0.2%
GZIP_Compress_ISO_Language_Set_3_Schema 2.08 ms 2.05 ms -1.3%
GZIP_Decompress_ISO_Language_Set_3_Schema 425.33 us 425.68 us +0.1%
Markdown_To_HTML_Realistic_Document 5.13 ms 5.02 ms -2.0%
Markdown_To_HTML_Pathological 13.35 ms 13.25 ms -0.7%
Markdown_To_HTML_Short_Descriptions 725.84 ns 696.46 ns -4.0%
HTML_Build_Table_100000 38.74 ms 39.81 ms +2.8%
HTML_Render_Table_100000 1.88 ms 1.80 ms -4.1%
JSONLD_Catalog_Annotation_List_Populate 750.55 us 731.43 us -2.5%
JSONLD_Catalog_Materialize 3.87 ms 3.77 ms -2.6%
JSONL_Parse_Large 10.67 ms 10.48 ms -1.7%
JSONL_Parse_Large_GZIP 10.81 ms 10.60 ms -2.0%
URITemplateRouter_Create 21.98 us 21.64 us -1.6%
URITemplateRouter_Match 148.84 ns 148.36 ns -0.3%
URITemplateRouterView_Restore 8.35 us 8.37 us +0.2%
URITemplateRouterView_Match 131.69 ns 129.63 ns -1.6%
URITemplateRouterView_Arguments 486.03 ns 478.12 ns -1.6%
URITemplateRouter_Match_BasePath 170.75 ns 170.67 ns -0.0%
URITemplateRouterView_Match_BasePath 149.13 ns 146.69 ns -1.6%
JSONPath_Descendant_Filter_Nested 2.00 us 1.98 us -0.9%
OpenAPI_Frame_GSMTasks_3_0 162.18 ms 156.22 ms -3.7%
OpenAPI_Format_Synthetic_3_1 56.03 ms 52.96 ms -5.5%
Schema_Frame_WoT_References 2.28 ms 2.24 ms -1.6%
Schema_Frame_OMC_References 10.40 ms 10.04 ms -3.4%
Schema_Frame_OMC_Pointers 19.29 ms 18.51 ms -4.1%
Schema_Frame_OMC_Locations 8.94 ms 8.70 ms -2.7%
Schema_Frame_ISO_Language_Locations 44.86 ms 44.15 ms -1.6%
Schema_Frame_ISO_Language_Root 359.45 ns 350.41 ns -2.5%
Schema_Frame_KrakenD_References 17.40 ms 15.83 ms -9.0%
Schema_Frame_KrakenD_Reachable 154.74 ms 147.14 ms -4.9%
Schema_Frame_ISO_Language_Locations_To_JSON 35.00 ms 32.92 ms -5.9%
Schema_Frame_Many_Resources_References 128.29 ms 123.23 ms -3.9%
Schema_Frame_Deeply_Nested_References 11.79 ms 11.29 ms -4.2%
Schema_Format_ISO_Language 50.77 ms 50.10 ms -1.3%
Schema_Bundle_Meta_2020_12 687.66 us 673.74 us -2.0%
Schema_Bundle_Many_Remotes_With_Fragments 7.31 ms 7.19 ms -1.7%
Pointer_Object_Traverse 23.21 ns 23.09 ns -0.5%
Pointer_Object_Try_Traverse 27.56 ns 27.55 ns -0.0%
Pointer_Push_Back_Pointer_To_Weak_Pointer 129.81 ns 130.59 ns +0.6%
Pointer_Walker_Schema_ISO_Language 1.66 ms 1.52 ms -8.0%
Pointer_Untracked_Deeply_Nested 1.50 ms 1.51 ms +0.7%
Pointer_Tracked_Deeply_Nested 2.20 ms 2.20 ms -0.3%
Pointer_Position_Tracker_Get_Deeply_Nested 587.87 ns 593.08 ns +0.9%
Schema_Tracker_ISO_Language 5.27 ms 4.99 ms -5.4%
Schema_Tracker_ISO_Language_To_JSON 16.95 ms 16.12 ms -4.9%
JSON_Array_Of_Objects_Unique 439.74 ns 440.09 ns +0.1%
JSON_Array_Of_Integers_Unique_256 4.16 us 4.15 us -0.3%
JSON_Array_Of_Strings_Unique_Colliding_256 245.05 us 202.29 us -17.5%
JSON_Parse_1 5.80 us 5.68 us -2.0%
JSON_Parse_Real 5.49 us 6.25 us +13.7%
JSON_Parse_Real_Inexact 6.10 us 6.08 us -0.4%
JSON_Parse_Decimal 10.46 us 10.23 us -2.2%
JSON_Parse_Schema_ISO_Language 3.85 ms 3.77 ms -1.9%
JSON_Parse_Integer 4.32 us 4.30 us -0.4%
JSON_Parse_String_NonSSO_Plain 3.71 us 3.65 us -1.8%
JSON_Parse_String_SSO_Plain 3.07 us 3.16 us +3.1%
JSON_Parse_String_Escape_Heavy 17.66 us 15.28 us -13.5%
JSON_Parse_Object_Short_Keys 11.12 us 11.22 us +0.8%
JSON_Parse_Object_Scalar_Properties 5.64 us 5.68 us +0.8%
JSON_Parse_Object_Array_Properties 6.91 us 7.11 us +2.9%
JSON_Parse_Object_Object_Properties 6.94 us 7.04 us +1.5%
JSON_Parse_Nested_Containers 42.69 us 43.25 us +1.3%
JSON_Fast_Hash_Helm_Chart_Lock 72.17 ns 71.58 ns -0.8%
JSON_Equality_Helm_Chart_Lock 169.43 ns 169.39 ns -0.0%
JSON_String_Equal_10 5.69 ns 5.37 ns -5.5%
JSON_String_Equal_100 6.32 ns 6.00 ns -5.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.62 ns 0.62 ns -0.1%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 13.08 ns 13.36 ns +2.1%
JSON_String_Fast_Hash_10 2.86 ns 2.86 ns -0.0%
JSON_String_Fast_Hash_100 2.86 ns 2.86 ns -0.1%
JSON_String_Key_Hash_10 2.99 ns 2.53 ns -15.4%
JSON_String_Key_Hash_100 13.38 ns 13.38 ns +0.0%
JSON_Object_Defines_Miss_Same_Length 3.11 ns 3.11 ns +0.0%
JSON_Object_Defines_Miss_Too_Small 3.11 ns 3.11 ns -0.0%
JSON_Object_Defines_Miss_Too_Large 3.11 ns 3.42 ns +10.1%
JSON_From_String_Copy 10.01 ns 9.00 ns -10.0%
JSON_From_String_Temporary 8.32 ns 8.35 ns +0.3%
JSON_Number_To_Double 25.52 ns 26.33 ns +3.2%
JSON_Object_At_Last_Key_8 3.74 ns 3.81 ns +1.8%
JSON_Object_At_Last_Key_32 11.84 ns 11.87 ns +0.2%
JSON_Object_At_Last_Key_128 48.62 ns 48.63 ns +0.0%
JSON_Object_At_Last_Key_512 315.65 ns 308.00 ns -2.4%
JSON_Divisible_By_Decimal 368.28 ns 373.03 ns +1.3%
JSON_PropertySet_Contains 44.96 ns 50.18 ns +11.6%
JSON_PropertySet_Filter_Object_Properties 36.45 ns 40.85 ns +12.1%
JSON_PropertySet_Insert 516.38 ns 461.06 ns -10.7%
JSON_Stringify_Schema_Web_Of_Things 63.60 us 62.38 us -1.9%
JSON_Prettify_Schema_Web_Of_Things 173.43 us 172.95 us -0.3%
Regex_Lower_S_Or_Upper_S_Asterisk 2.02 ns 2.10 ns +3.9%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.10 ns 2.14 ns +1.8%
Regex_Period_Asterisk 2.10 ns 2.10 ns +0.0%
Regex_Group_Period_Asterisk_Group 2.10 ns 2.02 ns -3.7%
Regex_Period_Plus 2.02 ns 2.10 ns +3.9%
Regex_Period 2.10 ns 2.10 ns +0.0%
Regex_Caret_Period_Plus_Dollar 2.10 ns 2.10 ns -0.0%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.10 ns 2.02 ns -3.7%
Regex_Caret_Period_Asterisk_Dollar 2.02 ns 2.10 ns +3.9%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.10 ns 2.10 ns +0.1%
Regex_Caret_X_Hyphen 6.47 ns 6.46 ns -0.1%
Regex_Period_Md_Dollar 30.13 ns 29.39 ns -2.5%
Regex_Caret_Slash_Period_Asterisk 7.93 ns 8.01 ns +1.0%
Regex_Caret_Period_Range_Dollar 3.66 ns 3.66 ns -0.1%
Regex_Nested_Backtrack 39.68 ns 38.89 ns -2.0%

@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Benchmark windows/msvc

Measured against main at d6d6d93.

2 slower, 48 faster, 62 within 5%.

Benchmark main This branch Change
Schema_Frame_Deeply_Nested_References 22.41 ms 24.96 ms +11.4%
URITemplateRouter_Create 38.94 us 41.04 us +5.4%
URITemplateRouter_Match 246.90 ns 234.52 ns -5.0%
JSON_PropertySet_Insert 1.38 us 1.31 us -5.1%
Markdown_To_HTML_Realistic_Document 6.00 ms 5.69 ms -5.1%
JSON_Parse_String_NonSSO_Plain 8.91 us 8.45 us -5.2%
Pointer_Position_Tracker_Get_Deeply_Nested 617.34 ns 584.65 ns -5.3%
JSON_Object_At_Last_Key_512 439.95 ns 416.54 ns -5.3%
Markdown_To_HTML_Pathological 18.76 ms 17.76 ms -5.4%
Pointer_Object_Try_Traverse 75.26 ns 70.82 ns -5.9%
Schema_Frame_WoT_References 5.37 ms 5.04 ms -6.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 2.34 ns 2.20 ns -6.2%
JSON_String_Key_Hash_100 12.69 ns 11.88 ns -6.4%
JSON_Parse_Real 8.16 us 7.64 us -6.4%
JSON_Parse_Schema_ISO_Language 8.67 ms 8.11 ms -6.5%
Pointer_Tracked_Deeply_Nested 4.17 ms 3.87 ms -7.0%
JSON_Parse_Object_Short_Keys 14.91 us 13.84 us -7.2%
JSON_String_Fast_Hash_100 7.01 ns 6.50 ns -7.2%
JSON_Parse_String_Escape_Heavy 23.25 us 21.57 us -7.2%
JSON_Parse_Real_Inexact 7.56 us 7.01 us -7.3%
JSON_Parse_Object_Object_Properties 12.82 us 11.86 us -7.5%
Schema_Bundle_Many_Remotes_With_Fragments 31.62 ms 29.19 ms -7.7%
Schema_Frame_KrakenD_References 42.12 ms 38.85 ms -7.8%
JSON_From_String_Copy 69.87 ns 64.01 ns -8.4%
JSON_Parse_Object_Scalar_Properties 7.71 us 7.06 us -8.5%
JSON_PropertySet_Contains 78.55 ns 71.82 ns -8.6%
JSON_Object_At_Last_Key_32 25.13 ns 22.89 ns -8.9%
Schema_Frame_OMC_References 24.56 ms 22.21 ms -9.6%
Schema_Tracker_ISO_Language 12.06 ms 10.89 ms -9.7%
Regex_Period_Md_Dollar 51.15 ns 46.12 ns -9.8%
JSON_Parse_Integer 7.47 us 6.72 us -10.0%
JSON_String_Equal_10 11.33 ns 10.15 ns -10.4%
JSON_Fast_Hash_Helm_Chart_Lock 116.65 ns 104.36 ns -10.5%
JSON_Parse_Object_Array_Properties 12.85 us 11.49 us -10.6%
JSON_Object_Defines_Miss_Too_Small 4.59 ns 4.07 ns -11.3%
JSON_String_Equal_100 13.26 ns 11.65 ns -12.1%
JSON_Divisible_By_Decimal 435.36 ns 382.24 ns -12.2%
JSON_Prettify_Schema_Web_Of_Things 822.32 us 720.96 us -12.3%
JSON_Object_At_Last_Key_8 8.30 ns 7.25 ns -12.8%
Regex_Caret_Slash_Period_Asterisk 8.84 ns 7.69 ns -13.0%
JSON_Object_At_Last_Key_128 104.89 ns 90.50 ns -13.7%
JSON_String_Key_Hash_10 5.87 ns 5.03 ns -14.4%
JSON_Stringify_Schema_Web_Of_Things 268.99 us 228.99 us -14.9%
JSON_Object_Defines_Miss_Too_Large 4.79 ns 4.08 ns -14.9%
Schema_Frame_ISO_Language_Locations 95.25 ms 80.58 ms -15.4%
Pointer_Untracked_Deeply_Nested 2.97 ms 2.49 ms -16.1%
JSON_Equality_Helm_Chart_Lock 250.62 ns 209.14 ns -16.5%
Pointer_Walker_Schema_ISO_Language 13.74 ms 11.16 ms -18.8%
Pointer_Push_Back_Pointer_To_Weak_Pointer 197.80 ns 158.84 ns -19.7%
JSON_Object_Defines_Miss_Same_Length 4.38 ns 3.46 ns -21.0%
All 112 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 4.90 ns 4.83 ns -1.6%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 4.88 ns 4.79 ns -1.8%
Regex_Period_Asterisk 4.92 ns 4.71 ns -4.3%
Regex_Group_Period_Asterisk_Group 4.83 ns 4.71 ns -2.5%
Regex_Period_Plus 4.90 ns 4.83 ns -1.3%
Regex_Period 4.80 ns 4.85 ns +1.0%
Regex_Caret_Period_Plus_Dollar 4.84 ns 4.74 ns -2.1%
Regex_Caret_Group_Period_Plus_Group_Dollar 4.89 ns 4.71 ns -3.8%
Regex_Caret_Period_Asterisk_Dollar 4.81 ns 4.72 ns -1.9%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 4.75 ns 4.72 ns -0.5%
Regex_Caret_X_Hyphen 8.28 ns 8.14 ns -1.7%
Regex_Period_Md_Dollar 51.15 ns 46.12 ns -9.8%
Regex_Caret_Slash_Period_Asterisk 8.84 ns 7.69 ns -13.0%
Regex_Caret_Period_Range_Dollar 5.65 ns 5.39 ns -4.5%
Regex_Nested_Backtrack 59.13 ns 57.67 ns -2.5%
JSON_Array_Of_Objects_Unique 535.14 ns 529.51 ns -1.1%
JSON_Array_Of_Integers_Unique_256 4.90 us 4.77 us -2.7%
JSON_Array_Of_Strings_Unique_Colliding_256 304.38 us 293.59 us -3.5%
JSON_Parse_1 8.95 us 8.79 us -1.8%
JSON_Parse_Real 8.16 us 7.64 us -6.4%
JSON_Parse_Real_Inexact 7.56 us 7.01 us -7.3%
JSON_Parse_Decimal 12.54 us 12.10 us -3.5%
JSON_Parse_Schema_ISO_Language 8.67 ms 8.11 ms -6.5%
JSON_Parse_Integer 7.47 us 6.72 us -10.0%
JSON_Parse_String_NonSSO_Plain 8.91 us 8.45 us -5.2%
JSON_Parse_String_SSO_Plain 4.08 us 4.13 us +1.2%
JSON_Parse_String_Escape_Heavy 23.25 us 21.57 us -7.2%
JSON_Parse_Object_Short_Keys 14.91 us 13.84 us -7.2%
JSON_Parse_Object_Scalar_Properties 7.71 us 7.06 us -8.5%
JSON_Parse_Object_Array_Properties 12.85 us 11.49 us -10.6%
JSON_Parse_Object_Object_Properties 12.82 us 11.86 us -7.5%
JSON_Parse_Nested_Containers 90.36 us 88.71 us -1.8%
JSON_Fast_Hash_Helm_Chart_Lock 116.65 ns 104.36 ns -10.5%
JSON_Equality_Helm_Chart_Lock 250.62 ns 209.14 ns -16.5%
JSON_String_Equal_10 11.33 ns 10.15 ns -10.4%
JSON_String_Equal_100 13.26 ns 11.65 ns -12.1%
JSON_String_Equal_Small_By_Perfect_Hash_10 2.34 ns 2.20 ns -6.2%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 14.46 ns 15.05 ns +4.1%
JSON_String_Fast_Hash_10 6.88 ns 6.56 ns -4.6%
JSON_String_Fast_Hash_100 7.01 ns 6.50 ns -7.2%
JSON_String_Key_Hash_10 5.87 ns 5.03 ns -14.4%
JSON_String_Key_Hash_100 12.69 ns 11.88 ns -6.4%
JSON_Object_Defines_Miss_Same_Length 4.38 ns 3.46 ns -21.0%
JSON_Object_Defines_Miss_Too_Small 4.59 ns 4.07 ns -11.3%
JSON_Object_Defines_Miss_Too_Large 4.79 ns 4.08 ns -14.9%
JSON_From_String_Copy 69.87 ns 64.01 ns -8.4%
JSON_From_String_Temporary 60.48 ns 57.55 ns -4.8%
JSON_Number_To_Double 41.34 ns 41.12 ns -0.5%
JSON_Object_At_Last_Key_8 8.30 ns 7.25 ns -12.8%
JSON_Object_At_Last_Key_32 25.13 ns 22.89 ns -8.9%
JSON_Object_At_Last_Key_128 104.89 ns 90.50 ns -13.7%
JSON_Object_At_Last_Key_512 439.95 ns 416.54 ns -5.3%
JSON_Divisible_By_Decimal 435.36 ns 382.24 ns -12.2%
JSON_PropertySet_Contains 78.55 ns 71.82 ns -8.6%
JSON_PropertySet_Filter_Object_Properties 50.24 ns 48.71 ns -3.1%
JSON_PropertySet_Insert 1.38 us 1.31 us -5.1%
JSON_Stringify_Schema_Web_Of_Things 268.99 us 228.99 us -14.9%
JSON_Prettify_Schema_Web_Of_Things 822.32 us 720.96 us -12.3%
Pointer_Object_Traverse 73.83 ns 70.26 ns -4.8%
Pointer_Object_Try_Traverse 75.26 ns 70.82 ns -5.9%
Pointer_Push_Back_Pointer_To_Weak_Pointer 197.80 ns 158.84 ns -19.7%
Pointer_Walker_Schema_ISO_Language 13.74 ms 11.16 ms -18.8%
Pointer_Untracked_Deeply_Nested 2.97 ms 2.49 ms -16.1%
Pointer_Tracked_Deeply_Nested 4.17 ms 3.87 ms -7.0%
Pointer_Position_Tracker_Get_Deeply_Nested 617.34 ns 584.65 ns -5.3%
Schema_Tracker_ISO_Language 12.06 ms 10.89 ms -9.7%
Schema_Tracker_ISO_Language_To_JSON 65.98 ms 62.99 ms -4.5%
Schema_Frame_WoT_References 5.37 ms 5.04 ms -6.1%
Schema_Frame_OMC_References 24.56 ms 22.21 ms -9.6%
Schema_Frame_OMC_Pointers 43.00 ms 43.25 ms +0.6%
Schema_Frame_OMC_Locations 20.02 ms 19.47 ms -2.7%
Schema_Frame_ISO_Language_Locations 95.25 ms 80.58 ms -15.4%
Schema_Frame_ISO_Language_Root 2.34 us 2.34 us -0.1%
Schema_Frame_KrakenD_References 42.12 ms 38.85 ms -7.8%
Schema_Frame_KrakenD_Reachable 318.07 ms 308.85 ms -2.9%
Schema_Frame_ISO_Language_Locations_To_JSON 172.68 ms 171.38 ms -0.7%
Schema_Frame_Many_Resources_References 370.98 ms 361.12 ms -2.7%
Schema_Frame_Deeply_Nested_References 22.41 ms 24.96 ms +11.4%
Schema_Format_ISO_Language 95.08 ms 93.95 ms -1.2%
Schema_Bundle_Meta_2020_12 1.51 ms 1.47 ms -2.3%
Schema_Bundle_Many_Remotes_With_Fragments 31.62 ms 29.19 ms -7.7%
OpenAPI_Frame_GSMTasks_3_0 392.98 ms 384.97 ms -2.0%
OpenAPI_Format_Synthetic_3_1 133.81 ms 133.77 ms -0.0%
JSONPath_Descendant_Filter_Nested 2.88 us 2.89 us +0.3%
URITemplateRouter_Create 38.94 us 41.04 us +5.4%
URITemplateRouter_Match 246.90 ns 234.52 ns -5.0%
URITemplateRouterView_Restore 34.20 us 34.44 us +0.7%
URITemplateRouterView_Match 228.82 ns 219.02 ns -4.3%
URITemplateRouterView_Arguments 541.75 ns 540.90 ns -0.2%
URITemplateRouter_Match_BasePath 280.78 ns 268.69 ns -4.3%
URITemplateRouterView_Match_BasePath 258.67 ns 247.87 ns -4.2%
JSONL_Parse_Large 32.41 ms 31.97 ms -1.3%
JSONL_Parse_Large_GZIP 31.42 ms 31.09 ms -1.1%
JSONLD_Catalog_Annotation_List_Populate 2.96 ms 3.00 ms +1.5%
JSONLD_Catalog_Materialize 8.70 ms 8.65 ms -0.6%
HTML_Build_Table_100000 68.50 ms 67.07 ms -2.1%
HTML_Render_Table_100000 8.25 ms 7.97 ms -3.3%
Markdown_To_HTML_Realistic_Document 6.00 ms 5.69 ms -5.1%
Markdown_To_HTML_Pathological 18.76 ms 17.76 ms -5.4%
Markdown_To_HTML_Short_Descriptions 703.87 ns 714.09 ns +1.5%
GZIP_Compress_ISO_Language_Set_3_Locations 38.13 ms 37.49 ms -1.7%
GZIP_Decompress_ISO_Language_Set_3_Locations 9.80 ms 9.73 ms -0.7%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 12.08 ms 12.17 ms +0.8%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 15.14 ms 14.73 ms -2.8%
GZIP_Compress_ISO_Language_Set_3_Schema 2.34 ms 2.30 ms -2.0%
GZIP_Decompress_ISO_Language_Set_3_Schema 629.00 us 634.55 us +0.9%
JOSE_VerifySignature_RS256 21.56 us 21.34 us -1.0%
JOSE_VerifySignature_ES512 1.37 ms 1.37 ms +0.1%
Crypto_CRC32_Large_JSONL 103.36 us 103.16 us -0.2%
Crypto_AES_GCM_Encrypt_128_1KB 2.36 us 2.36 us +0.1%
Crypto_AES_GCM_Decrypt_128_1KB 2.38 us 2.36 us -0.7%
Crypto_AES_GCM_Encrypt_256_1KB 2.43 us 2.42 us -0.6%

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 22 files

Reply with feedback, questions, or to request a fix.

View guided diff | Re-trigger cubic

Comment thread test/http/http_is_traceparent_test.cc Outdated
Comment thread test/http/http_parse_tracestate_test.cc
@augmentcode

augmentcode Bot commented Oct 11, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds reusable W3C Trace Context support to HTTP, centralizing validation previously embedded in MCP.

  • Introduces HTTPTraceParent for version, trace ID, parent ID, and flags.
  • Adds traceparent validation and parsing, including future-version extensions and invalid-ID checks.
  • Provides a bitmask-based sampled-flag helper.
  • Validates tracestate keys, values, duplicate keys, and the 32-member limit.
  • Adds ordered callback and container parsers that validate the entire tracestate before visiting members.
  • Switches MCP tracing metadata validation to the shared HTTP functions.
  • Consolidates tracing-format coverage in dedicated HTTP validation and parsing tests.
  • Vendors W3C reference implementations and tests as supporting fixtures.
Technical notes: Parsed identifiers and string-view members borrow the input, which must outlive them.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

// https://www.w3.org/TR/trace-context/#tracestate-header-field-values
if (!entry.empty()) {
const auto equal{entry.find('=')};
if (equal == std::string_view::npos) {

@augmentcode augmentcode Bot Oct 11, 2026 •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you check the standalone whitespace-only case at src/core/http/is_tracestate.cc:70? W3C's list-member = (key "=" value) / OWS permits " \t ", but neither trim runs for a sole member, so both http_is_tracestate and http_parse_tracestate reject a valid empty state that MCP's previous validator accepted.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Benchmark macos/llvm

Measured against main at d6d6d93.

10 slower, 85 faster, 17 within 5%.

Benchmark main This branch Change
Regex_Group_Period_Asterisk_Group 2.33 ns 2.95 ns +26.6%
JSON_Parse_Object_Array_Properties 4.41 us 5.26 us +19.3%
JSON_Parse_Integer 3.49 us 4.03 us +15.4%
Regex_Lower_S_Or_Upper_S_Asterisk 2.26 ns 2.53 ns +11.7%
HTML_Build_Table_100000 34.51 ms 37.49 ms +8.6%
JSON_Parse_1 3.46 us 3.76 us +8.6%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.48 ns 2.64 ns +6.8%
JSON_Array_Of_Integers_Unique_256 4.71 us 5.01 us +6.4%
JSON_Parse_String_NonSSO_Plain 3.46 us 3.66 us +6.0%
JSON_Parse_String_Escape_Heavy 19.95 us 21.06 us +5.5%
JSON_Stringify_Schema_Web_Of_Things 76.04 us 71.88 us -5.5%
Regex_Caret_Period_Range_Dollar 2.96 ns 2.79 ns -5.8%
Schema_Frame_WoT_References 2.96 ms 2.78 ms -6.0%
Pointer_Position_Tracker_Get_Deeply_Nested 455.21 ns 427.09 ns -6.2%
JSON_Fast_Hash_Helm_Chart_Lock 78.44 ns 73.36 ns -6.5%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.37 ns 2.20 ns -7.2%
JSON_Parse_Schema_ISO_Language 2.82 ms 2.62 ms -7.2%
HTML_Render_Table_100000 2.24 ms 2.08 ms -7.2%
Regex_Period_Plus 2.44 ns 2.26 ns -7.3%
Schema_Frame_KrakenD_References 18.71 ms 17.29 ms -7.6%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.35 ns 2.16 ns -7.9%
Schema_Frame_KrakenD_Reachable 265.20 ms 243.60 ms -8.1%
JSON_Parse_Decimal 7.85 us 7.21 us -8.2%
JSON_Object_Defines_Miss_Too_Small 3.46 ns 3.16 ns -8.5%
JSON_Divisible_By_Decimal 346.16 ns 316.48 ns -8.6%
Crypto_AES_GCM_Encrypt_256_1KB 4.19 us 3.81 us -9.2%
GZIP_Decompress_ISO_Language_Set_3_Schema 343.76 us 310.97 us -9.5%
Schema_Frame_OMC_References 12.90 ms 11.65 ms -9.7%
Schema_Tracker_ISO_Language_To_JSON 17.27 ms 15.54 ms -10.0%
JSON_Parse_Object_Object_Properties 5.17 us 4.63 us -10.5%
Regex_Caret_Period_Asterisk_Dollar 2.44 ns 2.18 ns -10.6%
Regex_Caret_X_Hyphen 8.02 ns 7.17 ns -10.7%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.42 ns 0.37 ns -11.2%
JSON_Parse_String_SSO_Plain 2.37 us 2.10 us -11.3%
JSON_Array_Of_Strings_Unique_Colliding_256 208.26 us 184.69 us -11.3%
JSON_String_Key_Hash_10 2.18 ns 1.92 ns -11.8%
JSON_PropertySet_Insert 409.29 ns 359.63 ns -12.1%
Schema_Frame_Deeply_Nested_References 18.69 ms 16.36 ms -12.5%
URITemplateRouterView_Arguments 698.45 ns 610.83 ns -12.5%
Pointer_Tracked_Deeply_Nested 1.52 ms 1.32 ms -12.9%
JSON_String_Equal_100 9.33 ns 8.09 ns -13.3%
Pointer_Untracked_Deeply_Nested 1.14 ms 987.95 us -13.5%
JSONLD_Catalog_Materialize 3.57 ms 3.09 ms -13.6%
JSON_String_Equal_10 9.62 ns 8.29 ns -13.7%
URITemplateRouter_Match_BasePath 270.25 ns 232.96 ns -13.8%
JSON_Number_To_Double 12.91 ns 11.13 ns -13.8%
Pointer_Walker_Schema_ISO_Language 1.71 ms 1.46 ms -14.5%
Schema_Format_ISO_Language 37.61 ms 31.77 ms -15.5%
GZIP_Compress_ISO_Language_Set_3_Schema 2.14 ms 1.81 ms -15.6%
JSON_Object_Defines_Miss_Same_Length 3.78 ns 3.17 ns -16.0%
Markdown_To_HTML_Realistic_Document 3.90 ms 3.26 ms -16.4%
OpenAPI_Format_Synthetic_3_1 61.32 ms 50.98 ms -16.9%
Crypto_AES_GCM_Encrypt_128_1KB 4.01 us 3.32 us -17.1%
Regex_Period 2.78 ns 2.30 ns -17.1%
JSON_Equality_Helm_Chart_Lock 218.34 ns 180.09 ns -17.5%
GZIP_Decompress_ISO_Language_Set_3_Locations 4.11 ms 3.37 ms -18.0%
JSON_Object_At_Last_Key_128 79.86 ns 65.45 ns -18.0%
JSON_Object_Defines_Miss_Too_Large 3.57 ns 2.92 ns -18.3%
Schema_Bundle_Many_Remotes_With_Fragments 8.18 ms 6.68 ms -18.4%
GZIP_Compress_ISO_Language_Set_3_Locations 39.74 ms 32.42 ms -18.4%
JSON_Object_At_Last_Key_512 286.43 ns 232.79 ns -18.7%
Schema_Tracker_ISO_Language 4.18 ms 3.39 ms -19.0%
Schema_Frame_OMC_Pointers 24.74 ms 20.03 ms -19.0%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.79 ms 4.68 ms -19.2%
JSON_Object_At_Last_Key_8 5.55 ns 4.47 ns -19.4%
Pointer_Object_Try_Traverse 48.91 ns 39.29 ns -19.7%
Markdown_To_HTML_Short_Descriptions 476.13 ns 380.91 ns -20.0%
JSONL_Parse_Large_GZIP 8.92 ms 7.08 ms -20.6%
JOSE_VerifySignature_ES512 1.28 ms 1.01 ms -20.7%
JSON_Parse_Real 4.47 us 3.51 us -21.4%
Schema_Frame_ISO_Language_Root 188.85 ns 146.66 ns -22.3%
Regex_Nested_Backtrack 42.42 ns 32.85 ns -22.5%
URITemplateRouter_Match 237.02 ns 182.22 ns -23.1%
JOSE_VerifySignature_RS256 29.73 us 22.77 us -23.4%
Schema_Bundle_Meta_2020_12 669.71 us 507.98 us -24.1%
JSON_Array_Of_Objects_Unique 533.98 ns 403.71 ns -24.4%
Regex_Period_Md_Dollar 26.65 ns 20.13 ns -24.5%
JSON_Parse_Real_Inexact 4.75 us 3.57 us -24.9%
JSON_Object_At_Last_Key_32 17.00 ns 12.74 ns -25.0%
JSON_PropertySet_Contains 63.01 ns 47.03 ns -25.4%
JSON_String_Key_Hash_100 2.90 ns 2.16 ns -25.4%
Schema_Frame_Many_Resources_References 138.38 ms 102.83 ms -25.7%
JSON_Prettify_Schema_Web_Of_Things 214.44 us 157.97 us -26.3%
JSON_From_String_Temporary 9.96 ns 7.29 ns -26.9%
Markdown_To_HTML_Pathological 14.12 ms 10.30 ms -27.1%
JSONL_Parse_Large 9.09 ms 6.62 ms -27.1%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 7.63 ms 5.52 ms -27.7%
JSON_PropertySet_Filter_Object_Properties 56.46 ns 40.48 ns -28.3%
Pointer_Object_Traverse 30.46 ns 21.81 ns -28.4%
Schema_Frame_ISO_Language_Locations 31.59 ms 22.51 ms -28.7%
URITemplateRouter_Create 26.78 us 18.93 us -29.3%
Crypto_CRC32_Large_JSONL 30.95 us 21.03 us -32.0%
JSON_From_String_Copy 16.31 ns 10.59 ns -35.1%
Schema_Frame_ISO_Language_Locations_To_JSON 39.06 ms 23.29 ms -40.4%
Schema_Frame_OMC_Locations 12.52 ms 7.21 ms -42.4%
All 112 benchmarks
Benchmark main This branch Change
Regex_Lower_S_Or_Upper_S_Asterisk 2.26 ns 2.53 ns +11.7%
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.37 ns 2.20 ns -7.2%
Regex_Period_Asterisk 2.11 ns 2.06 ns -2.6%
Regex_Group_Period_Asterisk_Group 2.33 ns 2.95 ns +26.6%
Regex_Period_Plus 2.44 ns 2.26 ns -7.3%
Regex_Period 2.78 ns 2.30 ns -17.1%
Regex_Caret_Period_Plus_Dollar 2.14 ns 2.15 ns +0.6%
Regex_Caret_Group_Period_Plus_Group_Dollar 2.48 ns 2.64 ns +6.8%
Regex_Caret_Period_Asterisk_Dollar 2.44 ns 2.18 ns -10.6%
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.35 ns 2.16 ns -7.9%
Regex_Caret_X_Hyphen 8.02 ns 7.17 ns -10.7%
Regex_Period_Md_Dollar 26.65 ns 20.13 ns -24.5%
Regex_Caret_Slash_Period_Asterisk 6.34 ns 6.16 ns -2.9%
Regex_Caret_Period_Range_Dollar 2.96 ns 2.79 ns -5.8%
Regex_Nested_Backtrack 42.42 ns 32.85 ns -22.5%
JSON_Array_Of_Objects_Unique 533.98 ns 403.71 ns -24.4%
JSON_Array_Of_Integers_Unique_256 4.71 us 5.01 us +6.4%
JSON_Array_Of_Strings_Unique_Colliding_256 208.26 us 184.69 us -11.3%
JSON_Parse_1 3.46 us 3.76 us +8.6%
JSON_Parse_Real 4.47 us 3.51 us -21.4%
JSON_Parse_Real_Inexact 4.75 us 3.57 us -24.9%
JSON_Parse_Decimal 7.85 us 7.21 us -8.2%
JSON_Parse_Schema_ISO_Language 2.82 ms 2.62 ms -7.2%
JSON_Parse_Integer 3.49 us 4.03 us +15.4%
JSON_Parse_String_NonSSO_Plain 3.46 us 3.66 us +6.0%
JSON_Parse_String_SSO_Plain 2.37 us 2.10 us -11.3%
JSON_Parse_String_Escape_Heavy 19.95 us 21.06 us +5.5%
JSON_Parse_Object_Short_Keys 5.87 us 5.78 us -1.5%
JSON_Parse_Object_Scalar_Properties 2.99 us 2.95 us -1.2%
JSON_Parse_Object_Array_Properties 4.41 us 5.26 us +19.3%
JSON_Parse_Object_Object_Properties 5.17 us 4.63 us -10.5%
JSON_Parse_Nested_Containers 33.27 us 31.68 us -4.8%
JSON_Fast_Hash_Helm_Chart_Lock 78.44 ns 73.36 ns -6.5%
JSON_Equality_Helm_Chart_Lock 218.34 ns 180.09 ns -17.5%
JSON_String_Equal_10 9.62 ns 8.29 ns -13.7%
JSON_String_Equal_100 9.33 ns 8.09 ns -13.3%
JSON_String_Equal_Small_By_Perfect_Hash_10 0.42 ns 0.37 ns -11.2%
JSON_String_Equal_Small_By_Runtime_Perfect_Hash_10 4.34 ns 4.26 ns -1.8%
JSON_String_Fast_Hash_10 3.18 ns 3.19 ns +0.4%
JSON_String_Fast_Hash_100 2.34 ns 2.37 ns +1.5%
JSON_String_Key_Hash_10 2.18 ns 1.92 ns -11.8%
JSON_String_Key_Hash_100 2.90 ns 2.16 ns -25.4%
JSON_Object_Defines_Miss_Same_Length 3.78 ns 3.17 ns -16.0%
JSON_Object_Defines_Miss_Too_Small 3.46 ns 3.16 ns -8.5%
JSON_Object_Defines_Miss_Too_Large 3.57 ns 2.92 ns -18.3%
JSON_From_String_Copy 16.31 ns 10.59 ns -35.1%
JSON_From_String_Temporary 9.96 ns 7.29 ns -26.9%
JSON_Number_To_Double 12.91 ns 11.13 ns -13.8%
JSON_Object_At_Last_Key_8 5.55 ns 4.47 ns -19.4%
JSON_Object_At_Last_Key_32 17.00 ns 12.74 ns -25.0%
JSON_Object_At_Last_Key_128 79.86 ns 65.45 ns -18.0%
JSON_Object_At_Last_Key_512 286.43 ns 232.79 ns -18.7%
JSON_Divisible_By_Decimal 346.16 ns 316.48 ns -8.6%
JSON_PropertySet_Contains 63.01 ns 47.03 ns -25.4%
JSON_PropertySet_Filter_Object_Properties 56.46 ns 40.48 ns -28.3%
JSON_PropertySet_Insert 409.29 ns 359.63 ns -12.1%
JSON_Stringify_Schema_Web_Of_Things 76.04 us 71.88 us -5.5%
JSON_Prettify_Schema_Web_Of_Things 214.44 us 157.97 us -26.3%
Pointer_Object_Traverse 30.46 ns 21.81 ns -28.4%
Pointer_Object_Try_Traverse 48.91 ns 39.29 ns -19.7%
Pointer_Push_Back_Pointer_To_Weak_Pointer 173.47 ns 169.48 ns -2.3%
Pointer_Walker_Schema_ISO_Language 1.71 ms 1.46 ms -14.5%
Pointer_Untracked_Deeply_Nested 1.14 ms 987.95 us -13.5%
Pointer_Tracked_Deeply_Nested 1.52 ms 1.32 ms -12.9%
Pointer_Position_Tracker_Get_Deeply_Nested 455.21 ns 427.09 ns -6.2%
Schema_Tracker_ISO_Language 4.18 ms 3.39 ms -19.0%
Schema_Tracker_ISO_Language_To_JSON 17.27 ms 15.54 ms -10.0%
Schema_Frame_WoT_References 2.96 ms 2.78 ms -6.0%
Schema_Frame_OMC_References 12.90 ms 11.65 ms -9.7%
Schema_Frame_OMC_Pointers 24.74 ms 20.03 ms -19.0%
Schema_Frame_OMC_Locations 12.52 ms 7.21 ms -42.4%
Schema_Frame_ISO_Language_Locations 31.59 ms 22.51 ms -28.7%
Schema_Frame_ISO_Language_Root 188.85 ns 146.66 ns -22.3%
Schema_Frame_KrakenD_References 18.71 ms 17.29 ms -7.6%
Schema_Frame_KrakenD_Reachable 265.20 ms 243.60 ms -8.1%
Schema_Frame_ISO_Language_Locations_To_JSON 39.06 ms 23.29 ms -40.4%
Schema_Frame_Many_Resources_References 138.38 ms 102.83 ms -25.7%
Schema_Frame_Deeply_Nested_References 18.69 ms 16.36 ms -12.5%
Schema_Format_ISO_Language 37.61 ms 31.77 ms -15.5%
Schema_Bundle_Meta_2020_12 669.71 us 507.98 us -24.1%
Schema_Bundle_Many_Remotes_With_Fragments 8.18 ms 6.68 ms -18.4%
OpenAPI_Frame_GSMTasks_3_0 200.91 ms 204.39 ms +1.7%
OpenAPI_Format_Synthetic_3_1 61.32 ms 50.98 ms -16.9%
JSONPath_Descendant_Filter_Nested 1.66 us 1.63 us -2.1%
URITemplateRouter_Create 26.78 us 18.93 us -29.3%
URITemplateRouter_Match 237.02 ns 182.22 ns -23.1%
URITemplateRouterView_Restore 13.97 us 13.35 us -4.4%
URITemplateRouterView_Match 140.97 ns 143.27 ns +1.6%
URITemplateRouterView_Arguments 698.45 ns 610.83 ns -12.5%
URITemplateRouter_Match_BasePath 270.25 ns 232.96 ns -13.8%
URITemplateRouterView_Match_BasePath 183.26 ns 179.62 ns -2.0%
JSONL_Parse_Large 9.09 ms 6.62 ms -27.1%
JSONL_Parse_Large_GZIP 8.92 ms 7.08 ms -20.6%
JSONLD_Catalog_Annotation_List_Populate 672.25 us 644.12 us -4.2%
JSONLD_Catalog_Materialize 3.57 ms 3.09 ms -13.6%
HTML_Build_Table_100000 34.51 ms 37.49 ms +8.6%
HTML_Render_Table_100000 2.24 ms 2.08 ms -7.2%
Markdown_To_HTML_Realistic_Document 3.90 ms 3.26 ms -16.4%
Markdown_To_HTML_Pathological 14.12 ms 10.30 ms -27.1%
Markdown_To_HTML_Short_Descriptions 476.13 ns 380.91 ns -20.0%
GZIP_Compress_ISO_Language_Set_3_Locations 39.74 ms 32.42 ms -18.4%
GZIP_Decompress_ISO_Language_Set_3_Locations 4.11 ms 3.37 ms -18.0%
GZIP_Decompress_Default_Level_ISO_Language_Set_3_Locations 5.79 ms 4.68 ms -19.2%
GZIP_Decompress_Stream_Default_Level_ISO_Language_Set_3_Locations 7.63 ms 5.52 ms -27.7%
GZIP_Compress_ISO_Language_Set_3_Schema 2.14 ms 1.81 ms -15.6%
GZIP_Decompress_ISO_Language_Set_3_Schema 343.76 us 310.97 us -9.5%
JOSE_VerifySignature_RS256 29.73 us 22.77 us -23.4%
JOSE_VerifySignature_ES512 1.28 ms 1.01 ms -20.7%
Crypto_CRC32_Large_JSONL 30.95 us 21.03 us -32.0%
Crypto_AES_GCM_Encrypt_128_1KB 4.01 us 3.32 us -17.1%
Crypto_AES_GCM_Decrypt_128_1KB 4.74 us 4.87 us +2.9%
Crypto_AES_GCM_Encrypt_256_1KB 4.19 us 3.81 us -9.2%

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 11 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Re-trigger cubic

Comment thread test/http/http_is_traceparent_test.cc
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 7 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Re-trigger cubic

Comment thread src/core/http/is_traceparent.cc Outdated
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 18 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/core/http/make_traceparent.cc">

<violation number="1" location="src/core/http/make_traceparent.cc:16">
P2: This can emit an invalid traceparent when the random 8-byte parent ID is all zero (about 1 in 2^64 calls). Retry generation until both identifiers are nonzero before formatting.</violation>
</file>

Reply with feedback, questions, or to request a fix.

View guided diff | Re-trigger cubic

Comment thread src/core/http/continue_traceparent.cc Outdated
Comment thread src/core/http/make_traceparent.cc Outdated
// The two identifiers are drawn in one go, sixteen bytes for the trace and
// eight for the operation within it
std::array<std::uint8_t, 24> entropy{};
random_bytes(entropy);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This can emit an invalid traceparent when the random 8-byte parent ID is all zero (about 1 in 2^64 calls). Retry generation until both identifiers are nonzero before formatting.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At src/core/http/make_traceparent.cc, line 16:

<comment>This can emit an invalid traceparent when the random 8-byte parent ID is all zero (about 1 in 2^64 calls). Retry generation until both identifiers are nonzero before formatting.</comment>

<file context>
@@ -0,0 +1,36 @@
+  // The two identifiers are drawn in one go, sixteen bytes for the trace and
+  // eight for the operation within it
+  std::array<std::uint8_t, 24> entropy{};
+  random_bytes(entropy);
+
+  std::array<char, 55> result{};
</file context>

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit 12a0aef into main Oct 12, 2026
15 checks passed
@jviotti
jviotti deleted the trace-context branch October 12, 2026 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant