-
Notifications
You must be signed in to change notification settings - Fork 935
Add semantic conventions for cloud provider-specific resource attributes #1099
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
b158045
9b6c00d
b8d4c0d
931024a
ffb068e
c66f5b1
8525215
4024bb0
bcbd99e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -13,7 +13,7 @@ groups: | |
| brief: 'Amazon Web Services' | ||
| - id: Azure | ||
| value: 'azure' | ||
| brief: 'Amazon Web Services' | ||
| brief: 'Microsoft Azure' | ||
| - id: GCP | ||
| value: 'gcp' | ||
| brief: 'Google Cloud Platform' | ||
|
|
@@ -37,3 +37,12 @@ groups: | |
| note: > | ||
| In AWS, this is called availability-zone. | ||
| examples: ['us-central1-a'] | ||
| - id: infrastructure.service | ||
|
||
| type: string | ||
| brief: > | ||
| Description of cloud resource in use. | ||
| note: > | ||
| The first entry should generally be a cloud provider, followed by a product | ||
| category, then finally a particular piece of compute infrastructure. Each entry | ||
| is delimited by a double colon (::). | ||
| examples: ['AWS::EC2::Instance', 'Azure::Compute::VM', 'GCP::ComputeEngine::VM'] | ||
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| groups: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems more related to logging than AWS in the general sense.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would you prefer I move this to somewhere in the logs spec? The
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I am not familiar with logs, but I guess there will be semantic conventions for it as well! |
||
| - id: aws | ||
| prefix: aws | ||
| brief: > | ||
| Resources specific to Amazon Web Services. | ||
| attributes: | ||
| - id: loggroup.name | ||
| type: string | ||
| brief: > | ||
| The name of the AWS log group an application is writing to. | ||
| examples: ['/aws/lambda/my-function', 'opentelemetry-service'] | ||
| - id: loggroup.arn | ||
| type: string | ||
| brief: > | ||
| The Amazon Resource Name (ARN) of an AWS log group. | ||
| examples: ['arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*'] | ||
| note: > | ||
| See the | ||
| [log group ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). | ||
| - id: logstream.name | ||
| type: string | ||
| brief: > | ||
| The name of the AWS log stream an application is writing to. | ||
| examples: ['logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'] | ||
| - id: logstream.arn | ||
| type: string | ||
| brief: > | ||
| The ARN of the AWS log stream. | ||
| examples: ['arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b'] | ||
| note: > | ||
| See the | ||
| [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). | ||
| One log group can contain several log streams, so this ARN necessarily identifies both a log | ||
| group and a log stream. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| groups: | ||
| - id: aws.ecs | ||
| prefix: aws.ecs | ||
| brief: > | ||
| Resources used by AWS Elastic Container Service (ECS). | ||
| attributes: | ||
| - id: container.arn | ||
| type: string | ||
| brief: > | ||
| The ARN of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | ||
| examples: ['arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9'] | ||
| - id: cluster | ||
| type: string | ||
| brief: > | ||
| The name of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | ||
| examples: ['opentelemetry-cluster'] | ||
| - id: launchtype | ||
| type: | ||
| allow_custom_values: false | ||
| members: | ||
| - id: EC2 | ||
| value: "EC2" | ||
| - id: Fargate | ||
| value: "Fargate" | ||
| brief: > | ||
| The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | ||
| examples: ['EC2', 'Fargate'] | ||
| - id: task.arn | ||
| type: string | ||
| brief: > | ||
| The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). | ||
| examples: ['arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b'] | ||
| - id: task.family | ||
| type: string | ||
| brief: > | ||
| The task definition family this task definition is a member of. | ||
| examples: ['opentelemetry-family'] | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -135,3 +135,9 @@ Attributes defining a running environment (e.g. Operating System, Cloud, Data Ce | |
| Version attributes, such as `service.version`, are values of type `string`. They are | ||
| the exact version used to identify an artifact. This may be a semantic version, e.g., `1.2.3`, git hash, e.g., | ||
| `8ae73a`, or an arbitrary version string, e.g., `0.1.2.20210101`, whatever was used when building the artifact. | ||
|
|
||
| ## Provider-Specific Attributes | ||
|
|
||
| Attributes that are only applicable to resources from a specific cloud provider. Currently, these | ||
| resources can only be defined for providers listed as a valid `cloud.provider` in | ||
| [Cloud](./cloud.md). Provider-specific attributes all reside in the `cloud_provider` directory. | ||
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # AWS | ||
|
|
||
| **Type:** `aws` | ||
|
|
||
| **Description:** Resources specific to Amazon Web Services. | ||
|
|
||
| <!-- semconv aws --> | ||
| | Attribute | Type | Description | Example | Required | | ||
| |---|---|---|---|---| | ||
| | `aws.loggroup.name` | string | The name of the AWS log group an application is writing to. | `/aws/lambda/my-function`<br>`opentelemetry-service` | No | | ||
| | `aws.loggroup.arn` | string | The Amazon Resource Name (ARN) of an AWS log group. [1] | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:*` | No | | ||
| | `aws.logstream.name` | string | The name of the AWS log stream an application is writing to. | `logs/main/10838bed-421f-43ef-870a-f43feacbbb5b` | No | | ||
| | `aws.logstream.arn` | string | The ARN of the AWS log stream. [2] | `arn:aws:logs:us-west-1:123456789012:log-group:/aws/my/group:log-stream:logs/main/10838bed-421f-43ef-870a-f43feacbbb5b` | No | | ||
|
|
||
| **[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). | ||
|
|
||
| **[2]:** See the [log stream ARN format documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format). One log group can contain several log streams, so this ARN necessarily identifies both a log group and a log stream. | ||
| <!-- endsemconv --> |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # AWS ECS | ||
|
|
||
| **type:** `aws.ecs` | ||
|
|
||
| **Description:** Resources used by AWS Elastic Container Service (ECS). | ||
|
|
||
| <!-- semconv aws.ecs --> | ||
| | Attribute | Type | Description | Example | Required | | ||
| |---|---|---|---|---| | ||
| | `aws.ecs.container.arn` | string | The ARN of an [ECS container instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html). | `arn:aws:ecs:us-west-1:123456789123:container/32624152-9086-4f0e-acae-1a75b14fe4d9` | No | | ||
| | `aws.ecs.cluster` | string | The name of an [ECS cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html). | `opentelemetry-cluster` | No | | ||
| | `aws.ecs.launchtype` | string enum | The [launch type](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) for an ECS task. | `EC2`<br>`Fargate` | No | | ||
| | `aws.ecs.task.arn` | string | The ARN of an [ECS task definition](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html). | `arn:aws:ecs:us-west-1:123456789123:task/10838bed-421f-43ef-870a-f43feacbbb5b` | No | | ||
| | `aws.ecs.task.family` | string | The task definition family this task definition is a member of. | `opentelemetry-family` | No | | ||
|
|
||
| `aws.ecs.launchtype` MUST be one of the following: | ||
|
|
||
| | Value | Description | | ||
| |---|---| | ||
| | `EC2` | EC2 | | ||
| | `Fargate` | Fargate | | ||
| <!-- endsemconv --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😄