Skip to content

Commit

Permalink
ref(metrics): move eap meta from API to sentry_metrics (#76536)
Browse files Browse the repository at this point in the history
  • Loading branch information
shellmayr committed Aug 28, 2024
1 parent d03b61d commit 5188540
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 22 deletions.
25 changes: 3 additions & 22 deletions src/sentry/api/endpoints/organization_metrics_details.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
from rest_framework.request import Request
from rest_framework.response import Response

from sentry import features
from sentry.api.api_owners import ApiOwner
from sentry.api.api_publish_status import ApiPublishStatus
from sentry.api.base import region_silo_endpoint
from sentry.api.bases import OrganizationAndStaffPermission, OrganizationEndpoint
from sentry.models.organization import Organization
from sentry.sentry_metrics.querying.eap.metrics_details import get_eap_meta
from sentry.sentry_metrics.querying.metadata import get_metrics_meta
from sentry.sentry_metrics.use_case_utils import get_use_case_ids
from sentry.snuba.metrics.utils import MetricMeta


@region_silo_endpoint
Expand All @@ -28,26 +27,8 @@ def get(self, request: Request, organization: Organization) -> Response:
return Response(
{"detail": "You must supply at least one project to see its metrics"}, status=404
)

eap_spans_project_ids = [
project.id
for project in projects
if features.has("projects:use-eap-spans-for-metrics-explorer", project)
]
metrics: list[MetricMeta] = []
if len(eap_spans_project_ids) > 0:
metrics.append(
MetricMeta(
name="eap.measurement",
type="distribution",
unit=None,
operations=["sum", "avg", "p50", "p95", "p99", "count"],
projectIds=eap_spans_project_ids,
mri="d:eap/eap.measurement@none",
blockingStatus=[],
)
)

metrics = []
metrics += get_eap_meta(projects)
metrics += get_metrics_meta(
organization=organization, projects=projects, use_case_ids=get_use_case_ids(request)
)
Expand Down
25 changes: 25 additions & 0 deletions src/sentry/sentry_metrics/querying/eap/metrics_details.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from sentry import features
from sentry.models.project import Project
from sentry.snuba.metrics.utils import MetricMeta


def get_eap_meta(projects: list[Project]) -> list[MetricMeta]:
eap_spans_project_ids = [
project.id
for project in projects
if features.has("projects:use-eap-spans-for-metrics-explorer", project)
]
metrics: list[MetricMeta] = []
if len(eap_spans_project_ids) > 0:
metrics.append(
MetricMeta(
name="eap.measurement",
type="distribution",
unit=None,
operations=["sum", "avg", "p50", "p95", "p99", "count"],
projectIds=eap_spans_project_ids,
mri="d:eap/eap.measurement@none",
blockingStatus=[],
)
)
return metrics

0 comments on commit 5188540

Please sign in to comment.