Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add service.id to service key; remove instances
`service.id` uniquely identifies a cluster or deployment of a service; all nodes of the service are expected to share the same `service.id`. This is added to the service key. For now, we set `service.id` as a hash of global labels. - We will not perform this `service.id` calculation for RUM, as RUM global labels have historically had high cardinality. - In the long run we should stop doing that, and require users to specify a value explicitly, if they wish to isolate time series for two service clusters/deployments. Instead of including global labels in the aggregation key, we now add them to the service metrics struct. When merging metrics, we merge the labels. We assume there will be a negligible chance of hash collisions in the `service.id` calculation, so the only time this should occur is for RUM. To protect against high- cardinality labels, we place a limit on the number of label keys and values that may be merged.
- Loading branch information