opentelemetry-specification
opentelemetry-specification copied to clipboard
Add Geo fields from Elastic Common Schema
What are you trying to achieve?
Some observability use cases require localization of resources. Examples are:
- Observability of mobile devices: Geographically localizing the mobile devices provides valuable insights into how mobile apps perform depending on their location.
- For applications that are geographically distributed across multiple regions and data centers, the geo location can provide useful insights as well.
Having an additional geo
namespace on the resource attributes serves use cases as outlined above and allows to filter and group data by geo locations.
As part of the OTEP to support the Elastic Common Schema (ECS), we propose to start with adopting the rich set of the ECS geo fields as a new namespace in the resource attributes.
Additional context.
This is related to this OTEP: https://github.com/open-telemetry/oteps/pull/199
See attached Draft PR for detailed proposal / context: https://github.com/open-telemetry/opentelemetry-specification/pull/2835
- For mobile devices, the geo attributes will be changing as the user moves around and they cannot be updated on the
Resource
currently. This PR will have to wait until https://github.com/open-telemetry/oteps/pull/208 is resolved or there's another mechanism introduced that allows changing attributes on a Resource. - For apps running in data centers, I believe the customers will have to run a Geo mapping service to map the IP to the geo coordinates. If for some reason this service is unavailable, there should be a way to pass the original source IP in the
Resource
so that the telemetry backends can use that for the geo mapping. Can you include support for that in this PR or add a reference to it if it's already there?
Please hold until OTEP to merge.