SetupOTelSDK now adds service.instance.id (the pod hostname) to
OTEL_RESOURCE_ATTRIBUTES. The OTLP->Prometheus exporter maps it to the
`instance` label on both metrics and target_info, which (1) stops
multi-replica services from colliding on a single series and (2) gives
PromQL joins a unique (job, instance) key. Falls back to the service name
when the hostname is unavailable.
Updates the SetupOTelSDK function to include an environment
parameter. This change ensures that the OpenTelemetry setup
now captures and sets the service environment along with
the service name and version. It enhances observability
by providing more context about the application's
deployment environment.