Skip to content

Commit

Permalink
Add traffic server url tag (#11862)
Browse files Browse the repository at this point in the history
  • Loading branch information
sarah-witt committed Apr 20, 2022
1 parent 4590045 commit c0845a4
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
3 changes: 2 additions & 1 deletion traffic_server/assets/service_checks.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"integration": "Traffic Server",
"groups": [
"host",
"instance"
"instance",
"traffic_server_url"
],
"check": "traffic_server.can_connect",
"statuses": [
Expand Down
5 changes: 3 additions & 2 deletions traffic_server/datadog_checks/traffic_server/check.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@ def __init__(self, name, init_config, instances):
super(TrafficServerCheck, self).__init__(name, init_config, instances)

self.traffic_server_url = self.instance.get("traffic_server_url")
self.tags = self.instance.get("tags", [])

if self.traffic_server_url is None:
raise ConfigurationError('Must specify a traffic_server_url')

self.tags = self.instance.get("tags", [])
self.tags.append("traffic_server_url:{}".format(self.traffic_server_url))

def check(self, _):
# type: (Any) -> None
hostname_tag = []
Expand Down
5 changes: 3 additions & 2 deletions traffic_server/tests/test_traffic_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ def test_check(aggregator, instance, dd_run_check):
)
for tag in traffic_server_tags:
aggregator.assert_metric_has_tag(metric_name, tag)
aggregator.assert_service_check('traffic_server.can_connect', TrafficServerCheck.OK)
aggregator.assert_service_check('traffic_server.can_connect', TrafficServerCheck.OK, tags=traffic_server_tags)
aggregator.assert_all_metrics_covered()

aggregator.assert_metrics_using_metadata(get_metadata_metrics())
Expand All @@ -39,13 +39,14 @@ def test_check_cant_reach_url(aggregator, instance_bad_url, dd_run_check):
# type: (AggregatorStub, Callable[[AgentCheck, bool], None], Dict[str, Any]) -> None

check = TrafficServerCheck('traffic_server', {}, [instance_bad_url])
traffic_server_tags = instance_bad_url.get('tags')

with pytest.raises(
Exception, match='404 Client Error: Not Found on Accelerator for url: http://localhost:8080/_statss'
):
dd_run_check(check)

aggregator.assert_service_check('traffic_server.can_connect', TrafficServerCheck.CRITICAL)
aggregator.assert_service_check('traffic_server.can_connect', TrafficServerCheck.CRITICAL, tags=traffic_server_tags)
aggregator.assert_all_metrics_covered()


Expand Down

0 comments on commit c0845a4

Please sign in to comment.