<!-- Describe your changes in detail -->

This PR updates the `opentelemetry` and relevant crates to their latest versions. Namely, the following crates were affected / introduced:

- `opentelemetry`
- `opentelemetry-aws`
- `opentelemetry-otlp`
- `opentelemetry_sdk`
- `tracing-actix-web`
- `tracing-opentelemetry`

The PR includes the following major changes:

- Bumps the aforementioned crates to their latest versions
- Updates our code to setup the metrics and tracing pipelines in the `router_env/src/logger/setup.rs` file. (This is the file which included significant changes.)
- Removes the `metrics_context` macro, since we are no longer required to pass a context when recording readings (incrementing counters, recording gauges or histograms, etc.). 
  - Consequently, the context parameter had to be removed from all places in our code where readings were recorded.
- Removes the `histogram_metric_i64` macro since an `i64` histogram is no longer available after the version bump.

Additionally, the PR includes the following minor changes:

- Updates the Loki and OpenTelemetry Collector config files to work with their recent Docker images.
- Simplifies the `From` implementations on some ID types used to construct the `opentelemetry::KeyValue` type.
- Introduces a new `metric_attributes!()` macro which allows constructing attributes which can be attached to metrics when recording values. 
  - This aims to discourage the direct construction of the `opentelemetry::KeyValue` type in various places throughout the codebase.
  - This also replaces the usages of the `add_attributes()` function.

## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->

We had been holding this update for quite a while due to the breaking changes and thus the compilation failures. Since some of the OpenTelemetry components are in beta stage, further upgrades should be relatively easier for us.

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->

Locally, spinning up OpenTelemetry Collector, Grafana, Prometheus and Tempo using the Docker Compose setup. Had to ensure that metrics and traces were unaffected after the version bump.

