From 78db110a8076e2d19b28ca8ca9d447b9fe2812e6 Mon Sep 17 00:00:00 2001
From: Jeremy Blythe <jeremyblythe@gmail.com>
Date: Thu, 6 Jun 2024 10:30:10 -0400
Subject: [PATCH 1/2] [chore] Fixed Bug: Examples rendering is broken in 1.26
 release for array types (#1088)

Co-authored-by: Alexandra Konrad <alexandra.konrad@elastic.co>
---
 docs/attributes-registry/aws.md               | 60 +++++++++---------
 docs/attributes-registry/browser.md           | 12 ++--
 docs/attributes-registry/container.md         | 28 ++++-----
 docs/attributes-registry/gen-ai.md            |  2 +-
 docs/attributes-registry/host.md              |  4 +-
 docs/attributes-registry/messaging.md         |  2 +-
 docs/attributes-registry/process.md           |  2 +-
 docs/attributes-registry/tls.md               | 62 +++++++++----------
 docs/attributes-registry/user.md              |  2 +-
 docs/database/dynamodb.md                     | 56 ++++++++---------
 docs/gen-ai/llm-spans.md                      |  2 +-
 docs/messaging/rocketmq.md                    |  2 +-
 docs/resource/browser.md                      |  2 +-
 docs/resource/cloud-provider/aws/logs.md      |  8 +--
 docs/resource/container.md                    |  6 +-
 docs/resource/host.md                         |  4 +-
 docs/resource/process.md                      |  2 +-
 model/registry/tls.yaml                       |  2 +-
 .../registry/markdown/attribute_macros.j2     | 10 ++-
 19 files changed, 138 insertions(+), 130 deletions(-)

diff --git a/docs/attributes-registry/aws.md b/docs/attributes-registry/aws.md
index aaf545ff7f..fa4cf4deac 100644
--- a/docs/attributes-registry/aws.md
+++ b/docs/attributes-registry/aws.md
@@ -26,30 +26,30 @@ This document defines generic attributes for AWS services.
 
 This document defines attributes for AWS DynamoDB.
 
-| Attribute                                     | Type     | Description                                                                                | Examples                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Stability                                                        |
-| --------------------------------------------- | -------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `aws.dynamodb.attribute_definitions`          | string[] | The JSON-serialized value of each item in the `AttributeDefinitions` request field.        | `{ "AttributeName": "string", "AttributeType": "string" }`                                                                                                                                                                                                                                                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.attributes_to_get`              | string[] | The value of the `AttributesToGet` request parameter.                                      | `lives`; `id`                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.consistent_read`                | boolean  | The value of the `ConsistentRead` request parameter.                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.consumed_capacity`              | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field.           | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.count`                          | int      | The value of the `Count` response parameter.                                               | `10`                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.exclusive_start_table`          | string   | The value of the `ExclusiveStartTableName` request parameter.                              | `Users`; `CatsTable`                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.global_secondary_index_updates` | string[] | The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. | `{ "Create": { "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }`                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.global_secondary_indexes`       | string[] | The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field       | `{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }`                                                                                                                                                                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.index_name`                     | string   | The value of the `IndexName` request parameter.                                            | `name_to_group`                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.item_collection_metrics`        | string   | The JSON-serialized value of the `ItemCollectionMetrics` response field.                   | `{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }`                                                                                                                                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.limit`                          | int      | The value of the `Limit` request parameter.                                                | `10`                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.local_secondary_indexes`        | string[] | The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field.       | `{ "IndexArn": "string", "IndexName": "string", "IndexSizeBytes": number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" } }`                                                                                                                                                                                                                             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.projection`                     | string   | The value of the `ProjectionExpression` request parameter.                                 | `Title`; `Title, Price, Color`; `Title, Description, RelatedItems, ProductReviews`                                                                                                                                                                                                                                                                                                                                                                                                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.provisioned_read_capacity`      | double   | The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter.              | `1.0`; `2.0`                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.provisioned_write_capacity`     | double   | The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter.             | `1.0`; `2.0`                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.scan_forward`                   | boolean  | The value of the `ScanIndexForward` request parameter.                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.scanned_count`                  | int      | The value of the `ScannedCount` response parameter.                                        | `50`                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.segment`                        | int      | The value of the `Segment` request parameter.                                              | `10`                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.select`                         | string   | The value of the `Select` request parameter.                                               | `ALL_ATTRIBUTES`; `COUNT`                                                                                                                                                                                                                                                                                                                                                                                                                                                         | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.table_count`                    | int      | The number of items in the `TableNames` response parameter.                                | `20`                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.table_names`                    | string[] | The keys in the `RequestItems` object field.                                               | `Users`; `Cats`                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.dynamodb.total_segments`                 | int      | The value of the `TotalSegments` request parameter.                                        | `100`                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| Attribute                                     | Type     | Description                                                                                | Examples                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Stability                                                        |
+| --------------------------------------------- | -------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `aws.dynamodb.attribute_definitions`          | string[] | The JSON-serialized value of each item in the `AttributeDefinitions` request field.        | `["{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }"]`                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.attributes_to_get`              | string[] | The value of the `AttributesToGet` request parameter.                                      | `["lives", "id"]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.consistent_read`                | boolean  | The value of the `ConsistentRead` request parameter.                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.consumed_capacity`              | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field.           | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.count`                          | int      | The value of the `Count` response parameter.                                               | `10`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.exclusive_start_table`          | string   | The value of the `ExclusiveStartTableName` request parameter.                              | `Users`; `CatsTable`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.global_secondary_index_updates` | string[] | The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. | `["{ \"Create\": { \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"]`                                                                                                                                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.global_secondary_indexes`       | string[] | The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field       | `["{ \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"]`                                                                                                                                                                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.index_name`                     | string   | The value of the `IndexName` request parameter.                                            | `name_to_group`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.item_collection_metrics`        | string   | The JSON-serialized value of the `ItemCollectionMetrics` response field.                   | `{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }`                                                                                                                                                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.limit`                          | int      | The value of the `Limit` request parameter.                                                | `10`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.local_secondary_indexes`        | string[] | The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field.       | `["{ \"IndexArn\": \"string\", \"IndexName\": \"string\", \"IndexSizeBytes\": number, \"ItemCount\": number, \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" } }"]`                                                                                                                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.projection`                     | string   | The value of the `ProjectionExpression` request parameter.                                 | `Title`; `Title, Price, Color`; `Title, Description, RelatedItems, ProductReviews`                                                                                                                                                                                                                                                                                                                                                                                                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.provisioned_read_capacity`      | double   | The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter.              | `1.0`; `2.0`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.provisioned_write_capacity`     | double   | The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter.             | `1.0`; `2.0`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.scan_forward`                   | boolean  | The value of the `ScanIndexForward` request parameter.                                     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.scanned_count`                  | int      | The value of the `ScannedCount` response parameter.                                        | `50`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.segment`                        | int      | The value of the `Segment` request parameter.                                              | `10`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.select`                         | string   | The value of the `Select` request parameter.                                               | `ALL_ATTRIBUTES`; `COUNT`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.table_count`                    | int      | The number of items in the `TableNames` response parameter.                                | `20`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.table_names`                    | string[] | The keys in the `RequestItems` object field.                                               | `["Users", "Cats"]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.dynamodb.total_segments`                 | int      | The value of the `TotalSegments` request parameter.                                        | `100`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 ## AWS ECS Attributes
 
@@ -94,12 +94,12 @@ This document defines attributes for AWS Lambda.
 
 This document defines attributes for AWS Logs.
 
-| Attribute              | Type     | Description                                                           | Examples                                                                                                                | Stability                                                        |
-| ---------------------- | -------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `aws.log.group.arns`   | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [2]        | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*`                                                         | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.log.group.names`  | string[] | The name(s) of the AWS log group(s) an application is writing to. [3] | `/aws/lambda/my-function`; `opentelemetry-service`                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.log.stream.arns`  | string[] | The ARN(s) of the AWS log stream(s). [4]                              | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `aws.log.stream.names` | string[] | The name(s) of the AWS log stream(s) an application is writing to.    | `logs/main/10838bed-421f-43ef-870a-f43feacbbb5b`                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| Attribute              | Type     | Description                                                           | Examples                                                                                                                    | Stability                                                        |
+| ---------------------- | -------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `aws.log.group.arns`   | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [2]        | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]`                                                         | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.log.group.names`  | string[] | The name(s) of the AWS log group(s) an application is writing to. [3] | `["/aws/lambda/my-function", "opentelemetry-service"]`                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.log.stream.arns`  | string[] | The ARN(s) of the AWS log stream(s). [4]                              | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `aws.log.stream.names` | string[] | The name(s) of the AWS log stream(s) an application is writing to.    | `["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]`                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[2]:** See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format).
 
diff --git a/docs/attributes-registry/browser.md b/docs/attributes-registry/browser.md
index b41fd19074..2d6d9e7b26 100644
--- a/docs/attributes-registry/browser.md
+++ b/docs/attributes-registry/browser.md
@@ -10,12 +10,12 @@
 
 The web browser attributes
 
-| Attribute          | Type     | Description                                                             | Examples                                      | Stability                                                        |
-| ------------------ | -------- | ----------------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------- |
-| `browser.brands`   | string[] | Array of brand name and version separated by a space [1]                | ` Not A;Brand 99`; `Chromium 99`; `Chrome 99` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `browser.language` | string   | Preferred language of the user using the browser [2]                    | `en`; `en-US`; `fr`; `fr-FR`                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `browser.mobile`   | boolean  | A boolean that is true if the browser is running on a mobile device [3] |                                               | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `browser.platform` | string   | The platform on which the browser is running [4]                        | `Windows`; `macOS`; `Android`                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| Attribute          | Type     | Description                                                             | Examples                                          | Stability                                                        |
+| ------------------ | -------- | ----------------------------------------------------------------------- | ------------------------------------------------- | ---------------------------------------------------------------- |
+| `browser.brands`   | string[] | Array of brand name and version separated by a space [1]                | `[" Not A;Brand 99", "Chromium 99", "Chrome 99"]` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `browser.language` | string   | Preferred language of the user using the browser [2]                    | `en`; `en-US`; `fr`; `fr-FR`                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `browser.mobile`   | boolean  | A boolean that is true if the browser is running on a mobile device [3] |                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `browser.platform` | string   | The platform on which the browser is running [4]                        | `Windows`; `macOS`; `Android`                     | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[1]:** This value is intended to be taken from the [UA client hints API](https://wicg.github.io/ua-client-hints/#interface) (`navigator.userAgentData.brands`).
 
diff --git a/docs/attributes-registry/container.md b/docs/attributes-registry/container.md
index cb9b0223ef..12ae8414bf 100644
--- a/docs/attributes-registry/container.md
+++ b/docs/attributes-registry/container.md
@@ -13,20 +13,20 @@
 
 A container instance.
 
-| Attribute                      | Type     | Description                                                                                                                                                                                                                                                             | Examples                                                                                                                                                                                                | Stability                                                        |
-| ------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `container.command`            | string   | The command used to run the container (i.e. the command name). [1]                                                                                                                                                                                                      | `otelcontribcol`                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.command_args`       | string[] | All the command arguments (including the command/executable itself) run by the container. [2]                                                                                                                                                                           | `otelcontribcol, --config, config.yaml`                                                                                                                                                                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.command_line`       | string   | The full command run by the container as a single string representing the full command. [2]                                                                                                                                                                             | `otelcontribcol --config config.yaml`                                                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.cpu.state`          | string   | The CPU state for this data point.                                                                                                                                                                                                                                      | `user`; `kernel`                                                                                                                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.id`                 | string   | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated.                                                                               | `a3bf90e006b2`                                                                                                                                                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.image.id`           | string   | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [2]                                                                                                                                                                                     | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f`                                                                                                                               | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.image.name`         | string   | Name of the image the container was built on.                                                                                                                                                                                                                           | `gcr.io/opentelemetry/operator`                                                                                                                                                                         | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.image.repo_digests` | string[] | Repo digests of the container image as provided by the container runtime. [3]                                                                                                                                                                                           | `example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb`; `internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.image.tags`         | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`. | `v1.27.1`; `3.5.7-0`                                                                                                                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.label.<key>`        | string   | Container labels, `<key>` being the label name, the value being the label value.                                                                                                                                                                                        | `container.label.app=nginx`                                                                                                                                                                             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.name`               | string   | Container name used by container runtime.                                                                                                                                                                                                                               | `opentelemetry-autoconf`                                                                                                                                                                                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `container.runtime`            | string   | The container runtime managing this container.                                                                                                                                                                                                                          | `docker`; `containerd`; `rkt`                                                                                                                                                                           | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| Attribute                      | Type     | Description                                                                                                                                                                                                                                                             | Examples                                                                                                                                                                                                    | Stability                                                        |
+| ------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `container.command`            | string   | The command used to run the container (i.e. the command name). [1]                                                                                                                                                                                                      | `otelcontribcol`                                                                                                                                                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.command_args`       | string[] | All the command arguments (including the command/executable itself) run by the container. [2]                                                                                                                                                                           | `["otelcontribcol, --config, config.yaml"]`                                                                                                                                                                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.command_line`       | string   | The full command run by the container as a single string representing the full command. [2]                                                                                                                                                                             | `otelcontribcol --config config.yaml`                                                                                                                                                                       | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.cpu.state`          | string   | The CPU state for this data point.                                                                                                                                                                                                                                      | `user`; `kernel`                                                                                                                                                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.id`                 | string   | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated.                                                                               | `a3bf90e006b2`                                                                                                                                                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.image.id`           | string   | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [2]                                                                                                                                                                                     | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f`                                                                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.image.name`         | string   | Name of the image the container was built on.                                                                                                                                                                                                                           | `gcr.io/opentelemetry/operator`                                                                                                                                                                             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.image.repo_digests` | string[] | Repo digests of the container image as provided by the container runtime. [3]                                                                                                                                                                                           | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.image.tags`         | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`. | `["v1.27.1", "3.5.7-0"]`                                                                                                                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.label.<key>`        | string   | Container labels, `<key>` being the label name, the value being the label value.                                                                                                                                                                                        | `container.label.app=nginx`                                                                                                                                                                                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.name`               | string   | Container name used by container runtime.                                                                                                                                                                                                                               | `opentelemetry-autoconf`                                                                                                                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `container.runtime`            | string   | The container runtime managing this container.                                                                                                                                                                                                                          | `docker`; `containerd`; `rkt`                                                                                                                                                                               | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[1]:** If using embedded credentials or sensitive data, it is recommended to remove them to prevent potential leakage.
 
diff --git a/docs/attributes-registry/gen-ai.md b/docs/attributes-registry/gen-ai.md
index b15537a1fa..09b8b913f9 100644
--- a/docs/attributes-registry/gen-ai.md
+++ b/docs/attributes-registry/gen-ai.md
@@ -19,7 +19,7 @@ This document defines the attributes used to describe telemetry in the context o
 | `gen_ai.request.model`           | string   | The name of the LLM a request is being made to.                                                  | `gpt-4`                                                                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `gen_ai.request.temperature`     | double   | The temperature setting for the LLM request.                                                     | `0.0`                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `gen_ai.request.top_p`           | double   | The top_p sampling setting for the LLM request.                                                  | `1.0`                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `gen_ai.response.finish_reasons` | string[] | Array of reasons the model stopped generating tokens, corresponding to each generation received. | `stop`                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `gen_ai.response.finish_reasons` | string[] | Array of reasons the model stopped generating tokens, corresponding to each generation received. | `["stop"]`                                                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `gen_ai.response.id`             | string   | The unique identifier for the completion.                                                        | `chatcmpl-123`                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `gen_ai.response.model`          | string   | The name of the LLM a response was generated from.                                               | `gpt-4-0613`                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `gen_ai.system`                  | string   | The Generative AI product as identified by the client instrumentation. [3]                       | `openai`                                                                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
diff --git a/docs/attributes-registry/host.md b/docs/attributes-registry/host.md
index 3f51db07dc..5861f2e6e3 100644
--- a/docs/attributes-registry/host.md
+++ b/docs/attributes-registry/host.md
@@ -23,8 +23,8 @@ A host is defined as a computing instance. For example, physical servers, virtua
 | `host.image.id`          | string   | VM image ID or host OS image ID. For Cloud, this value is from the provider.                                                                                                                                                                                | `ami-07b06b442921831e5`                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `host.image.name`        | string   | Name of the VM image or OS install the host was instantiated from.                                                                                                                                                                                          | `infra-ami-eks-worker-node-7d4ec78312`; `CentOS-8-x86_64-1905` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `host.image.version`     | string   | The version string of the VM image or host OS as defined in [Version Attributes](/docs/resource/README.md#version-attributes).                                                                                                                              | `0.1`                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `host.ip`                | string[] | Available IP addresses of the host, excluding loopback interfaces. [2]                                                                                                                                                                                      | `192.168.1.140`; `fe80::abc2:4a28:737a:609e`                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `host.mac`               | string[] | Available MAC addresses of the host, excluding loopback interfaces. [3]                                                                                                                                                                                     | `AC-DE-48-23-45-67`; `AC-DE-48-23-45-67-01-9F`                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `host.ip`                | string[] | Available IP addresses of the host, excluding loopback interfaces. [2]                                                                                                                                                                                      | `["192.168.1.140", "fe80::abc2:4a28:737a:609e"]`               | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `host.mac`               | string[] | Available MAC addresses of the host, excluding loopback interfaces. [3]                                                                                                                                                                                     | `["AC-DE-48-23-45-67", "AC-DE-48-23-45-67-01-9F"]`             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `host.name`              | string   | Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user.                                                                                                | `opentelemetry-test`                                           | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `host.type`              | string   | Type of host. For Cloud, this must be the machine type.                                                                                                                                                                                                     | `n1-standard-1`                                                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
diff --git a/docs/attributes-registry/messaging.md b/docs/attributes-registry/messaging.md
index b7f3780fe1..1a80f6d13d 100644
--- a/docs/attributes-registry/messaging.md
+++ b/docs/attributes-registry/messaging.md
@@ -147,7 +147,7 @@ This group describes attributes specific to RocketMQ.
 | `messaging.rocketmq.message.delay_time_level`   | int      | The delay time level for delay message, which determines the message delay time.                                                                 | `3`                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `messaging.rocketmq.message.delivery_timestamp` | int      | The timestamp in milliseconds that the delay message is expected to be delivered to consumer.                                                    | `1665987217045`              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `messaging.rocketmq.message.group`              | string   | It is essential for FIFO message. Messages that belong to the same message group are always processed one by one within the same consumer group. | `myMessageGroup`             | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `messaging.rocketmq.message.keys`               | string[] | Key(s) of message, another way to mark message besides message id.                                                                               | `keyA`; `keyB`               | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `messaging.rocketmq.message.keys`               | string[] | Key(s) of message, another way to mark message besides message id.                                                                               | `["keyA", "keyB"]`           | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `messaging.rocketmq.message.tag`                | string   | The secondary classifier of message besides topic.                                                                                               | `tagA`                       | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `messaging.rocketmq.message.type`               | string   | Type of message.                                                                                                                                 | `normal`; `fifo`; `delay`    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `messaging.rocketmq.namespace`                  | string   | Namespace of RocketMQ resources, resources in different namespaces are individual.                                                               | `myNamespace`                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
diff --git a/docs/attributes-registry/process.md b/docs/attributes-registry/process.md
index d194bff2be..2e525794c2 100644
--- a/docs/attributes-registry/process.md
+++ b/docs/attributes-registry/process.md
@@ -16,7 +16,7 @@ An operating system process.
 | Attribute                     | Type     | Description                                                                                                                                                                                                                                                                                                                                                 | Examples                                            | Stability                                                        |
 | ----------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------- | ---------------------------------------------------------------- |
 | `process.command`             | string   | The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`.                                                                                                                            | `cmd/otelcol`                                       | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `process.command_args`        | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. | `cmd/otecol`; `--config=config.yaml`                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `process.command_args`        | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. | `["cmd/otecol", "--config=config.yaml"]`            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `process.command_line`        | string   | The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead.                                                                                                | `C:\cmd\otecol --config="my directory\config.yaml"` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `process.context_switch_type` | string   | Specifies whether the context switches for this data point were voluntary or involuntary.                                                                                                                                                                                                                                                                   | `voluntary`; `involuntary`                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `process.creation.time`       | string   | The date and time the process was created, in ISO 8601 format.                                                                                                                                                                                                                                                                                              | `2023-11-21T09:25:34.853Z`                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
diff --git a/docs/attributes-registry/tls.md b/docs/attributes-registry/tls.md
index 992c2bff0d..e6cdb56b19 100644
--- a/docs/attributes-registry/tls.md
+++ b/docs/attributes-registry/tls.md
@@ -10,37 +10,37 @@
 
 This document defines semantic convention attributes in the TLS namespace.
 
-| Attribute                      | Type     | Description                                                                                                                                                                                                                         | Examples                                                                                    | Stability                                                        |
-| ------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `tls.cipher`                   | string   | String indicating the [cipher](https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5) used during the current connection. [1]                                                                                                  | `TLS_RSA_WITH_3DES_EDE_CBC_SHA`; `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256`                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.certificate`       | string   | PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of `client.certificate_chain` since this value also exists in that list.                                                              | `MII...`                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.certificate_chain` | string[] | Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of `client.certificate` since that value should be the first certificate in the chain.               | `MII...`; `MI...`                                                                           | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.hash.md5`          | string   | Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.                              | `0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC`                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.hash.sha1`         | string   | Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.                             | `9E393D93138888D288266C2D915214D1D1CCEB2A`                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.hash.sha256`       | string   | Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.                           | `0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0`                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.issuer`            | string   | Distinguished name of [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of the issuer of the x.509 certificate presented by the client.                                                                      | `CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com`                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.ja3`               | string   | A hash that identifies clients based on how they perform an SSL/TLS handshake.                                                                                                                                                      | `d4e5b18d6b55c71272893221c96ba240`                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.not_after`         | string   | Date/Time indicating when client certificate is no longer considered valid.                                                                                                                                                         | `2021-01-01T00:00:00.000Z`                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.not_before`        | string   | Date/Time indicating when client certificate is first considered valid.                                                                                                                                                             | `1970-01-01T00:00:00.000Z`                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.server_name`       | string   | Also called an SNI, this tells the server which hostname to which the client is attempting to connect to.                                                                                                                           | `opentelemetry.io`                                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.subject`           | string   | Distinguished name of subject of the x.509 certificate presented by the client.                                                                                                                                                     | `CN=myclient, OU=Documentation Team, DC=example, DC=com`                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.client.supported_ciphers` | string[] | Array of ciphers offered by the client during the client hello.                                                                                                                                                                     | `"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "..."` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.curve`                    | string   | String indicating the curve used for the given cipher, when applicable                                                                                                                                                              | `secp256r1`                                                                                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.established`              | boolean  | Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel.                                                                                                                              | `true`                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.next_protocol`            | string   | String indicating the protocol being tunneled. Per the values in the [IANA registry](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids), this string should be lower case. | `http/1.1`                                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.protocol.name`            | string   | Normalized lowercase protocol name parsed from original string of the negotiated [SSL/TLS protocol version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES)                                          | `ssl`; `tls`                                                                                | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.protocol.version`         | string   | Numeric part of the version parsed from the original string of the negotiated [SSL/TLS protocol version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES)                                             | `1.2`; `3`                                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.resumed`                  | boolean  | Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.                                                                                                                                        | `true`                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.certificate`       | string   | PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of `server.certificate_chain` since this value also exists in that list.                                                              | `MII...`                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.certificate_chain` | string[] | Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of `server.certificate` since that value should be the first certificate in the chain.               | `MII...`; `MI...`                                                                           | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.hash.md5`          | string   | Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.                              | `0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC`                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.hash.sha1`         | string   | Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.                             | `9E393D93138888D288266C2D915214D1D1CCEB2A`                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.hash.sha256`       | string   | Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.                           | `0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0`                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.issuer`            | string   | Distinguished name of [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of the issuer of the x.509 certificate presented by the client.                                                                      | `CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com`                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.ja3s`              | string   | A hash that identifies servers based on how they perform an SSL/TLS handshake.                                                                                                                                                      | `d4e5b18d6b55c71272893221c96ba240`                                                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.not_after`         | string   | Date/Time indicating when server certificate is no longer considered valid.                                                                                                                                                         | `2021-01-01T00:00:00.000Z`                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.not_before`        | string   | Date/Time indicating when server certificate is first considered valid.                                                                                                                                                             | `1970-01-01T00:00:00.000Z`                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `tls.server.subject`           | string   | Distinguished name of subject of the x.509 certificate presented by the server.                                                                                                                                                     | `CN=myserver, OU=Documentation Team, DC=example, DC=com`                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| Attribute                      | Type     | Description                                                                                                                                                                                                                         | Examples                                                                                      | Stability                                                        |
+| ------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `tls.cipher`                   | string   | String indicating the [cipher](https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5) used during the current connection. [1]                                                                                                  | `TLS_RSA_WITH_3DES_EDE_CBC_SHA`; `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256`                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.certificate`       | string   | PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of `client.certificate_chain` since this value also exists in that list.                                                              | `MII...`                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.certificate_chain` | string[] | Array of PEM-encoded certificates that make up the certificate chain offered by the client. This is usually mutually-exclusive of `client.certificate` since that value should be the first certificate in the chain.               | `["MII...", "MI..."]`                                                                         | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.hash.md5`          | string   | Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.                              | `0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC`                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.hash.sha1`         | string   | Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.                             | `9E393D93138888D288266C2D915214D1D1CCEB2A`                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.hash.sha256`       | string   | Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the client. For consistency with other hash values, this value should be formatted as an uppercase hash.                           | `0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0`                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.issuer`            | string   | Distinguished name of [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of the issuer of the x.509 certificate presented by the client.                                                                      | `CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com`                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.ja3`               | string   | A hash that identifies clients based on how they perform an SSL/TLS handshake.                                                                                                                                                      | `d4e5b18d6b55c71272893221c96ba240`                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.not_after`         | string   | Date/Time indicating when client certificate is no longer considered valid.                                                                                                                                                         | `2021-01-01T00:00:00.000Z`                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.not_before`        | string   | Date/Time indicating when client certificate is first considered valid.                                                                                                                                                             | `1970-01-01T00:00:00.000Z`                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.server_name`       | string   | Also called an SNI, this tells the server which hostname to which the client is attempting to connect to.                                                                                                                           | `opentelemetry.io`                                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.subject`           | string   | Distinguished name of subject of the x.509 certificate presented by the client.                                                                                                                                                     | `CN=myclient, OU=Documentation Team, DC=example, DC=com`                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.client.supported_ciphers` | string[] | Array of ciphers offered by the client during the client hello.                                                                                                                                                                     | `["TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "..."]` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.curve`                    | string   | String indicating the curve used for the given cipher, when applicable                                                                                                                                                              | `secp256r1`                                                                                   | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.established`              | boolean  | Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted tunnel.                                                                                                                              | `true`                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.next_protocol`            | string   | String indicating the protocol being tunneled. Per the values in the [IANA registry](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids), this string should be lower case. | `http/1.1`                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.protocol.name`            | string   | Normalized lowercase protocol name parsed from original string of the negotiated [SSL/TLS protocol version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES)                                          | `ssl`; `tls`                                                                                  | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.protocol.version`         | string   | Numeric part of the version parsed from the original string of the negotiated [SSL/TLS protocol version](https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES)                                             | `1.2`; `3`                                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.resumed`                  | boolean  | Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.                                                                                                                                        | `true`                                                                                        | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.certificate`       | string   | PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of `server.certificate_chain` since this value also exists in that list.                                                              | `MII...`                                                                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.certificate_chain` | string[] | Array of PEM-encoded certificates that make up the certificate chain offered by the server. This is usually mutually-exclusive of `server.certificate` since that value should be the first certificate in the chain.               | `["MII...", "MI..."]`                                                                         | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.hash.md5`          | string   | Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.                              | `0F76C7F2C55BFD7D8E8B8F4BFBF0C9EC`                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.hash.sha1`         | string   | Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.                             | `9E393D93138888D288266C2D915214D1D1CCEB2A`                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.hash.sha256`       | string   | Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by the server. For consistency with other hash values, this value should be formatted as an uppercase hash.                           | `0687F666A054EF17A08E2F2162EAB4CBC0D265E1D7875BE74BF3C712CA92DAF0`                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.issuer`            | string   | Distinguished name of [subject](https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6) of the issuer of the x.509 certificate presented by the client.                                                                      | `CN=Example Root CA, OU=Infrastructure Team, DC=example, DC=com`                              | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.ja3s`              | string   | A hash that identifies servers based on how they perform an SSL/TLS handshake.                                                                                                                                                      | `d4e5b18d6b55c71272893221c96ba240`                                                            | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.not_after`         | string   | Date/Time indicating when server certificate is no longer considered valid.                                                                                                                                                         | `2021-01-01T00:00:00.000Z`                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.not_before`        | string   | Date/Time indicating when server certificate is first considered valid.                                                                                                                                                             | `1970-01-01T00:00:00.000Z`                                                                    | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `tls.server.subject`           | string   | Distinguished name of subject of the x.509 certificate presented by the server.                                                                                                                                                     | `CN=myserver, OU=Documentation Team, DC=example, DC=com`                                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[1]:** The values allowed for `tls.cipher` MUST be one of the `Descriptions` of the [registered TLS Cipher Suits](https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#table-tls-parameters-4).
 
diff --git a/docs/attributes-registry/user.md b/docs/attributes-registry/user.md
index 41a9d259c8..1268d2c848 100644
--- a/docs/attributes-registry/user.md
+++ b/docs/attributes-registry/user.md
@@ -17,6 +17,6 @@ Describes information about the user.
 | `user.hash`      | string   | Unique user hash to correlate information for a user in anonymized form. [1] | `364fc68eaf4c8acec74a4e52d7d1feaa`                 | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `user.id`        | string   | Unique identifier of the user.                                               | `S-1-5-21-202424912787-2692429404-2351956786-1000` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | `user.name`      | string   | Short name or login/username of the user.                                    | `a.einstein`                                       | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| `user.roles`     | string[] | Array of user roles at the time of the event.                                | `admin`; `reporting_user`                          | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| `user.roles`     | string[] | Array of user roles at the time of the event.                                | `["admin", "reporting_user"]`                      | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[1]:** Useful if `user.id` or `user.name` contain confidential information and cannot be used.
diff --git a/docs/database/dynamodb.md b/docs/database/dynamodb.md
index a791b6dd43..2dedb607eb 100644
--- a/docs/database/dynamodb.md
+++ b/docs/database/dynamodb.md
@@ -108,8 +108,8 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | The keys in the `RequestItems` object field. | `Users`; `Cats` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | The keys in the `RequestItems` object field. | `["Users", "Cats"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -149,9 +149,9 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.item_collection_metrics`](/docs/attributes-registry/aws.md) | string | The JSON-serialized value of the `ItemCollectionMetrics` response field. | `{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | The keys in the `RequestItems` object field. | `Users`; `Cats` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | The keys in the `RequestItems` object field. | `["Users", "Cats"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -191,13 +191,13 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.global_secondary_indexes`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field | `{ "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.global_secondary_indexes`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field | `["{ \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.item_collection_metrics`](/docs/attributes-registry/aws.md) | string | The JSON-serialized value of the `ItemCollectionMetrics` response field. | `{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.local_secondary_indexes`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. | `{ "IndexArn": "string", "IndexName": "string", "IndexSizeBytes": number, "ItemCount": number, "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" } }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.local_secondary_indexes`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field. | `["{ \"IndexArn\": \"string\", \"IndexName\": \"string\", \"IndexSizeBytes\": number, \"ItemCount\": number, \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" } }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.provisioned_read_capacity`](/docs/attributes-registry/aws.md) | double | The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. | `1.0`; `2.0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.provisioned_write_capacity`](/docs/attributes-registry/aws.md) | double | The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. | `1.0`; `2.0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -237,9 +237,9 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.item_collection_metrics`](/docs/attributes-registry/aws.md) | string | The JSON-serialized value of the `ItemCollectionMetrics` response field. | `{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -279,7 +279,7 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -319,7 +319,7 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -360,9 +360,9 @@ These attributes are filled in for all DynamoDB request types.
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.consistent_read`](/docs/attributes-registry/aws.md) | boolean | The value of the `ConsistentRead` request parameter. |  | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.projection`](/docs/attributes-registry/aws.md) | string | The value of the `ProjectionExpression` request parameter. | `Title`; `Title, Price, Color`; `Title, Description, RelatedItems, ProductReviews` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -444,9 +444,9 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.item_collection_metrics`](/docs/attributes-registry/aws.md) | string | The JSON-serialized value of the `ItemCollectionMetrics` response field. | `{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | The keys in the `RequestItems` object field. | `Users`; `Cats` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | The keys in the `RequestItems` object field. | `["Users", "Cats"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -486,15 +486,15 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.attributes_to_get`](/docs/attributes-registry/aws.md) | string[] | The value of the `AttributesToGet` request parameter. | `lives`; `id` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.attributes_to_get`](/docs/attributes-registry/aws.md) | string[] | The value of the `AttributesToGet` request parameter. | `["lives", "id"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.consistent_read`](/docs/attributes-registry/aws.md) | boolean | The value of the `ConsistentRead` request parameter. |  | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.index_name`](/docs/attributes-registry/aws.md) | string | The value of the `IndexName` request parameter. | `name_to_group` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.limit`](/docs/attributes-registry/aws.md) | int | The value of the `Limit` request parameter. | `10` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.projection`](/docs/attributes-registry/aws.md) | string | The value of the `ProjectionExpression` request parameter. | `Title`; `Title, Price, Color`; `Title, Description, RelatedItems, ProductReviews` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.scan_forward`](/docs/attributes-registry/aws.md) | boolean | The value of the `ScanIndexForward` request parameter. |  | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.select`](/docs/attributes-registry/aws.md) | string | The value of the `Select` request parameter. | `ALL_ATTRIBUTES`; `COUNT` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -534,9 +534,9 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.attributes_to_get`](/docs/attributes-registry/aws.md) | string[] | The value of the `AttributesToGet` request parameter. | `lives`; `id` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.attributes_to_get`](/docs/attributes-registry/aws.md) | string[] | The value of the `AttributesToGet` request parameter. | `["lives", "id"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.consistent_read`](/docs/attributes-registry/aws.md) | boolean | The value of the `ConsistentRead` request parameter. |  | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.count`](/docs/attributes-registry/aws.md) | int | The value of the `Count` response parameter. | `10` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.index_name`](/docs/attributes-registry/aws.md) | string | The value of the `IndexName` request parameter. | `name_to_group` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.limit`](/docs/attributes-registry/aws.md) | int | The value of the `Limit` request parameter. | `10` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -544,7 +544,7 @@ These attributes are filled in for all DynamoDB request types.
 | [`aws.dynamodb.scanned_count`](/docs/attributes-registry/aws.md) | int | The value of the `ScannedCount` response parameter. | `50` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.segment`](/docs/attributes-registry/aws.md) | int | The value of the `Segment` request parameter. | `10` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.select`](/docs/attributes-registry/aws.md) | string | The value of the `Select` request parameter. | `ALL_ATTRIBUTES`; `COUNT` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.total_segments`](/docs/attributes-registry/aws.md) | int | The value of the `TotalSegments` request parameter. | `100` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -585,9 +585,9 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.item_collection_metrics`](/docs/attributes-registry/aws.md) | string | The JSON-serialized value of the `ItemCollectionMetrics` response field. | `{ "string" : [ { "ItemCollectionKey": { "string" : { "B": blob, "BOOL": boolean, "BS": [ blob ], "L": [ "AttributeValue" ], "M": { "string" : "AttributeValue" }, "N": "string", "NS": [ "string" ], "NULL": boolean, "S": "string", "SS": [ "string" ] } }, "SizeEstimateRangeGB": [ number ] } ] }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
