-
Notifications
You must be signed in to change notification settings - Fork 174
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
Add a datacenter resource. #1413
base: main
Are you sure you want to change the base?
Changes from 3 commits
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 |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# 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: new_component | ||
|
||
# The name of the area of concern in the attributes-registry, (e.g. http, cloud, db) | ||
component: dc | ||
|
||
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). | ||
note: Allow users to categorize datacenter information. | ||
|
||
# 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: [1409] | ||
|
||
# (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: | | ||
Many companies run in a Hybrid environment, and being able to see information when managing fleets | ||
of servers is valuable as this allows for standardize monitoring of server level monitoring. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<!--- Hugo front matter used to generate the website version of this page: | ||
---> | ||
|
||
<!-- NOTE: THIS FILE IS AUTOGENERATED. DO NOT EDIT BY HAND. --> | ||
<!-- see templates/registry/markdown/attribute_namespace.md.j2 --> | ||
|
||
# DC | ||
|
||
## Datacenter Attributes | ||
|
||
Generic DataCenter infrastructure tagging. | ||
|
||
| Attribute | Type | Description | Examples | Stability | | ||
| ------------------ | ------ | -------------------------------------------- | -------------------------------------------------------------- | ---------------------------------------------------------------- | | ||
| `dc.cage` | string | Name of the cage [1] | `cage-1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.chassis` | string | Name of the chassis the server lives in. [2] | `pod-4` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.device.type` | string | Type of device used. | `server`; `chassis`; `network`; `pdu`; `switch`; `patch-panel` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.name` | string | Name of datacenter. | `dc-name` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.pod` | string | Name of the pod [3] | `pod-4` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.provider.type` | string | Type of datacenter | `cloud`; `colocation`; `internal` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.rack` | string | Name of the rack. [4] | `rack-7` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.site` | string | Name of the datacenter site [5] | `site-1` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `dc.suite` | string | Name of the datacenter suite [6] | `suite-5` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
|
||
**[1]:** This is a literal cage which is used to protect servers from potential intruders. | ||
|
||
**[2]:** A chassis is used to describe frame which contains servers together inside of a rack unit of a server rack. Typically used to take advantage of shared power supplies. | ||
|
||
**[3]:** This is a grouping of many servers typically several racks of servers. | ||
|
||
**[4]:** A tower frame which hold many servers and chassis. [Rack Unit](https://en.wikipedia.org/wiki/Rack_unit) | ||
|
||
**[5]:** The name of the physical building. | ||
|
||
**[6]:** Typically the room in the building where the server cages are located. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# Datacenters | ||
|
||
In case of datacenter operations users might need a way of describing the physical layout of where | ||
processes are running. | ||
|
||
<!-- semconv dc --> | ||
<!-- NOTE: THIS TEXT IS AUTOGENERATED. DO NOT EDIT BY HAND. --> | ||
<!-- see templates/registry/markdown/snippet.md.j2 --> | ||
<!-- prettier-ignore-start --> | ||
<!-- markdownlint-capture --> | ||
<!-- markdownlint-disable --> | ||
|
||
|
||
**Status:** ![Experimental](https://img.shields.io/badge/-experimental-blue) | ||
|
||
**type:** `dc` | ||
|
||
**Description:** Generic DataCenter infrastructure tagging. | ||
|
||
| Attribute | Type | Description | Examples | [Requirement Level](https://opentelemetry.io/docs/specs/semconv/general/attribute-requirement-level/) | Stability | | ||
|---|---|---|---|---|---| | ||
| [`cloud.provider`](/docs/attributes-registry/cloud.md) | string | Name of the cloud provider. | `alibaba_cloud`; `aws`; `azure` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| [`dc.cage`](/docs/attributes-registry/dc.md) | string | Name of the cage [1] | `cage-1` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
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. Should these be conditionally recommended based on availability? E.g. do cloud providers give you this data? |
||
| [`dc.name`](/docs/attributes-registry/dc.md) | string | Name of datacenter. | `dc-name` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
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. How do you get this information on a cloud? is it correlated with |
||
| [`dc.pod`](/docs/attributes-registry/dc.md) | string | Name of the pod [2] | `pod-4` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| [`dc.provider.type`](/docs/attributes-registry/dc.md) | string | Type of datacenter | `cloud`; `colocation`; `internal` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| [`dc.rack`](/docs/attributes-registry/dc.md) | string | Name of the rack. [3] | `rack-7` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| [`dc.site`](/docs/attributes-registry/dc.md) | string | Name of the datacenter site [4] | `site-1` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| [`dc.suite`](/docs/attributes-registry/dc.md) | string | Name of the datacenter suite [5] | `suite-5` | `Recommended` | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
|
||
**[1]:** This is a literal cage which is used to protect servers from potential intruders. | ||
|
||
**[2]:** This is a grouping of many servers typically several racks of servers. | ||
|
||
**[3]:** A tower frame which hold many servers and chassis. [Rack Unit](https://en.wikipedia.org/wiki/Rack_unit) | ||
|
||
**[4]:** The name of the physical building. | ||
|
||
**[5]:** Typically the room in the building where the server cages are located. | ||
|
||
|
||
|
||
`cloud.provider` has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used. | ||
|
||
| Value | Description | Stability | | ||
|---|---|---| | ||
| `alibaba_cloud` | Alibaba Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `aws` | Amazon Web Services | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `azure` | Microsoft Azure | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `gcp` | Google Cloud Platform | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `heroku` | Heroku Platform as a Service | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `ibm_cloud` | IBM Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
| `tencent_cloud` | Tencent Cloud | ![Experimental](https://img.shields.io/badge/-experimental-blue) | | ||
|
||
|
||
|
||
<!-- markdownlint-restore --> | ||
<!-- prettier-ignore-end --> | ||
<!-- END AUTOGENERATED TEXT --> | ||
<!-- endsemconv --> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
groups: | ||
- id: registry.dc | ||
type: attribute_group | ||
display_name: Datacenter Attributes | ||
brief: > | ||
Generic DataCenter infrastructure tagging. | ||
attributes: | ||
- id: dc.name | ||
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. it may be better to spell this out, check out the attribute name abbreviation guidelines |
||
type: string | ||
stability: experimental | ||
brief: 'Name of datacenter.' | ||
examples: ['dc-name'] | ||
- id: dc.provider.type | ||
type: string | ||
stability: experimental | ||
brief: 'Type of datacenter' | ||
examples: ['cloud', 'colocation', 'internal'] | ||
- id: dc.device.type | ||
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. we already have a few attributes that can describe a device id/name #1474 - is there some we can reuse instead of adding a new one? 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 could see a scenario where you might need both a device ID and a hw component id in a parent child relationship. Maybe a server with a network card which you're measuring tx/rx. |
||
type: string | ||
stability: experimental | ||
brief: 'Type of device used.' | ||
examples: ['server', 'chassis', 'network', 'pdu', 'switch', 'patch-panel'] | ||
- id: dc.site | ||
type: string | ||
stability: experimental | ||
brief: 'Name of the datacenter site' | ||
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. Can you outline more what this means and how to generate this field? Can I discover these from within a datacenter or do I need to look it up? |
||
note: > | ||
The name of the physical building. | ||
examples: ['site-1'] | ||
- id: dc.suite | ||
type: string | ||
stability: experimental | ||
brief: 'Name of the datacenter suite' | ||
note: > | ||
Typically the room in the building where the server cages are located. | ||
examples: ['suite-5'] | ||
Comment on lines
+23
to
+36
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 is a good case to reuse future I'd postpone adding those two since physical address is not a datacenter-specific thing and we need to be able to express it in a generic way. 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 is not necessarily related to geolocation it's relative to the building it's in. |
||
- id: dc.cage | ||
type: string | ||
stability: experimental | ||
brief: 'Name of the cage' | ||
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. Is this a standard property described somewhere we can link to? Also, let's add an additional layer saying what it is. E.g. 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 can multiply it. I could see people using one, either , both. |
||
note: > | ||
This is a literal cage which is used to protect servers from potential intruders. | ||
examples: ['cage-1'] | ||
- id: dc.pod | ||
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. same as for the cage - please link some external documentation and also update the name to be more specific ( |
||
type: string | ||
stability: experimental | ||
brief: 'Name of the pod' | ||
note: > | ||
This is a grouping of many servers typically several racks of servers. | ||
examples: ['pod-4'] | ||
- id: dc.chassis | ||
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. same here, please link docs and provide specific property in the name |
||
type: string | ||
stability: experimental | ||
brief: 'Name of the chassis the server lives in.' | ||
note: > | ||
A chassis is used to describe frame which contains servers together inside of a rack unit | ||
of a server rack. Typically used to take advantage of shared power supplies. | ||
examples: ['pod-4'] | ||
- id: dc.rack | ||
type: string | ||
stability: experimental | ||
brief: 'Name of the rack.' | ||
note: > | ||
A tower frame which hold many servers and chassis. [Rack Unit](https://en.wikipedia.org/wiki/Rack_unit) | ||
examples: ['rack-7'] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
groups: | ||
- id: dc | ||
type: resource | ||
name: dc | ||
brief: > | ||
Generic DataCenter infrastructure tagging. | ||
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 think we should call out that it's intended for the telemetry that describes datacenters themselves (and not the user code running somewhere that data center) 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. Until we sort out Entity / Resource fully - I think you should be really explicit who looks up this data and reports it. Is this something you want an SDK to fill out? This feels like something that belongs in an entity side-channel signal... cc @tigrannajaryan (and rest of Entities SiG) for thoughts |
||
attributes: | ||
- ref: dc.name | ||
requirement_level: recommended | ||
- ref: cloud.provider | ||
- ref: dc.provider.type | ||
- ref: dc.suite | ||
- ref: dc.site | ||
- ref: dc.cage | ||
- ref: dc.pod | ||
- ref: dc.rack |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,6 +14,7 @@ acronyms: | |
- CLR | ||
- CPU | ||
- CSI | ||
- DC | ||
- DynamoDB | ||
- ECS | ||
- EKS | ||
|
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.
Not sure it is a good idea to use the abbreviation here. I'd be more inclined to go with "Data Center" instead.