- Counter metrics are working correctly:

  ![Screenshot of database calls counter metric plotted as time series graph](https://github.com/user-attachments/assets/cd167cae-a691-46e5-a3a0-c03d61e5543a)

- Histogram metrics are working correctly, with the same buckets that were being used previously:

  ![Screenshot of request time histogram metric plotted as heatmap](https://github.com/user-attachments/assets/4d043a6f-bc51-40dd-8b9e-75cf901246ac)

- Traces are working correctly:

  ![Screenshot of traces of a payment create call plotted as a waterfall chart](https://github.com/user-attachments/assets/55ca5f5d-a525-4d40-a7c7-9b68b34078ad)

## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
To implement this **payment** feature, you'll need to modify these architectural layers:


**1. Database Layer (Queries & Schema)**
   - `crates/diesel_models/src/lib.rs`
   - `crates/diesel_models/src/query/generics.rs`
   - `crates/drainer/src/query.rs`

**2. Domain Models (Business Logic Types)**
   - `crates/hyperswitch_domain_models/src/type_encryption.rs`

**3. Core Business Logic**
   - `crates/analytics/src/api_event/core.rs`
   - `crates/analytics/src/disputes/core.rs`
   - `crates/analytics/src/frm/core.rs`
   - ... and 35 more files

**4. External Connector Integration**
   - `crates/hyperswitch_connectors/src/connectors/boku.rs`
   - `crates/hyperswitch_connectors/src/metrics.rs`
   - `crates/hyperswitch_connectors/src/utils.rs`
   - ... and 1 more files

**5. Utils**
   - `crates/common_utils/src/id_type/merchant.rs`
   - `crates/common_utils/src/id_type/payment.rs`
   - `crates/common_utils/src/id_type/profile.rs`
   - ... and 6 more files

**6. Configuration Files**
   - `config/loki.yaml`
   - `config/otel-collector.yaml`
   - `crates/router_env/Cargo.toml`

**7. Other**
   - `Cargo.lock`
   - `crates/analytics/src/metrics.rs`
   - `crates/analytics/src/metrics/request.rs`
   - ... and 25 more files

**Code Patterns Applied:**
- Define new data structures (1 changes)
- Implement new functions (5 changes)
- Extend existing types with new fields (14 changes)
- Add conditional logic for feature flags or filtering (2 changes)
- Modify database queries (18 changes)

**Detailed Identifier Changes:**


Commit 47a3d2b2:
Files to modify:


**crates/analytics/src/api_event/core.rs**
  Modify existing code

**crates/analytics/src/disputes/core.rs**
  Modify existing code

**crates/analytics/src/frm/core.rs**
  Modify existing code

**crates/analytics/src/metrics.rs**
  Modify existing code

**crates/analytics/src/metrics/request.rs**
  Modify existing code

**crates/analytics/src/payment_intents/core.rs**
  Modify existing code

**crates/analytics/src/payments/core.rs**
  Modify existing code

**crates/analytics/src/refunds/core.rs**
  Modify existing code

**crates/common_utils/src/id_type/merchant.rs**
  Modify existing code

**crates/common_utils/src/id_type/payment.rs**
  Modify existing code

**crates/common_utils/src/id_type/profile.rs**
  Modify existing code

**crates/common_utils/src/metrics/utils.rs**
  Modify existing code

**crates/diesel_models/src/lib.rs**
  Modify existing code

**crates/diesel_models/src/query/generics.rs**
  Modify existing code

**crates/drainer/src/handler.rs**
  Modify existing code

**crates/drainer/src/logger.rs**
  Modify existing code

**crates/drainer/src/main.rs**
  Modify existing code

**crates/drainer/src/metrics.rs**
  Modify existing code

**crates/drainer/src/query.rs**
  Modify existing code

**crates/drainer/src/stream.rs**
  Modify existing code

**crates/drainer/src/utils.rs**
  Modify existing code

**crates/external_services/src/aws_kms/core.rs**
  Modify existing code

**crates/external_services/src/lib.rs**
  Modify existing code

**crates/hyperswitch_connectors/src/connectors/boku.rs**
  Modify existing code

**crates/hyperswitch_connectors/src/metrics.rs**
  Modify existing code

**crates/hyperswitch_connectors/src/utils.rs**
  Modify existing code

**crates/hyperswitch_domain_models/src/type_encryption.rs**
  Modify existing code

**crates/hyperswitch_interfaces/src/api.rs**
  Modify existing code

**crates/hyperswitch_interfaces/src/connector_integration_v2.rs**
  Modify existing code

**crates/hyperswitch_interfaces/src/metrics.rs**
  Modify existing code

**crates/router/src/core/admin.rs**
  Modify existing code

**crates/router/src/core/api_keys.rs**
  Modify existing code

**crates/router/src/core/customers.rs**
  Modify existing code

**crates/router/src/core/disputes.rs**
  Modify existing code

**crates/router/src/core/mandate.rs**
  Modify existing code

**crates/router/src/core/metrics.rs**
  Modify existing code

**crates/router/src/core/payment_methods/cards.rs**
  Modify existing code

**crates/router/src/core/payment_methods/network_tokenization.rs**
  Modify existing code

**crates/router/src/core/payment_methods/vault.rs**
  Modify existing code

**crates/router/src/core/payments.rs**
  Modify existing code

**crates/router/src/core/payments/access_token.rs**
  Modify existing code

**crates/router/src/core/payments/customers.rs**
  Modify existing code

**crates/router/src/core/payments/flows/authorize_flow.rs**
  Modify existing code

**crates/router/src/core/payments/flows/cancel_flow.rs**
  Modify existing code

**crates/router/src/core/payments/flows/complete_authorize_flow.rs**
  Modify existing code

**crates/router/src/core/payments/flows/session_flow.rs**
  Modify existing code

**crates/router/src/core/payments/helpers.rs**
  Modify existing code

**crates/router/src/core/payments/operations/payment_response.rs**
  Modify existing code

**crates/router/src/core/payments/retry.rs**
  Modify existing code

**crates/router/src/core/payments/tokenization.rs**
  Modify existing code

**crates/router/src/core/payments/transformers.rs**
  Modify existing code

**crates/router/src/core/payouts/access_token.rs**
  Modify existing code

**crates/router/src/core/payouts/helpers.rs**
  Modify existing code

**crates/router/src/core/payouts/retry.rs**
  Modify existing code

**crates/router/src/core/refunds.rs**
  Modify existing code

**crates/router/src/core/routing.rs**
  Modify existing code

**crates/router/src/core/routing/helpers.rs**
  Modify existing code

**crates/router/src/core/utils.rs**
  Modify existing code

**crates/router/src/core/webhooks/incoming.rs**
  Modify existing code

**crates/router/src/core/webhooks/incoming_v2.rs**
  Modify existing code

**crates/router/src/core/webhooks/outgoing.rs**
  Modify existing code

**crates/router/src/routes/health.rs**
  Modify existing code

**crates/router/src/routes/metrics.rs**
  Modify existing code

**crates/router/src/routes/metrics/request.rs**
  Modify existing code

**crates/router/src/services/api.rs**
  Modify existing code

**crates/router/src/services/authentication.rs**
  Modify existing code

**crates/router/src/services/authentication/decision.rs**
  Modify existing code

**crates/router/src/utils.rs**
  Modify existing code

**crates/router/src/utils/db_utils.rs**
  Modify existing code

**crates/router/src/workflows/api_key_expiry.rs**
  Modify existing code

**crates/router_env/src/logger/setup.rs**
  Modify existing code

**crates/router_env/src/metrics.rs**
  Modify existing code

**crates/scheduler/src/consumer.rs**
  Modify existing code

**crates/scheduler/src/db/process_tracker.rs**
  Modify existing code

**crates/scheduler/src/metrics.rs**
  Modify existing code

**crates/scheduler/src/producer.rs**
  Modify existing code

**crates/scheduler/src/utils.rs**
  Modify existing code

**crates/storage_impl/src/lib.rs**
  Modify existing code

**crates/storage_impl/src/metrics.rs**
  Modify existing code

**crates/storage_impl/src/redis/cache.rs**
  Modify existing code

**crates/storage_impl/src/redis/kv_store.rs**
  Modify existing code

**crates/storage_impl/src/utils.rs**
  Modify existing code
{"pr_number": 6774, "pr_title": "build(deps): bump opentelemetry crates to 0.27", "merged_at": "2024-12-10T12:04:14Z", "intent": {"feature_type": "payment", "action": "add_feature", "entities": ["payment", "user"]}, "hierarchy": {"database": ["crates/diesel_models/src/lib.rs", "crates/diesel_models/src/query/generics.rs", "crates/drainer/src/query.rs"], "domain": ["crates/hyperswitch_domain_models/src/type_encryption.rs"], "core_business": ["crates/analytics/src/api_event/core.rs", "crates/analytics/src/disputes/core.rs", "crates/analytics/src/frm/core.rs", "crates/analytics/src/payment_intents/core.rs", "crates/analytics/src/payments/core.rs", "crates/analytics/src/refunds/core.rs", "crates/external_services/src/aws_kms/core.rs", "crates/router/src/core/admin.rs", "crates/router/src/core/api_keys.rs", "crates/router/src/core/customers.rs", "crates/router/src/core/disputes.rs", "crates/router/src/core/mandate.rs", "crates/router/src/core/metrics.rs", "crates/router/src/core/payment_methods/cards.rs", "crates/router/src/core/payment_methods/network_tokenization.rs", "crates/router/src/core/payment_methods/vault.rs", "crates/router/src/core/payments.rs", "crates/router/src/core/payments/access_token.rs", "crates/router/src/core/payments/customers.rs", "crates/router/src/core/payments/flows/authorize_flow.rs", "crates/router/src/core/payments/flows/cancel_flow.rs", "crates/router/src/core/payments/flows/complete_authorize_flow.rs", "crates/router/src/core/payments/flows/session_flow.rs", "crates/router/src/core/payments/helpers.rs", "crates/router/src/core/payments/operations/payment_response.rs", "crates/router/src/core/payments/retry.rs", "crates/router/src/core/payments/tokenization.rs", "crates/router/src/core/payments/transformers.rs", "crates/router/src/core/payouts/access_token.rs", "crates/router/src/core/payouts/helpers.rs", "crates/router/src/core/payouts/retry.rs", "crates/router/src/core/refunds.rs", "crates/router/src/core/routing.rs", "crates/router/src/core/routing/helpers.rs", "crates/router/src/core/utils.rs", "crates/router/src/core/webhooks/incoming.rs", "crates/router/src/core/webhooks/incoming_v2.rs", "crates/router/src/core/webhooks/outgoing.rs"], "connectors": ["crates/hyperswitch_connectors/src/connectors/boku.rs", "crates/hyperswitch_connectors/src/metrics.rs", "crates/hyperswitch_connectors/src/utils.rs", "crates/hyperswitch_interfaces/src/connector_integration_v2.rs"], "utils": ["crates/common_utils/src/id_type/merchant.rs", "crates/common_utils/src/id_type/payment.rs", "crates/common_utils/src/id_type/profile.rs", "crates/common_utils/src/metrics/utils.rs", "crates/drainer/src/utils.rs", "crates/router/src/utils.rs", "crates/router/src/utils/db_utils.rs", "crates/scheduler/src/utils.rs", "crates/storage_impl/src/utils.rs"], "config": ["config/loki.yaml", "config/otel-collector.yaml", "crates/router_env/Cargo.toml"], "other": ["Cargo.lock", "crates/analytics/src/metrics.rs", "crates/analytics/src/metrics/request.rs", "crates/drainer/src/handler.rs", "crates/drainer/src/logger.rs", "crates/drainer/src/main.rs", "crates/drainer/src/metrics.rs", "crates/drainer/src/stream.rs", "crates/external_services/src/lib.rs", "crates/hyperswitch_interfaces/src/api.rs", "crates/hyperswitch_interfaces/src/metrics.rs", "crates/router/src/routes/health.rs", "crates/router/src/routes/metrics.rs", "crates/router/src/routes/metrics/request.rs", "crates/router/src/services/api.rs", "crates/router/src/services/authentication.rs", "crates/router/src/services/authentication/decision.rs", "crates/router/src/workflows/api_key_expiry.rs", "crates/router_env/src/logger/setup.rs", "crates/router_env/src/metrics.rs", "crates/scheduler/src/consumer.rs", "crates/scheduler/src/db/process_tracker.rs", "crates/scheduler/src/metrics.rs", "crates/scheduler/src/producer.rs", "crates/storage_impl/src/lib.rs", "crates/storage_impl/src/metrics.rs", "crates/storage_impl/src/redis/cache.rs", "crates/storage_impl/src/redis/kv_store.rs"]}, "change_types": {"structs_added": 1, "functions_added": 5, "fields_added": 14, "imports_added": 38, "conditionals_added": 2, "database_queries": 18}, "has_identifier_data": true, "commits_matched": 1, "match_method": "pr_number"}