Skip to content

Commit e9db1f4

Browse files
Add http_status_code tag to http metrics (#23731)
* Add an http_status_code tag to metrics * Add test to check for new status code on tags * Removing http_status_code tag from ssl metrics * Applying lint * Add changelog
1 parent 5ee80d2 commit e9db1f4

3 files changed

Lines changed: 12 additions & 3 deletions

File tree

http_check/changelog.d/23731.added

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add http_status_code tag to http metrics.

http_check/datadog_checks/http_check/http_check.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,9 @@ def send_status_down(loginfo, down_msg):
183183
raise
184184

185185
else:
186+
if r is not None:
187+
http_status = r.status_code
188+
tags_list.append("http_status_code:{}".format(http_status))
186189
if use_cert_from_response:
187190
peer_cert = r.raw.connection.sock.getpeercert(binary_form=True)
188191

http_check/tests/test_http_integration.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -430,11 +430,16 @@ def test_data_methods(aggregator, http_check):
430430

431431
url_tag = ['url:{}'.format(instance.get('url'))]
432432
instance_tag = ['instance:{}'.format(instance.get('name'))]
433+
http_status_tag = ['http_status_code:{}'.format('200')]
433434

434435
aggregator.assert_service_check(HTTPCheck.SC_STATUS, status=AgentCheck.OK, tags=url_tag + instance_tag, count=1)
435-
aggregator.assert_metric('network.http.can_connect', tags=url_tag + instance_tag, value=1.0, count=1)
436-
aggregator.assert_metric('network.http.cant_connect', tags=url_tag + instance_tag, value=0.0, count=1)
437-
aggregator.assert_metric('network.http.response_time', tags=url_tag + instance_tag, count=1)
436+
aggregator.assert_metric(
437+
'network.http.can_connect', tags=url_tag + instance_tag + http_status_tag, value=1.0, count=1
438+
)
439+
aggregator.assert_metric(
440+
'network.http.cant_connect', tags=url_tag + instance_tag + http_status_tag, value=0.0, count=1
441+
)
442+
aggregator.assert_metric('network.http.response_time', tags=url_tag + instance_tag + http_status_tag, count=1)
438443

439444
# Assert coverage for this check on this instance
440445
aggregator.assert_all_metrics_covered()

0 commit comments

Comments
 (0)