@@ -627,12 +627,12 @@ These attributes are filled in for all DynamoDB request types.
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`rpc.system`](/docs/attributes-registry/rpc.md) | string | The value `aws-api`. | `aws-api` | `Required` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.attribute_definitions`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `AttributeDefinitions` request field. | `{ "AttributeName": "string", "AttributeType": "string" }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `{ "CapacityUnits": number, "GlobalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "LocalSecondaryIndexes": { "string" : { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number } }, "ReadCapacityUnits": number, "Table": { "CapacityUnits": number, "ReadCapacityUnits": number, "WriteCapacityUnits": number }, "TableName": "string", "WriteCapacityUnits": number }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.global_secondary_index_updates`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. | `{ "Create": { "IndexName": "string", "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "Projection": { "NonKeyAttributes": [ "string" ], "ProjectionType": "string" }, "ProvisionedThroughput": { "ReadCapacityUnits": number, "WriteCapacityUnits": number } }` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.attribute_definitions`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `AttributeDefinitions` request field. | `["{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.consumed_capacity`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `ConsumedCapacity` response field. | `["{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.global_secondary_index_updates`](/docs/attributes-registry/aws.md) | string[] | The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field. | `["{ \"Create\": { \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.provisioned_read_capacity`](/docs/attributes-registry/aws.md) | double | The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter. | `1.0`; `2.0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.dynamodb.provisioned_write_capacity`](/docs/attributes-registry/aws.md) | double | The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter. | `1.0`; `2.0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `Users` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.dynamodb.table_names`](/docs/attributes-registry/aws.md) | string[] | A single-element array with the value of the TableName request parameter. | `["Users"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`aws.request_id`](/docs/attributes-registry/aws.md) | string | The AWS request ID as returned in the response headers `x-amz-request-id` or `x-amz-requestid`. | `79b9da39-b7ae-508a-a6bc-864b2829c622`; `C9ER4AJX75574TDJ` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.method`](/docs/attributes-registry/rpc.md) | string | The name of the operation corresponding to the request, as returned by the AWS SDK [1] | `GetItem`; `PutItem` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`rpc.service`](/docs/attributes-registry/rpc.md) | string | The name of the service to which a request is made, as returned by the AWS SDK. [2] | `DynamoDB`; `S3` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
diff --git a/docs/gen-ai/llm-spans.md b/docs/gen-ai/llm-spans.md
index ad0c4c988e..2106d6d40e 100644
--- a/docs/gen-ai/llm-spans.md
+++ b/docs/gen-ai/llm-spans.md
@@ -50,7 +50,7 @@ These attributes track input data and metadata for a request to an LLM. Each att
 | [`gen_ai.request.max_tokens`](/docs/attributes-registry/gen-ai.md) | int | The maximum number of tokens the LLM generates for a request. | `100` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`gen_ai.request.temperature`](/docs/attributes-registry/gen-ai.md) | double | The temperature setting for the LLM request. | `0.0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`gen_ai.request.top_p`](/docs/attributes-registry/gen-ai.md) | double | The top_p sampling setting for the LLM request. | `1.0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`gen_ai.response.finish_reasons`](/docs/attributes-registry/gen-ai.md) | string[] | Array of reasons the model stopped generating tokens, corresponding to each generation received. | `stop` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`gen_ai.response.finish_reasons`](/docs/attributes-registry/gen-ai.md) | string[] | Array of reasons the model stopped generating tokens, corresponding to each generation received. | `["stop"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`gen_ai.response.id`](/docs/attributes-registry/gen-ai.md) | string | The unique identifier for the completion. | `chatcmpl-123` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`gen_ai.response.model`](/docs/attributes-registry/gen-ai.md) | string | The name of the LLM a response was generated from. [3] | `gpt-4-0613` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`gen_ai.usage.completion_tokens`](/docs/attributes-registry/gen-ai.md) | int | The number of tokens used in the LLM response (completion). | `180` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
diff --git a/docs/messaging/rocketmq.md b/docs/messaging/rocketmq.md
index 337ffc17ea..0c57e3f5c3 100644
--- a/docs/messaging/rocketmq.md
+++ b/docs/messaging/rocketmq.md
@@ -40,7 +40,7 @@ Specific attributes for Apache RocketMQ are defined below.
 | [`messaging.message.id`](/docs/attributes-registry/messaging.md) | string | A value used by the messaging system as an identifier for the message, represented as a string. | `452a7c7c7c7048c2f887f61572b18fc2` | `Recommended` If span describes operation on a single message. | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`messaging.operation.name`](/docs/attributes-registry/messaging.md) | string | The system-specific name of the messaging operation. | `ack`; `nack`; `send` | `Recommended` [11] | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`messaging.rocketmq.consumption_model`](/docs/attributes-registry/messaging.md) | string | Model of message consumption. This only applies to consumer spans. | `clustering`; `broadcasting` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`messaging.rocketmq.message.keys`](/docs/attributes-registry/messaging.md) | string[] | Key(s) of message, another way to mark message besides message id. | `keyA`; `keyB` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`messaging.rocketmq.message.keys`](/docs/attributes-registry/messaging.md) | string[] | Key(s) of message, another way to mark message besides message id. | `["keyA", "keyB"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`messaging.rocketmq.message.tag`](/docs/attributes-registry/messaging.md) | string | The secondary classifier of message besides topic. | `tagA` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`messaging.rocketmq.message.type`](/docs/attributes-registry/messaging.md) | string | Type of message. | `normal`; `fifo`; `delay` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`server.port`](/docs/attributes-registry/server.md) | int | Server port number. [12] | `80`; `8080`; `443` | `Recommended` | ![Stable](https://img.shields.io/badge/-stable-lightgreen) |
diff --git a/docs/resource/browser.md b/docs/resource/browser.md
index 8425615f67..65c19f76b2 100644
--- a/docs/resource/browser.md
+++ b/docs/resource/browser.md
@@ -17,7 +17,7 @@ All of these attributes can be provided by the user agent itself in the form of
 
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
-| [`browser.brands`](/docs/attributes-registry/browser.md) | string[] | Array of brand name and version separated by a space [1] | ` Not A;Brand 99`; `Chromium 99`; `Chrome 99` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`browser.brands`](/docs/attributes-registry/browser.md) | string[] | Array of brand name and version separated by a space [1] | `[" Not A;Brand 99", "Chromium 99", "Chrome 99"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`browser.language`](/docs/attributes-registry/browser.md) | string | Preferred language of the user using the browser [2] | `en`; `en-US`; `fr`; `fr-FR` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`browser.mobile`](/docs/attributes-registry/browser.md) | boolean | A boolean that is true if the browser is running on a mobile device [3] |  | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`browser.platform`](/docs/attributes-registry/browser.md) | string | The platform on which the browser is running [4] | `Windows`; `macOS`; `Android` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
diff --git a/docs/resource/cloud-provider/aws/logs.md b/docs/resource/cloud-provider/aws/logs.md
index 4bb6fdfbaa..fe8544eb18 100644
--- a/docs/resource/cloud-provider/aws/logs.md
+++ b/docs/resource/cloud-provider/aws/logs.md
@@ -15,10 +15,10 @@
 
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
-| [`aws.log.group.arns`](/docs/attributes-registry/aws.md) | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [1] | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.log.group.names`](/docs/attributes-registry/aws.md) | string[] | The name(s) of the AWS log group(s) an application is writing to. [2] | `/aws/lambda/my-function`; `opentelemetry-service` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.log.stream.arns`](/docs/attributes-registry/aws.md) | string[] | The ARN(s) of the AWS log stream(s). [3] | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`aws.log.stream.names`](/docs/attributes-registry/aws.md) | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `logs/main/10838bed-421f-43ef-870a-f43feacbbb5b` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.log.group.arns`](/docs/attributes-registry/aws.md) | string[] | The Amazon Resource Name(s) (ARN) of the AWS log group(s). [1] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.log.group.names`](/docs/attributes-registry/aws.md) | string[] | The name(s) of the AWS log group(s) an application is writing to. [2] | `["/aws/lambda/my-function", "opentelemetry-service"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.log.stream.arns`](/docs/attributes-registry/aws.md) | string[] | The ARN(s) of the AWS log stream(s). [3] | `["arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`aws.log.stream.names`](/docs/attributes-registry/aws.md) | string[] | The name(s) of the AWS log stream(s) an application is writing to. | `["logs/main/10838bed-421f-43ef-870a-f43feacbbb5b"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[1]:** See the [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format).
 
diff --git a/docs/resource/container.md b/docs/resource/container.md
index a22b872352..c76bbb0d6f 100644
--- a/docs/resource/container.md
+++ b/docs/resource/container.md
@@ -18,14 +18,14 @@
 | [`container.id`](/docs/attributes-registry/container.md) | string | Container ID. Usually a UUID, as for example used to [identify Docker containers](https://docs.docker.com/engine/reference/run/#container-identification). The UUID might be abbreviated. | `a3bf90e006b2` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`container.image.id`](/docs/attributes-registry/container.md) | string | Runtime specific image identifier. Usually a hash algorithm followed by a UUID. [1] | `sha256:19c92d0a00d1b66d897bceaa7319bee0dd38a10a851c60bcec9474aa3f01e50f` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`container.image.name`](/docs/attributes-registry/container.md) | string | Name of the image the container was built on. | `gcr.io/opentelemetry/operator` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`container.image.repo_digests`](/docs/attributes-registry/container.md) | string[] | Repo digests of the container image as provided by the container runtime. [2] | `example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb`; `internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`container.image.tags`](/docs/attributes-registry/container.md) | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`. | `v1.27.1`; `3.5.7-0` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`container.image.repo_digests`](/docs/attributes-registry/container.md) | string[] | Repo digests of the container image as provided by the container runtime. [2] | `["example@sha256:afcc7f1ac1b49db317a7196c902e61c6c3c4607d63599ee1a82d702d249a0ccb", "internal.registry.example.com:5000/example@sha256:b69959407d21e8a062e0416bf13405bb2b71ed7a84dde4158ebafacfa06f5578"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`container.image.tags`](/docs/attributes-registry/container.md) | string[] | Container image tags. An example can be found in [Docker Image Inspect](https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect). Should be only the `<tag>` section of the full name for example from `registry.example.com/my-org/my-image:<tag>`. | `["v1.27.1", "3.5.7-0"]` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`container.label.<key>`](/docs/attributes-registry/container.md) | string | Container labels, `<key>` being the label name, the value being the label value. | `container.label.app=nginx` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`container.name`](/docs/attributes-registry/container.md) | string | Container name used by container runtime. | `opentelemetry-autoconf` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`container.runtime`](/docs/attributes-registry/container.md) | string | The container runtime managing this container. | `docker`; `containerd`; `rkt` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`oci.manifest.digest`](/docs/attributes-registry/oci.md) | string | The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known. [3] | `sha256:e4ca62c0d62f3e886e684806dfe9d4e0cda60d54986898173c1083856cfda0f4` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`container.command`](/docs/attributes-registry/container.md) | string | The command used to run the container (i.e. the command name). [4] | `otelcontribcol` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`container.command_args`](/docs/attributes-registry/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. [2] | `otelcontribcol, --config, config.yaml` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`container.command_args`](/docs/attributes-registry/container.md) | string[] | All the command arguments (including the command/executable itself) run by the container. [2] | `["otelcontribcol, --config, config.yaml"]` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`container.command_line`](/docs/attributes-registry/container.md) | string | The full command run by the container as a single string representing the full command. [2] | `otelcontribcol --config config.yaml` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[1]:** Docker defines a sha256 of the image id; `container.image.id` corresponds to the `Image` field from the Docker container inspect [API](https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect) endpoint.
diff --git a/docs/resource/host.md b/docs/resource/host.md
index c775713a9e..135700eec9 100644
--- a/docs/resource/host.md
+++ b/docs/resource/host.md
@@ -25,8 +25,8 @@ To report host metrics, the `system.*` namespace SHOULD be used.
 | [`host.image.version`](/docs/attributes-registry/host.md) | string | The version string of the VM image or host OS as defined in [Version Attributes](/docs/resource/README.md#version-attributes). | `0.1` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`host.name`](/docs/attributes-registry/host.md) | string | Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully qualified hostname, or another name specified by the user. | `opentelemetry-test` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`host.type`](/docs/attributes-registry/host.md) | string | Type of host. For Cloud, this must be the machine type. | `n1-standard-1` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`host.ip`](/docs/attributes-registry/host.md) | string[] | Available IP addresses of the host, excluding loopback interfaces. [1] | `192.168.1.140`; `fe80::abc2:4a28:737a:609e` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`host.mac`](/docs/attributes-registry/host.md) | string[] | Available MAC addresses of the host, excluding loopback interfaces. [2] | `AC-DE-48-23-45-67`; `AC-DE-48-23-45-67-01-9F` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`host.ip`](/docs/attributes-registry/host.md) | string[] | Available IP addresses of the host, excluding loopback interfaces. [1] | `["192.168.1.140", "fe80::abc2:4a28:737a:609e"]` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`host.mac`](/docs/attributes-registry/host.md) | string[] | Available MAC addresses of the host, excluding loopback interfaces. [2] | `["AC-DE-48-23-45-67", "AC-DE-48-23-45-67-01-9F"]` | `Opt-In` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 
 **[1]:** IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be specified in the [RFC 5952](https://www.rfc-editor.org/rfc/rfc5952.html) format.
 
diff --git a/docs/resource/process.md b/docs/resource/process.md
index c2535b30d7..a081022d6f 100644
--- a/docs/resource/process.md
+++ b/docs/resource/process.md
@@ -35,7 +35,7 @@
 | Attribute  | Type | Description  | Examples  | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability |
 |---|---|---|---|---|---|
 | [`process.command`](/docs/attributes-registry/process.md) | string | The command used to launch the process (i.e. the command name). On Linux based systems, can be set to the zeroth string in `proc/[pid]/cmdline`. On Windows, can be set to the first parameter extracted from `GetCommandLineW`. | `cmd/otelcol` | `Conditionally Required` [1] | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
-| [`process.command_args`](/docs/attributes-registry/process.md) | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. | `cmd/otecol`; `--config=config.yaml` | `Conditionally Required` [2] | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
+| [`process.command_args`](/docs/attributes-registry/process.md) | string[] | All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. | `["cmd/otecol", "--config=config.yaml"]` | `Conditionally Required` [2] | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`process.command_line`](/docs/attributes-registry/process.md) | string | The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. | `C:\cmd\otecol --config="my directory\config.yaml"` | `Conditionally Required` [3] | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`process.executable.name`](/docs/attributes-registry/process.md) | string | The name of the process executable. On Linux based systems, can be set to the `Name` in `proc/[pid]/status`. On Windows, can be set to the base name of `GetProcessImageFileNameW`. | `otelcol` | `Conditionally Required` [4] | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
 | [`process.executable.path`](/docs/attributes-registry/process.md) | string | The full path to the process executable. On Linux based systems, can be set to the target of `proc/[pid]/exe`. On Windows, can be set to the result of `GetProcessImageFileNameW`. | `/usr/bin/cmd/otelcol` | `Conditionally Required` [5] | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
diff --git a/model/registry/tls.yaml b/model/registry/tls.yaml
index d327cf5005..2c4f31a752 100644
--- a/model/registry/tls.yaml
+++ b/model/registry/tls.yaml
@@ -89,7 +89,7 @@ groups:
         brief: Array of ciphers offered by the client during the client hello.
         examples:
           [
-            '"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "..."',
+            "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "..."
           ]
       - id: curve
         brief: "String indicating the curve used for the given cipher, when applicable"
diff --git a/templates/registry/markdown/attribute_macros.j2 b/templates/registry/markdown/attribute_macros.j2
index 42206395f4..de9321eae6 100644
--- a/templates/registry/markdown/attribute_macros.j2
+++ b/templates/registry/markdown/attribute_macros.j2
@@ -19,9 +19,17 @@
 
 {% macro name_with_link(attribute, attribute_registry_base_url, lineage_attributes) %}[{{name(attribute)}}]({{attribute_registry_base_url}}/{{ find_lineage(attribute.name, lineage_attributes) | split_id | list | reject("eq", "registry")| first | kebab_case }}.md){% endmacro %}
 
+{% macro print_examples(examples) %}{%- for e in examples %}{%if loop.first == false %}; {% endif %}`{{ e | trim }}`{%- endfor %}{% endmacro %}
+
 {% macro examples(attribute) %}{%- if attribute.examples %}
+{%- if "[]" in attribute.type and "template" not in attribute.type %}
 {%- if attribute.examples is sequence %}
-{%- for example in attribute.examples %}{%if loop.first == false %}; {% endif %}`{{ example }}`{%- endfor %}
+{%- if attribute.examples | select("sequence") | length == 0 %}`{{ attribute.examples | trim }}`
+{%- else %}{{ print_examples(attribute.examples) }}
+{%- endif %}
+{%- else %}`[{{ attribute.examples | trim }}]`
+{%- endif %}
+{%- elif attribute.examples is sequence %}{{ print_examples(attribute.examples) }}
 {%- else %}`{{ attribute.examples | trim }}`
 {%- endif %}{%- elif attribute.type is mapping %}
 {%- for e in attribute.type.members %}{% if loop.index0 < 3 %}{% if loop.first == false %}; {% endif %}`{{ e.value | trim }}`{% endif %}{%- endfor %}

From 3b7dd893a2e1fe87c24972693f1c81643d72fcf8 Mon Sep 17 00:00:00 2001
From: Alexandra Konrad <alexandra.konrad@elastic.co>
Date: Thu, 6 Jun 2024 19:23:56 +0200
Subject: [PATCH 2/2] added note about abbreviations (#1121)

Co-authored-by: Liudmila Molkova <limolkova@microsoft.com>
---
 .chloggen/abbr.yaml              | 22 ++++++++++++++++++++++
 docs/general/attribute-naming.md | 15 +++++++++++++--
 docs/general/metrics.md          |  3 +++
 3 files changed, 38 insertions(+), 2 deletions(-)
 create mode 100755 .chloggen/abbr.yaml

diff --git a/.chloggen/abbr.yaml b/.chloggen/abbr.yaml
new file mode 100755
index 0000000000..31b3df5e42
--- /dev/null
+++ b/.chloggen/abbr.yaml
@@ -0,0 +1,22 @@
+# Use this changelog template to create an entry for release notes.
+#
+# If your change doesn't affect end users you should instead start
+# your pull request title with [chore] or use the "Skip Changelog" label.
+
+# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
+change_type: enhancement
+
+# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db)
+component: all
+
+# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
+note: Define name abbreviations guidelines in attribute and metric names.
+
+# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
+# The values here must be integers.
+issues: [1121]
+
+# (Optional) One or more lines of additional information to render under the primary note.
+# These lines will be padded with 2 spaces and then inserted directly into the document.
+# Use pipe (|) for multiline entries.
+subtext:
diff --git a/docs/general/attribute-naming.md b/docs/general/attribute-naming.md
index c45a92e1bf..3b3445cb46 100644
--- a/docs/general/attribute-naming.md
+++ b/docs/general/attribute-naming.md
@@ -7,7 +7,8 @@
 
 <!-- toc -->
 
-- [Name Pluralization guidelines](#name-pluralization-guidelines)
+- [Name Pluralization Guidelines](#name-pluralization-guidelines)
+- [Name Abbreviation Guidelines](#name-abbreviation-guidelines)
 - [Name Reuse Prohibition](#name-reuse-prohibition)
 - [Recommendations for OpenTelemetry Authors](#recommendations-for-opentelemetry-authors)
 - [Recommendations for Application Developers](#recommendations-for-application-developers)
@@ -57,7 +58,7 @@ Names SHOULD follow these rules:
   versa: any existing namespace prohibits existence of an equally named
   attribute key in the future.
 
-## Name Pluralization guidelines
+## Name Pluralization Guidelines
 
 - When an attribute represents a single entity, the attribute name SHOULD be
   singular. Examples: `host.name`, `container.id`.
@@ -70,6 +71,16 @@ Names SHOULD follow these rules:
   [Metric Name Pluralization Guidelines](./metrics.md#pluralization) SHOULD be
   followed for the attribute name.
 
+## Name Abbreviation Guidelines
+
+Abbreviations MAY be used when they are widely recognized and commonly used.
+
+Examples include common technical abbreviations such as `IP`, `DB`, `CPU`,
+`HTTP`, `URL`, or product names like `AWS`, `GCP`, `K8s`.
+
+Abbreviations SHOULD be avoided if they are ambiguous, for example, when they apply
+to multiple products or concepts.
+
 ## Name Reuse Prohibition
 
 A new attribute MUST NOT be added with the same name as an attribute that
diff --git a/docs/general/metrics.md b/docs/general/metrics.md
index 6dffdaa3d5..09892e5fc0 100644
--- a/docs/general/metrics.md
+++ b/docs/general/metrics.md
@@ -82,6 +82,9 @@ and confusion for end users. (For example, prefer `process.runtime.java.gc*` ove
 `process.runtime.gc.*`.) Measures of many operating system metrics are similarly
 ambiguous.
 
+Metric names and attributes SHOULD follow the general
+[name abbreviation guidelines](attribute-naming.md#name-abbreviation-guidelines).
+
 ### Name Reuse Prohibition
 
 A new metric MUST NOT be added with the same name as a metric that existed in