Skip to content
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 geo fields into attribute registry #1116

Merged
merged 15 commits into from
Nov 19, 2024
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.
gregkalapos marked this conversation as resolved.
Show resolved Hide resolved
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' ]
Loading