Skip to content

Commit

Permalink
Add geo fields into attribute registry (open-telemetry#1116)
Browse files Browse the repository at this point in the history
Co-authored-by: Liudmila Molkova <[email protected]>
  • Loading branch information
gregkalapos and lmolkova authored Nov 19, 2024
1 parent 25e0bae commit c5093dd
Show file tree
Hide file tree
Showing 7 changed files with 138 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .chloggen/geo_fields.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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: geo

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Add geo fields to attribute registry.

# 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: [1033]

# (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:
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ body:
- area:file
- area:gcp
- area:gen-ai
- area:geo
- area:go
- area:graphql
- area:hardware
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/change_proposal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ body:
- area:file
- area:gcp
- area:gen-ai
- area:geo
- area:go
- area:graphql
- area:hardware
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/new-conventions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ body:
- area:file
- area:gcp
- area:gen-ai
- area:geo
- area:go
- area:graphql
- area:hardware
Expand Down
1 change: 1 addition & 0 deletions docs/attributes-registry/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ Currently, the following namespaces exist:
- [File](file.md)
- [GCP](gcp.md)
- [Gen AI](gen-ai.md)
- [Geo](geo.md)
- [Go](go.md)
- [GraphQL](graphql.md)
- [Hardware](hardware.md)
Expand Down
34 changes: 34 additions & 0 deletions docs/attributes-registry/geo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<!--- 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 -->

# Geo

## Geo Attributes

Geo fields can carry data about a specific location related to an event. This geolocation information can be derived from techniques such as Geo IP, or be user-supplied.
Note: Geo attributes are typically used under another namespace, such as client.* and describe the location of the corresponding entity (device, end-user, etc). Semantic conventions that reference geo attributes (as a root namespace) or embed them (under their own namespace) SHOULD document what geo attributes describe in the scope of that convention.

| Attribute | Type | Description | Examples | Stability |
|---|---|---|---|---|
| <a id="geo-continent-code" href="#geo-continent-code">`geo.continent.code`</a> | string | Two-letter code representing continent’s name. | `AF`; `AN`; `AS` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| <a id="geo-country-iso-code" href="#geo-country-iso-code">`geo.country.iso_code`</a> | string | Two-letter ISO Country Code ([ISO 3166-1 alpha2](https://en.wikipedia.org/wiki/ISO_3166-1#Codes)). | `CA` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| <a id="geo-locality-name" href="#geo-locality-name">`geo.locality.name`</a> | string | Locality name. Represents the name of a city, town, village, or similar populated place. | `Montreal`; `Berlin` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| <a id="geo-location-lat" href="#geo-location-lat">`geo.location.lat`</a> | double | Latitude of the geo location in [WGS84](https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84). | `45.505918` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| <a id="geo-location-lon" href="#geo-location-lon">`geo.location.lon`</a> | double | Longitude of the geo location in [WGS84](https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84). | `-73.61483` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| <a id="geo-postal-code" href="#geo-postal-code">`geo.postal_code`</a> | string | Postal code associated with the location. Values appropriate for this field may also be known as a postcode or ZIP code and will vary widely from country to country. | `94040` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| <a id="geo-region-iso-code" href="#geo-region-iso-code">`geo.region.iso_code`</a> | string | Region ISO code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). | `CA-QC` | ![Experimental](https://img.shields.io/badge/-experimental-blue) |

`geo.continent.code` 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 |
|---|---|---|
| `AF` | Africa | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `AN` | Antarctica | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `AS` | Asia | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `EU` | Europe | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `NA` | North America | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `OC` | Oceania | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
| `SA` | South America | ![Experimental](https://img.shields.io/badge/-experimental-blue) |
83 changes: 83 additions & 0 deletions model/geo/registry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
groups:
- id: registry.geo
type: attribute_group
brief: >
Geo fields can carry data about a specific location related to an event.
This geolocation information can be derived from techniques such as Geo IP, or be user-supplied.
Note: Geo attributes are typically used under another namespace, such as client.* and describe the location of the corresponding
entity (device, end-user, etc). Semantic conventions that reference geo attributes (as a root namespace) or embed them
(under their own namespace) SHOULD document what geo attributes describe in the scope of that convention.
attributes:
- id: geo.locality.name
stability: experimental
type: string
brief: >
Locality name. Represents the name of a city, town, village, or similar populated place.
examples: [ 'Montreal', 'Berlin' ]
- id: geo.continent.code
stability: experimental
brief: >
Two-letter code representing continent’s name.
type:
members:
- id: 'af'
stability: experimental
value: 'AF'
brief: 'Africa'
- id: 'an'
stability: experimental
value: 'AN'
brief: 'Antarctica'
- id: 'as'
stability: experimental
value: 'AS'
brief: 'Asia'
- id: 'eu'
stability: experimental
value: 'EU'
brief: 'Europe'
- id: 'na'
stability: experimental
value: 'NA'
brief: 'North America'
- id: 'oc'
stability: experimental
value: 'OC'
brief: 'Oceania'
- id: 'sa'
stability: experimental
value: 'SA'
brief: 'South America'
- id: geo.country.iso_code
stability: experimental
type: string
brief: >
Two-letter ISO Country Code ([ISO 3166-1 alpha2](https://en.wikipedia.org/wiki/ISO_3166-1#Codes)).
examples: [ 'CA' ]
- id: geo.location.lon
stability: experimental
type: double
brief: >
Longitude of the geo location in [WGS84](https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84).
examples: [ -73.614830 ]
- id: geo.location.lat
stability: experimental
type: double
brief: >
Latitude of the geo location in [WGS84](https://en.wikipedia.org/wiki/World_Geodetic_System#WGS84).
examples: [ 45.505918 ]
- id: geo.postal_code
stability: experimental
type: string
brief: >
Postal code associated with the location.
Values appropriate for this field may also be known as a postcode or ZIP code and will vary widely from country to country.
examples: [ '94040' ]
- id: geo.region.iso_code
stability: experimental
type: string
brief: >
Region ISO code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)).
examples: [ 'CA-QC' ]

0 comments on commit c5093dd

Please sign in to comment.