|
@@ -2,13 +2,14 @@ from __future__ import annotations
|
|
|
|
|
|
import logging
|
|
import logging
|
|
from datetime import timedelta
|
|
from datetime import timedelta
|
|
-from typing import TYPE_CHECKING, Any, MutableMapping, Optional, Sequence
|
|
|
|
|
|
+from typing import TYPE_CHECKING, Any, Mapping, Optional, Sequence
|
|
|
|
|
|
import sentry_sdk
|
|
import sentry_sdk
|
|
from django.utils import timezone
|
|
from django.utils import timezone
|
|
|
|
|
|
from sentry import features
|
|
from sentry import features
|
|
from sentry.models.environment import Environment
|
|
from sentry.models.environment import Environment
|
|
|
|
+from sentry.services.hybrid_cloud.organization import organization_service
|
|
from sentry.snuba.dataset import Dataset, EntityKey
|
|
from sentry.snuba.dataset import Dataset, EntityKey
|
|
from sentry.snuba.entity_subscription import (
|
|
from sentry.snuba.entity_subscription import (
|
|
BaseEntitySubscription,
|
|
BaseEntitySubscription,
|
|
@@ -196,16 +197,19 @@ def build_query_builder(
|
|
query: str,
|
|
query: str,
|
|
project_ids: Sequence[int],
|
|
project_ids: Sequence[int],
|
|
environment: Optional[Environment],
|
|
environment: Optional[Environment],
|
|
- params: Optional[MutableMapping[str, Any]] = None,
|
|
|
|
|
|
+ params: Optional[Mapping[str, Any]] = None,
|
|
) -> QueryBuilder:
|
|
) -> QueryBuilder:
|
|
return entity_subscription.build_query_builder(query, project_ids, environment, params)
|
|
return entity_subscription.build_query_builder(query, project_ids, environment, params)
|
|
|
|
|
|
|
|
|
|
def _create_in_snuba(subscription: QuerySubscription) -> str:
|
|
def _create_in_snuba(subscription: QuerySubscription) -> str:
|
|
with sentry_sdk.start_span(op="snuba.tasks", description="create_in_snuba") as span:
|
|
with sentry_sdk.start_span(op="snuba.tasks", description="create_in_snuba") as span:
|
|
|
|
+ organization_context = organization_service.get_organization_by_id(
|
|
|
|
+ id=subscription.project.organization_id
|
|
|
|
+ )
|
|
span.set_tag(
|
|
span.set_tag(
|
|
"uses_metrics_layer",
|
|
"uses_metrics_layer",
|
|
- features.has("organizations:use-metrics-layer", subscription.project.organization),
|
|
|
|
|
|
+ features.has("organizations:use-metrics-layer", organization_context.organization),
|
|
)
|
|
)
|
|
span.set_tag("dataset", subscription.snuba_query.dataset)
|
|
span.set_tag("dataset", subscription.snuba_query.dataset)
|
|
|
|
|