Skip to content
This repository was archived by the owner on Jun 13, 2025. It is now read-only.

Commit e9ef0b4

Browse files
committed
reports: replace Sentry metrics with Prometheus metrics
1 parent 3f86b59 commit e9ef0b4

File tree

2 files changed

+22
-26
lines changed

2 files changed

+22
-26
lines changed

upload/tests/views/test_reports.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def test_reports_get_not_allowed(client, mocker, db):
4141

4242
def test_reports_post(client, db, mocker):
4343
mocked_call = mocker.patch.object(TaskService, "preprocess_upload")
44-
mock_sentry_metrics = mocker.patch("upload.views.reports.sentry_metrics.incr")
44+
mock_metrics = mocker.patch("upload.metrics.API_UPLOAD_COUNTER.labels")
4545
repository = RepositoryFactory(
4646
name="the_repo", author__username="codecov", author__service="github"
4747
)
@@ -65,16 +65,16 @@ def test_reports_post(client, db, mocker):
6565
commit_id=commit.id, code="code1", report_type=CommitReport.ReportType.COVERAGE
6666
).exists()
6767
mocked_call.assert_called_with(repository.repoid, commit.commitid, "code1")
68-
mock_sentry_metrics.assert_called_with(
69-
"upload",
70-
tags={
68+
mock_metrics.assert_called_with(
69+
**{
7170
"agent": "cli",
7271
"version": "0.4.7",
7372
"action": "coverage",
7473
"endpoint": "create_report",
7574
"repo_visibility": "private",
7675
"is_using_shelter": "no",
7776
"position": "end",
77+
"upload_version": None,
7878
},
7979
)
8080

@@ -343,7 +343,7 @@ def test_reports_results_post_successful_github_oidc_auth(
343343
mock_jwks_client, mock_jwt_decode, client, db, mocker
344344
):
345345
mocked_task = mocker.patch("services.task.TaskService.create_report_results")
346-
mock_sentry_metrics = mocker.patch("upload.views.reports.sentry_metrics.incr")
346+
mock_prometheus_metrics = mocker.patch("upload.metrics.API_UPLOAD_COUNTER.labels")
347347
mocker.patch.object(
348348
CanDoCoverageUploadsPermission, "has_permission", return_value=True
349349
)
@@ -383,16 +383,16 @@ def test_reports_results_post_successful_github_oidc_auth(
383383
report_id=commit_report.id,
384384
).exists()
385385
mocked_task.assert_called_once()
386-
mock_sentry_metrics.assert_called_with(
387-
"upload",
388-
tags={
386+
mock_prometheus_metrics.assert_called_with(
387+
**{
389388
"agent": "cli",
390389
"version": "0.4.7",
391390
"action": "coverage",
392391
"endpoint": "create_report_results",
393392
"repo_visibility": "private",
394393
"is_using_shelter": "no",
395394
"position": "end",
395+
"upload_version": None,
396396
},
397397
)
398398

upload/views/reports.py

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from django.http import HttpRequest, HttpResponseNotAllowed
44
from rest_framework.exceptions import ValidationError
55
from rest_framework.generics import CreateAPIView, ListCreateAPIView, RetrieveAPIView
6-
from sentry_sdk import metrics as sentry_metrics
76

87
from codecov_auth.authentication.repo_auth import (
98
GitHubOIDCTokenAuthentication,
@@ -16,7 +15,8 @@
1615
)
1716
from reports.models import CommitReport, ReportResults
1817
from services.task import TaskService
19-
from upload.helpers import generate_upload_sentry_metrics_tags
18+
from upload.helpers import generate_upload_prometheus_metrics_tags
19+
from upload.metrics import API_UPLOAD_COUNTER
2020
from upload.serializers import CommitReportSerializer, ReportResultsSerializer
2121
from upload.views.base import GetterMixin
2222
from upload.views.uploads import CanDoCoverageUploadsPermission
@@ -40,16 +40,15 @@ def get_exception_handler(self):
4040
return repo_auth_custom_exception_handler
4141

4242
def perform_create(self, serializer):
43-
sentry_metrics.incr(
44-
"upload",
45-
tags=generate_upload_sentry_metrics_tags(
43+
API_UPLOAD_COUNTER.labels(
44+
**generate_upload_prometheus_metrics_tags(
4645
action="coverage",
4746
endpoint="create_report",
4847
request=self.request,
4948
is_shelter_request=self.is_shelter_request(),
5049
position="start",
5150
),
52-
)
51+
).inc()
5352
repository = self.get_repo()
5453
commit = self.get_commit(repository)
5554
log.info(
@@ -68,17 +67,16 @@ def perform_create(self, serializer):
6867
repository.repoid, commit.commitid, instance.code
6968
)
7069

71-
sentry_metrics.incr(
72-
"upload",
73-
tags=generate_upload_sentry_metrics_tags(
70+
API_UPLOAD_COUNTER.labels(
71+
**generate_upload_prometheus_metrics_tags(
7472
action="coverage",
7573
endpoint="create_report",
7674
request=self.request,
7775
repository=repository,
7876
is_shelter_request=self.is_shelter_request(),
7977
position="end",
8078
),
81-
)
79+
).inc()
8280
return instance
8381

8482
def list(self, request: HttpRequest, service: str, repo: str, commit_sha: str):
@@ -105,16 +103,15 @@ def get_exception_handler(self):
105103
return repo_auth_custom_exception_handler
106104

107105
def perform_create(self, serializer):
108-
sentry_metrics.incr(
109-
"upload",
110-
tags=generate_upload_sentry_metrics_tags(
106+
API_UPLOAD_COUNTER.labels(
107+
**generate_upload_prometheus_metrics_tags(
111108
action="coverage",
112109
endpoint="create_report_results",
113110
request=self.request,
114111
is_shelter_request=self.is_shelter_request(),
115112
position="start",
116113
),
117-
)
114+
).inc()
118115
repository = self.get_repo()
119116
commit = self.get_commit(repository)
120117
report = self.get_report(commit)
@@ -131,17 +128,16 @@ def perform_create(self, serializer):
131128
repoid=repository.repoid,
132129
report_code=report.code,
133130
)
134-
sentry_metrics.incr(
135-
"upload",
136-
tags=generate_upload_sentry_metrics_tags(
131+
API_UPLOAD_COUNTER.labels(
132+
**generate_upload_prometheus_metrics_tags(
137133
action="coverage",
138134
endpoint="create_report_results",
139135
request=self.request,
140136
repository=repository,
141137
is_shelter_request=self.is_shelter_request(),
142138
position="end",
143139
),
144-
)
140+
).incr()
145141
return instance
146142

147143
def get_object(self):

0 commit comments

Comments
 (0)