def test_retry_invalid_metric(): with pytest.raises(UnknownMetric): parse_metric( "cluster.ms-catalog-category-appli.default.eu-west-3-stg.internal" ".ba3374ca-fb2a-3f3e-9ea6-79e021188673.consul.http2.dropped_headers_with_underscores", retry=True, )
def test_runtime(self): metric = 'runtime.num_keys' tags = [tag for tags in METRICS[metric]['tags'] for tag in tags] assert parse_metric(metric) == ( METRIC_PREFIX + metric, list(tags), METRICS[metric]['method'] )
def test_http2(self): metric = 'http2.rx_reset' tags = [tag for tags in METRICS[metric]['tags'] for tag in tags] assert parse_metric(metric) == ( METRIC_PREFIX + metric, list(tags), METRICS[metric]['method'] )
def test_cluster_manager(self): metric = 'cluster_manager.cluster_added' tags = [tag for tags in METRICS[metric]['tags'] for tag in tags] assert parse_metric(metric) == ( METRIC_PREFIX + metric, list(tags), METRICS[metric]['method'] )
def test_redis_splitter(self): metric = 'redis{}.splitter.invalid_request' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_redis(self): metric = 'redis{}.downstream_rq_total' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_network_rate_limit(self): metric = 'ratelimit{}.total' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_tls(self): metric = 'auth.clientssl{}.update_success' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_mongo(self): metric = 'mongo{}.op_insert' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_http_router_filter(self): metric = 'http{}.rq_total' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_cluster_load_balancer_subsets(self): metric = 'cluster{}.lb_subsets_active' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_http_rate_limit(self): metric = 'cluster{}.ratelimit.ok' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_route_target_cluster' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_cluster(): metric = 'cluster{}.upstream_cx_total' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric, disable_legacy_cluster_tag=True) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], ) # Legacy tag assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0), 'cluster_name:{}'.format(tag0)], METRICS[untagged_metric]['method'], )
def test_cluster_dynamic_http(self): metric = 'cluster{}.upstream_rq_time' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_cluster_outlier_detection(self): metric = 'cluster{}.outlier_detection.ejections_enforced_total' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_cluster_health_check(self): metric = 'cluster{}.health_check.healthy' untagged_metric = metric.format('') tags = METRICS[untagged_metric]['tags'] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'])
def test_retry_metric(): metric = "cluster{}.upstream_cx_total" untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'service-foo.default.eu-west-3-prd.internal.a4d363d6-a669-b02c-a274-52c1df12bd41.consul' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric, retry=True) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_http_buffer_filter(self): metric = 'http{}.buffer.rq_timeout' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_cluster_health_check(): metric = 'cluster{}.health_check.healthy' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric, disable_legacy_cluster_tag=True) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_cluster_outlier_detection(): metric = 'cluster{}.outlier_detection.ejections_enforced_total' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric, disable_legacy_cluster_tag=True) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_cluster_load_balancer_subsets(): metric = 'cluster{}.lb_subsets_active' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric, disable_legacy_cluster_tag=True) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_http(self): metric = 'http{}.downstream_cx_total' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_http_rate_limit(): metric = 'cluster{}.ratelimit.ok' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_route_target_cluster' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric, disable_legacy_cluster_tag=True) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_tag_with_dots(self): metric = 'cluster{}.lb_healthy_panic' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'out.alerting-event-evaluator-test.datadog.svc.cluster.local|iperf' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_cluster_load_balancer(self): metric = 'cluster{}.lb_healthy_panic' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_cluster(self): metric = 'cluster{}.upstream_cx_total' untagged_metric = metric.format('') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_name' tagged_metric = metric.format('.{}'.format(tag0)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0)], METRICS[untagged_metric]['method'], )
def test_dynamodb_operation(self): metric = 'http{}.dynamodb.operation{}.upstream_rq_total' untagged_metric = metric.format('', '') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_stat_prefix' tag1 = 'some_operation_name' tagged_metric = metric.format('.{}'.format(tag0), '.{}'.format(tag1)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0), '{}:{}'.format(tags[1], tag1)], METRICS[untagged_metric]['method'], )
def test_ip_tagging(self): metric = 'http{}.ip_tagging{}.hit' untagged_metric = metric.format('', '') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_stat_prefix' tag1 = 'some_tag_name' tagged_metric = metric.format('.{}'.format(tag0), '.{}'.format(tag1)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0), '{}:{}'.format(tags[1], tag1)], METRICS[untagged_metric]['method'], )
def test_http_router_filter_vhost(self): metric = 'vhost{}.vcluster{}.upstream_rq_time' untagged_metric = metric.format('', '') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = 'some_vhost_name' tag1 = 'some_vcluster_name' tagged_metric = metric.format('.{}'.format(tag0), '.{}'.format(tag1)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0), '{}:{}'.format(tags[1], tag1)], METRICS[untagged_metric]['method'], )
def test_http_listener(self): metric = 'listener{}.http{}.downstream_rq_2xx' untagged_metric = metric.format('', '') tags = [tag for tags in METRICS[untagged_metric]['tags'] for tag in tags] tag0 = '0.0.0.0_80' tag1 = 'some_stat_prefix' tagged_metric = metric.format('.{}'.format(tag0), '.{}'.format(tag1)) assert parse_metric(tagged_metric) == ( METRIC_PREFIX + untagged_metric, ['{}:{}'.format(tags[0], tag0), '{}:{}'.format(tags[1], tag1)], METRICS[untagged_metric]['method'], )